最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Starkware技術(shù)架構(gòu)與生態(tài)梳理

2023-05-28 20:16 作者:DoraHacks  | 我要投稿

Hacker?Dōjō Web3前沿技術(shù) workshop文稿

資助金額:120 USDT

Bounty鏈接:https://dorahacks.io/zh/daobounty/159

Workshop回顧:??https://b23.tv/1jY3iMJ

內(nèi)容貢獻(xiàn)者:Maxlion

本項(xiàng)目由Hacker Dōjō 資助,文章轉(zhuǎn)載請注明出處。

??學(xué)習(xí)量子計(jì)算、密碼學(xué)、Space等Web3前沿技術(shù)

??認(rèn)領(lǐng)Bounty,賺取賞金

??參與Hackathon,獲得資助

更多Web3精彩技術(shù)分享盡在Dōjō??

WeChat: @HackerDojo0

StarkWare簡介

StarkEx 和 StarkNet 均為 StarkWare 團(tuán)隊(duì)開發(fā)的項(xiàng)目,前者類似 Iaas,類比應(yīng)用鏈,StarkWare 幫助大型項(xiàng)目開發(fā)專有應(yīng)用 Rollup;后者則是可部署通用應(yīng)用的 Rollup。

StarkWare 主要由世界頂級密碼學(xué)家構(gòu)成,

  • Eli Ben-Sasson:Co-Founder & 首席科學(xué)家,以色列理工學(xué)院計(jì)算機(jī)專業(yè)的教授。Zcash 的創(chuàng)始科學(xué)家,ZK-SNARKs 和 ZK-STARK的發(fā)明者。

  • Alessandro Chiesa:Co-Founder & 首席科學(xué)家,加州大學(xué)伯克利分校計(jì)算機(jī)專業(yè)的教授。Zcash 的創(chuàng)始科學(xué)家,zk-SNARKs 的聯(lián)合發(fā)明者,libsnark 的核心開發(fā)者。

  • Uri Kolodny:Co-Founder & CEO,Uri 是一個(gè)商業(yè)經(jīng)驗(yàn)豐富、善于合作的連續(xù)創(chuàng)業(yè)者。

  • Michael Riabzev:Co-Founder & 首席架構(gòu)師。以色利理工學(xué)院的博士,曾在 Intel、IBM 工作。

  • Oren Katz:工程副總裁。Hebrew 大學(xué)計(jì)算機(jī)專業(yè)畢業(yè),Tel Aviv MBA,20 年經(jīng)驗(yàn)的資深工程師。

截止2023年1月,StarkWare (StarkNet 背后團(tuán)隊(duì))已經(jīng)完成 6 輪融資,共計(jì) 2.73 億美元。尤其是最近一輪融資金額達(dá)到 1 億美元,使其估值翻了兩番,達(dá)到 80 億,是所有 L2 項(xiàng)目中估值最高的。Vitalik 是種子輪投資者,此外,投資方名單中還包括 Paradigm 、紅杉資本 、Pantera Capital 、Founders Fund 等多輪投資者。

參考鏈接:https://mp.weixin.qq.com/s/VthPnsONmW8yywna0QzFQg


StarkEx:專有 ZKR 引擎

簡介

在去年和今年上半年,StarkWare 通過提供擴(kuò)容技術(shù)解決方案 StarkEx 創(chuàng)立了擴(kuò)容即服務(wù)(scaling as a service)的商業(yè)模式,建立應(yīng)用專有網(wǎng)絡(luò),服務(wù)業(yè)內(nèi)頭部客戶 dYdX 、Sorare、ImmutableX、DeversiFi 等。

整體架構(gòu)

工作流包括以下四個(gè)環(huán)節(jié)

  1. 打包交易:鏈下服務(wù)器處理客戶請求,將多個(gè)交易組合成一個(gè)“批次”,供 StarkEx 處理。

  2. 確認(rèn)交易和更新狀態(tài):鏈下服務(wù)器確認(rèn)交易合法,并以被壓縮后的哈希形式更新系統(tǒng)狀態(tài)。

  3. 為交易生成證明:完成上述流程后,SHARP 會為交易生成 STARK 證明以確認(rèn)交易的有效性。然后將證明和更新發(fā)送到鏈上 Verifier 智能合約,以確保交易的完整性。

  4. 鏈上驗(yàn)證證明:一旦STARK證明被驗(yàn)證,狀態(tài)更新被提交并結(jié)算回以太坊主網(wǎng)。所有交易都是在鏈外處理和驗(yàn)證的,而其完整性的證明是在鏈上驗(yàn)證的。

SHARP 是一個(gè)共享證明者,它同時(shí)為多個(gè) StarkEx 客戶/應(yīng)用提供證明生成服務(wù)——生成計(jì)算完整性聲明的證明。

Verifier 是部署在以太坊上的智能合約,用于驗(yàn)證來自 StarkEx 的交易的正確性。

StarkWare Applications

StarkEx 應(yīng)用程序(圖中Exchange)是一系列支持可擴(kuò)展和自我托管交易的應(yīng)用程序,區(qū)分現(xiàn)貨交易和杠桿交易。應(yīng)用包括兩個(gè)組件,智能合約和后端。


標(biāo)準(zhǔn)流程

  1. 用戶發(fā)起交易,交易可以直接與智能合約交互

  2. 每個(gè)交易都有一個(gè)唯一的 id,共同組成一個(gè)交易流,StarkEx 應(yīng)用將交易流傳輸?shù)胶蠖?/p>

  3. 后端將狀態(tài)轉(zhuǎn)換提交給 SHARP,SHARP 為狀態(tài)轉(zhuǎn)換生成證明

  4. SHARP 向驗(yàn)證者合約提交證明并在驗(yàn)證者完成驗(yàn)證后,驗(yàn)證者將之記錄在 Verifier Fact Registry,然后后端將在 StarkEx 智能合約上執(zhí)行狀態(tài)轉(zhuǎn)換。

  5. StarkEx 智能合約檢查狀態(tài)轉(zhuǎn)換是否符合預(yù)定義規(guī)則來確保狀態(tài)轉(zhuǎn)換的有效性(通過驗(yàn)證者合約)。

參考鏈接:https://docs.starkware.co/starkex/index.html

高級概述

如下圖所示,StarkEx 系統(tǒng)旨在接受來自合作伙伴后端的用戶交易。這些交易隨后由 StarkEx 系統(tǒng)進(jìn)行批處理和處理。結(jié)合前面智能合約和后端的介紹,整個(gè) StarkEx 處理交易的過程和職責(zé)分工概述如下。

  1. 前端,StarkEx 客戶支持兩類操作,鏈上和鏈下。前者是標(biāo)準(zhǔn)的以太坊交易,用戶直接通過 StaarkEx 合約進(jìn)行存款取款,后者是通過 StarkEx 引擎執(zhí)行的操作,如 dydx 等。

  2. 訂單驗(yàn)證,由 StarkEx 客戶的后端設(shè)置并進(jìn)行驗(yàn)證。

  3. 業(yè)務(wù)邏輯,客制化 StarkEx 合約(子合約)來支持客戶業(yè)務(wù)邏輯

  4. 交易流,傳輸?shù)?StarkEx 的所有交易都使用稱為 tx_ids 的連續(xù)標(biāo)識符進(jìn)行驗(yàn)證和索引,類似 nonce 的做法,

  5. 交易發(fā)送方,一旦 StarkEx 網(wǎng)關(guān)確認(rèn)交易正確就會保證執(zhí)行它(不是真的立即執(zhí)行),并且將在前端提前顯示給用戶,而不是等待鏈上最終確定。

  6. 錯誤處理,如果檢測到無效交易,StarkEx 系統(tǒng)將會向客戶的專業(yè)端點(diǎn)報(bào)告錯誤,客戶將會以另外的要執(zhí)行的交易列表來代替無效交易,如空列表等。

  7. 批處理審核,任何批次在鏈上傳輸之前可以被客戶審核,如果和預(yù)期狀態(tài)轉(zhuǎn)換和不一致,客戶可以不批準(zhǔn)或者回滾。

  8. 抗審查,如果客戶審查用戶請求,StarkEx 允許用戶直接通過StarkEx 合約執(zhí)行操作,客戶必須在規(guī)定時(shí)間內(nèi)向用戶提供它,否則 StarkEx 合約將會凍結(jié)。

參考文檔:https://docs.starkware.co/starkex/architecture/overview-architecture.html


StarkNet:通用 ZKR

簡介

不同于為不同的應(yīng)用定制 ZK Rollup 的 StarkEx,StarkNet 是一個(gè)通用的 ZK Rollup,開發(fā)者可在 StarkNet 上部署應(yīng)用。

基本介紹

在以太坊上,每提交一筆交易都需要所有節(jié)點(diǎn)檢查、驗(yàn)證并執(zhí)行交易來保證計(jì)算正確性,并將計(jì)算后的狀態(tài)變化在網(wǎng)絡(luò)中廣播。


以太坊虛擬機(jī) (EVM) | ethereum.org ??https://ethereum.org/zh/developers/docs/evm/

介紹以太坊虛擬機(jī)及其與狀態(tài)、交易和智能合約的關(guān)系。

StarkNet 僅在鏈下執(zhí)行計(jì)算并生成一個(gè) ZK 證明,然后在鏈上驗(yàn)證該證明的正確性,最后把多個(gè) L2 交易打包為以太坊上的一筆交易。因此,StarkNet 上發(fā)生的交易成本可以被同一打包批次的其他交易所均攤,就像拼車一樣,交易越多,成本越低。

除此之外,相比以太坊讓每個(gè)節(jié)點(diǎn)完整執(zhí)行交易的方法,StarkNet 為交易生成 ZK 證明的方法可以大大提高網(wǎng)絡(luò)運(yùn)行速度、減少鏈上通信量、增加網(wǎng)絡(luò)吞吐,因此 StarkNet 相比以太坊具有更高 TPS 和更低 Gas。

簡而言之,將驗(yàn)證計(jì)算正確性比喻為老師需要檢查同學(xué)們是不是掌握了知識。以太坊的方法是檢查每個(gè)同學(xué)是否能背誦整本教科書,而 StarkNet 的方法是讓同學(xué)們做卷子。后者的效率更高,成本更低,但仍然保證安全。


EVM 兼容

StarkNet 網(wǎng)絡(luò)本身不兼容?EVM?,而設(shè)計(jì)了另外一套?ZK?友好的 Cairo?VM?。

StarkNet 沒有和 Hermez 和 Scroll 一樣針對以太坊操作碼做 ZK 電路,而是自己做了一套更加 ZK 友好的匯編語言、AIR(代數(shù)中間表示) 以及高級語言 Cairo。

zkEVM總覽 Part1

https://youtu.be/SEp5SFaYQHY

StarkNet 屬于 Vitalik 定義的 type 4 級別——語言兼容的 zkEVM(StarkNet由于定制了虛擬機(jī)嚴(yán)格來講屬于zkVM)。


The different types of ZK-EVMs ??https://vitalik.eth.limo/general/2022/08/04/zkevm.html

盡管 StarkNet 本身不兼容?EVM?,但 StarkNet 仍然可以通過其他方式兼容以太坊。

1、Warp:將 Solidity 轉(zhuǎn)譯為 Cairo 語言的轉(zhuǎn)譯器。??https://github.com/NethermindEth/warp

Warp 是一個(gè) Solidity-Cairo 轉(zhuǎn)譯器,目前已經(jīng)由以太坊著名基礎(chǔ)設(shè)施團(tuán)隊(duì)?Nethermind?1?開發(fā)完成。Warp 可以把 Solidity 代碼轉(zhuǎn)譯為 Cairo,但轉(zhuǎn)譯后的 Cairo 程序往往需要修改并增添 Cairo 特性(如調(diào)用內(nèi)置函數(shù),優(yōu)化內(nèi)存等)才能最大化執(zhí)行效率。

2、Kakarot:一個(gè)用 Cairo 語言編寫的 zkEVM。??https://twitter.com/KakarotZkEvm

Kakarot 是一個(gè)用 Cairo 寫的智能合約,目前部署在 Starknet(goerli測試網(wǎng))上,字節(jié)碼等效 EVM。目前處于測試階段。以太坊應(yīng)用可以通過部署到 Kakarot 的方式移植到 StarkNet。

  • Kakarot 可以:(a) 執(zhí)行任意 EVM 字節(jié)碼,(b) 按原樣部署 EVM 智能合約,(c) 調(diào)用 Kakarot 部署的 EVM 智能合約的功能(視圖和寫入方法)。

  • Kakarot 是一個(gè) EVM 字節(jié)碼解釋器。

目前已經(jīng)支持 EVM 全部操作碼。


GitHub - kkrt-labs/kakarot: ZK-EVM type 2.5 written? in?Cairo,leveraging...??https://github.com/kkrt-labs/kakarot

工作原理

組成部分

StarkNet 有五個(gè)組成部分。分別是在 StarkNet 上的 Prover(證明者),Sequencer(排序器)和全節(jié)點(diǎn);以及部署在以太坊上的驗(yàn)證者(Verifier)和核心狀態(tài)合約(StarkNet Core)。

StarkNet’s Architecture Review

??https://david-barreto.com/starknets-architecture-review/#more-4602

  1. 當(dāng)我們在 StarkNet 上發(fā)起一個(gè)交易,一個(gè)鏈下服務(wù)器——排序器將會接收、排序、驗(yàn)證,并將它們打包到區(qū)塊。執(zhí)行交易,然后狀態(tài)轉(zhuǎn)換發(fā)送給 StarkNet Core 合約;

  2. 證明者將為交易生成證明,并發(fā)送給以太坊的驗(yàn)證者合約;

  3. 驗(yàn)證者將驗(yàn)證結(jié)果發(fā)送到以太坊上的 StarkNet Core 合約,并從 StarkNet Core 合約觸發(fā)一組新的以太坊交易,以更新鏈上的全局狀態(tài)以進(jìn)行記錄保存。狀態(tài)事務(wù)作為“calldata” (EIP-4844后為Blob)來發(fā)送,以節(jié)省 L1 事務(wù) gas。這些“metadata”可被 StarkNet 全節(jié)點(diǎn)解密。

全節(jié)點(diǎn)基本發(fā)揮存儲功能。全節(jié)點(diǎn)存儲狀態(tài)改變、元數(shù)據(jù)、證明以及記錄在 StarkNet 中的已被執(zhí)行的所有事務(wù),并跟蹤系統(tǒng)的當(dāng)前全局狀態(tài)。在有必要的時(shí)候,全節(jié)點(diǎn)將解密“metadata”來重構(gòu) StarkNet 的歷史。

參考 StarkNet 開發(fā)倡導(dǎo)者?@barretodavid?寫的《StarkNet’s Architecture Review》??https://david-barreto.com/starknets-architecture-review/#more-4602。

瀏覽器?https://testnet.starkscan.co/,L2?1?動態(tài)出塊,以太坊一小時(shí)結(jié)算

賬戶抽象與交易模型

不同于以太坊 EOA+CA 的雙賬戶設(shè)計(jì),StarkNet 實(shí)現(xiàn)了原生賬戶抽象,只有一種賬戶設(shè)計(jì),借鑒了 EIP 4337 的精神,下圖為交易模型,


StarkNet Account Abstraction Model - Part 1

??https://community.starknet.io/t/starknet-account-abstraction-model-part-1/781

原生賬戶抽象為賬戶可編程打開大門,StarkNet 的開發(fā)倡導(dǎo)者@barretodavid?提到 StarkNet 上實(shí)現(xiàn)手機(jī)硬錢包的思路。??https://twitter.com/barretodavid/status/1563584823884935168

  1. 以太坊上的 EOA 僅支持 Secp256k1 橢圓曲線上的簽名方案 ECDSA

  2. 大部分的智能手機(jī)都不支持以太坊的橢圓曲線。

  3. 所以移動錢包需要依靠軟件簽署交易,移動錢包因此是熱錢包。

  4. StarkNet 原生賬戶抽象,支持多種橢圓曲線,簽名驗(yàn)證高度可編程,因此基于 StarkNet/Cairo 的手機(jī)錢包完全可以變成硬錢包。

Cairo 已經(jīng)有一個(gè)nistp256(用于智能手機(jī)Secure Enlave)的實(shí)現(xiàn)


GitHub - spartucus/nistp256-cairo: A cairo implementation of NIST P-256.?

??https://github.com/spartucus/nistp256-cairo

簡單來講就是直接調(diào)用手機(jī)的加密模塊來對交易進(jìn)行“硬簽名”。


STARK

目前有許多不同的證明系統(tǒng)(生成和驗(yàn)證證明) ,如 Halo、PLONK、Groth16、Groth09?、Marlin、Plonky2 等,它們都屬于 SNARK 證明系統(tǒng)。證明系統(tǒng)存在一個(gè)證明者生成證明,一個(gè)驗(yàn)證者驗(yàn)證證明。而不同的 ZK 項(xiàng)目幾乎都會使用不同的證明系統(tǒng),StarkNet 使用的 STARK 某種意義上屬于一種特別的 SNARK 。

STARK 相比 SNARK 有更多創(chuàng)新。它不需要和 SNARK 一樣依賴“可信設(shè)置”。它還帶有更簡單的密碼學(xué)假設(shè),避免了對橢圓曲線、配對和指數(shù)知識假設(shè)的需要,純粹依賴哈希和信息論,因此抗量子攻擊。總體來講 STARK 比 SNARK 更安全。

在擴(kuò)展性方面,STARK 的擴(kuò)展性更強(qiáng)。證明生成速度具備線性擴(kuò)展性,驗(yàn)證時(shí)間和證明大小具備對數(shù)擴(kuò)展性。但缺點(diǎn)在于生成的證明尺寸更大。但隨著證明規(guī)模增加,驗(yàn)證成本將會邊際遞減——這意味證明越大,總成本越低。


Zero-Knowledge Proofs: STARKs vs SNARKs | ConsenSys?

??https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/

總結(jié):相比 SNARK,STARK 更安全,平均驗(yàn)證時(shí)間和證明大小將隨著驗(yàn)證規(guī)模擴(kuò)大而降低,缺點(diǎn)在于初始證明尺寸更大,因此更適合大規(guī)模應(yīng)用。


擴(kuò)展性詳解

證明時(shí)間線性擴(kuò)展:證明人花費(fèi)的時(shí)間與哈希調(diào)用的數(shù)量呈近似線性關(guān)系。

在 80 比特的安全級,STARK 每 12288 次哈希調(diào)用的證明者執(zhí)行時(shí)間為 1 秒,得 12288次/S;而每 98304 次哈希調(diào)用需要 10 秒,得 9830次/S,因此,我們可以知道 STARK 的證明時(shí)間和哈希調(diào)用基本呈近似線性關(guān)系。如下圖所示

582.pdf?3

??https://eprint.iacr.org/2021/582.pdf

驗(yàn)證和證明大小對數(shù)擴(kuò)展:驗(yàn)證時(shí)間(與證明大?。┡c哈希調(diào)用呈現(xiàn)對數(shù)關(guān)系。如下圖所示:

左圖可以看出,當(dāng)哈希調(diào)用從 3072 增加到 49152,驗(yàn)證時(shí)間從 40 毫秒增加到 60 毫秒。而當(dāng)哈希調(diào)用從 49152 增加到 786432,驗(yàn)證時(shí)間僅從 60 毫秒增加到 80 毫秒。 證明大小同理。因此,我們可得知,哈希調(diào)用次數(shù)越多,平均驗(yàn)證時(shí)間越短,平均證明大小也會更?。ㄕ{(diào)用哈希生成哈希值/證明)。


遞歸證明

任何通用的、簡潔的知識系統(tǒng)的證明/論證(特別是STARKs) 都可以用來遞增地驗(yàn)證計(jì)算。這意味著一個(gè)計(jì)算可以產(chǎn)生一個(gè)證明,以證明該計(jì)算的前一個(gè)實(shí)例的正確性,這個(gè)概念被非正式地稱為 “遞歸證明組合"或者"遞歸STARKs”。

換句話說,一個(gè)遞歸 STARK 證明者可為一個(gè)陳述生成一個(gè)證明,即系統(tǒng)的狀態(tài)可以從 a 移到 a+1。因?yàn)樽C明者已經(jīng)驗(yàn)證了一個(gè)證實(shí) a 的計(jì)算完整性的(遞歸)證明,并且忠實(shí)地執(zhí)行了狀態(tài) a 的計(jì)算,達(dá)到了新的狀態(tài) a+1。簡而言之,你可以理解該過程將 a 和 a+1 兩個(gè)證明合并為了一個(gè)證明。如下圖所示:

Recursive STARKs

??https://medium.com/starkware/recursive-starks-78f8dd401025

Cairo VM:驗(yàn)證計(jì)算正確性

Cairo VM 概述

有時(shí)候也通過 StarkNet OS/Cairo OS 的方式出現(xiàn),是一個(gè)東西,不同于 EVM 執(zhí)行計(jì)算,Cairo VM 本身僅為計(jì)算生成證明并驗(yàn)證正確性。

Cairo VM 是一個(gè)是一個(gè)采用馮諾依曼架構(gòu)的 CPU VM,其編程語言也叫 Cairo,Cairo 語言基于 Cairo 匯編,因此編譯效率非常高。 Cairo 是?CPU?Algebraic?Intermediate?Representation (代數(shù)中間表達(dá))的首字母縮寫。Cairo VM 包含單個(gè) AIR 來驗(yàn)證這個(gè) 「CPU」 的指令集。

關(guān)于工作方式,它根據(jù)收到的輸入的交易來更新系統(tǒng)的 L2 狀態(tài)。促進(jìn)(基于Cairo的)StarkNet 合約的執(zhí)行。操作系統(tǒng)是基于Cairo的,本質(zhì)上是使用 STARK 證明系統(tǒng)對其輸出進(jìn)行證明和驗(yàn)證的程序。StarkNet 合約可用的具體系統(tǒng)操作和功能可作為對操作系統(tǒng)的調(diào)用。

Cairo 語言概述

Cairo 是 StarkNet 的智能合約語言,基于 STARK 設(shè)計(jì),Cairo 程序可生成 STARK 證明。


Cairo 程序是匯編代碼的集合,Cairo 開發(fā)人員將以高級語言 Cairo 來編寫智能合約而非 Cairo 匯編。當(dāng)我們寫了一個(gè) Cairo 程序,Cairo 編譯器會將 Cairo 代碼編譯成 Cairo 匯編,Cairo 匯編器將采用匯編代碼生成 Cairo 字節(jié)碼(它運(yùn)行在 Cairo CPU)以在 Cairo VM 執(zhí)行,當(dāng)他最終運(yùn)行到真實(shí)機(jī)器上還需要編譯為操作碼和機(jī)器代碼(還有指令)。

非確定性計(jì)算

Cairo 程序的目標(biāo)是驗(yàn)證某些計(jì)算是正確的,因此可以相比那些確定性計(jì)算走捷徑。它意味著為了證明一個(gè)計(jì)算,驗(yàn)證者可以做一些不屬于計(jì)算的額外工作。

例如,證明x=961的平方根y是在0,1,…,100的范圍內(nèi)。直接的方法是寫一個(gè)復(fù)雜的代碼,從 961 開始,計(jì)算它的根,并驗(yàn)證這個(gè)根是否在所要求的范圍內(nèi)。

偽代碼如下:

猜測y的值(這是不確定的部分)。 計(jì)算y2并確保其結(jié)果等于x。 驗(yàn)證y是否在范圍內(nèi)。

并且,如果我們采取以下的計(jì)算方式。

Y = SQRT(X)

我們可以改為計(jì)算如下(非確定性計(jì)算)。

Y*Y=X

我們可以看到,有兩種可能的解決方案。+Y和-Y,而且有可能只有其中一個(gè)能滿足其余的指令。

這意味著,如果沒有一些額外的信息,一些開羅程序(如上述)是無法有效執(zhí)行的。這種信息由我們稱之為提示的東西提供。提示是 Cairo Runner 的特殊指令;用于解決不能輕易推導(dǎo)出數(shù)值的非確定性問題。理論上,提示可以用任何編程語言編寫。在當(dāng)前的Cairo實(shí)現(xiàn)中,提示是用 Python 寫的。

關(guān)于確定性和非確定虛擬機(jī),witness

Cairo 在這里其實(shí)也會涉及到有確定性的 Cairo VM 和非確定性的 Cairo VM。前者就是正經(jīng)的 zkVM,證明和驗(yàn)證;后者用于非確定性計(jì)算。

  • an accepting input to the Cairo deterministic machine, that constitutes the witness to the nondeterministic machine.

Cairo 確定性 VM 的一個(gè)可接受的輸入構(gòu)成了非確定性 VM 的 witness,ZKP 需要將 witness 作為輸入輸出 proof。 (NP 語句的 witness 見證是一條信息,可讓您有效地驗(yàn)證該語句是否真實(shí)。例如,如果聲明某個(gè)圖中存在哈密頓環(huán),則見證就是這樣的環(huán)。給定一個(gè)環(huán),可以有效地檢查它是否是一個(gè)有效的哈密頓環(huán),但是找到這樣的環(huán)很困難)

是一個(gè)并行狀態(tài)機(jī)。

內(nèi)存模型:只讀非確定性

只讀的非確定性內(nèi)存,這意味著每個(gè)內(nèi)存單元的值由證明者選擇,它不能隨時(shí)間改變(在 Cairo 程序執(zhí)行期間),是不可變的。該指令只能從中讀取。我們可以將之視為一次寫入的存儲器:可以向一個(gè)單元寫一次值,但事后不能改變它。

而且它是連續(xù)的,如果有空會被任意值填充。


ROM 優(yōu)點(diǎn)包括

  • 低成本,電路比 RAM 更簡單

  • 永存儲,

  • 不可篡改,數(shù)據(jù)不能修改和刪除

內(nèi)置函數(shù):減少代碼編譯

開發(fā)者直接調(diào)用內(nèi)置函數(shù)可以減少計(jì)算開銷,優(yōu)化開發(fā)體驗(yàn),而不需要代碼轉(zhuǎn)換。添加內(nèi)置函數(shù)不會影響 CPU 約束。這只是意味著相同的內(nèi)存在 CPU 和內(nèi)置函數(shù)之間共享,如圖所示。

Demystifying Cairo White Paper?—?Part I?
??https://medium.com/@pban/demystifying-cairo-white-paper-part-i-b71976ad0108

Cairo 體系結(jié)構(gòu)沒有指定一組特定的內(nèi)置函數(shù)。可以根據(jù)需要在 AIR (代數(shù)中間表示)中添加或刪除內(nèi)置函數(shù)。

CPU 架構(gòu):靈活

更加靈活,可以通過軟件編程的方式無限接近 AISC 的性能(所以Cairo會做CPU?)。以 Cairo 復(fù)刻其他虛擬機(jī)。

啟動加載:從哈希加載程序

程序可以將另一個(gè)程序字節(jié)碼寫入內(nèi)存,并讓 Program Counter 指向該內(nèi)存段,然后運(yùn)行該程序。 一個(gè)從哈希啟動加載的用例是,一個(gè)被稱為啟動加載器的程序計(jì)算并輸出另一個(gè)程序的字節(jié)碼,然后像之前一樣開始執(zhí)行它。這樣驗(yàn)證者只需要知道程序的哈希而非完整字節(jié)碼。 這有兩個(gè)好處:

  1. 可擴(kuò)展性,驗(yàn)證時(shí)間和程序大小呈現(xiàn)對數(shù)關(guān)系,正如 STARK 部分提到的。

  2. 隱私性,驗(yàn)證者可以驗(yàn)證程序是否正確執(zhí)行而無需知道計(jì)算。

連續(xù)記憶:連續(xù)訪問內(nèi)存地址

Cairo 有一個(gè)技術(shù)要求,程序訪問的內(nèi)存地址必須是連續(xù)的。例如,如果訪問地址 7 和 9,那么在程序結(jié)束之前也必須訪問 8(訪問順序無關(guān)緊要)。如果地址范圍中存在小間隙,證明者將自動用任意值填充這些地址。通常,存在這樣的間隙是低效的,因?yàn)檫@意味著內(nèi)存在未被使用的情況下被消耗。引入太多的漏洞可能會使證明的生成對于誠實(shí)的證明者來說過于昂貴而無法執(zhí)行。然而,這仍然沒有違反可靠性保證——無論如何都不會產(chǎn)生錯誤的證明。


StarkNet 生態(tài)

盤點(diǎn) StarkNet 生態(tài) ??https://h0m83hhc6r.feishu.cn/docx/doxcnS3GGdXXc1PzKh9uTgTR73c

全鏈游戲

全鏈游戲——生產(chǎn)效率+消費(fèi)體驗(yàn)的變革,基本上,有思考(各個(gè)機(jī)構(gòu)和團(tuán)隊(duì)的文章),有實(shí)踐(鏈上游戲項(xiàng)目和黑客松),有資金(融資和grant),最重要的是有一個(gè)富有活力的開發(fā)者社區(qū)。

1. Matchbox DAO ??https://mirror.xyz/matchboxdao.eth

2. The Future of On-Chain Gaming ??https://volt.capital/blog/the-future-of-on-chain-gaming

3. Game 2.0 ??https://www.guiltygyoza.xyz/2022/07/game2

重點(diǎn)推薦 Topology 團(tuán)隊(duì),Lootreamls 。

合約錢包

合約錢包變成硬錢包的實(shí)現(xiàn)方法有兩種。

  1. 共識層支持手機(jī)硬件。在 StarkNet(編程語言Cairo)這樣原生賬戶抽象的 L2 上,支持多種橢圓曲線,而不是和以太坊一樣只支持 ECDSA(Secp256k1),因此可以讓手機(jī)的加密芯片/模塊直接對交易簽名(大部分手機(jī)不支持ECDSA)。因此,在原生賬戶抽象的 L2 上,合約錢包可以和硬錢包一樣直接通過硬件簽署交易。

  2. 錢包層進(jìn)行簽名轉(zhuǎn)錄。在以太坊這樣非原生賬戶抽象的網(wǎng)絡(luò)上,合約錢包可以簽名轉(zhuǎn)錄。像 EIP-4337 可以自定義驗(yàn)證邏輯,用戶用手機(jī)硬件支持的算法簽名后再轉(zhuǎn)換為以太坊支持的 ECDSA。

StarkNet 的開發(fā)倡導(dǎo)者@barretodavid,提到的在 StarkNet 上實(shí)現(xiàn)手機(jī)硬錢包的思路。

  1. 以太坊上的 EOA 僅支持 Secp256k1 橢圓曲線上的簽名方案 ECDSA

  2. 大部分的智能手機(jī)都不支持以太坊的橢圓曲線。

  3. 所以移動錢包需要依靠軟件簽署交易,移動錢包因此是熱錢包。

  4. StarkNet 原生賬戶抽象,支持多種橢圓曲線,簽名驗(yàn)證高度可編程,因此基于 StarkNet/Cairo 的手機(jī)錢包完全可以變成硬錢包。

Cairo 已經(jīng)有一個(gè)[nistp256](<https://github.com/spartucus/nistp256-cairo>)(用于智能手機(jī)Secure Enlave)的實(shí)現(xiàn)。

合約錢包+全鏈游戲的耦合,開辟了錢包+DeFi 之外的新場景。Argent、Cartridge.gg 正在做。

鏈上AI

目前有 2 個(gè)機(jī)器學(xué)習(xí)項(xiàng)目,ML 平臺 Giza 和 鏈上交易機(jī)器人(Rockybot by ModulusLabs)StarkNet 中文群還有另外一個(gè)。

1. Modulus Labs ??https://www.moduluslabs.xyz/

2. Giza - Machine Learning in the Blockchain ??https://gizatech.xyz/

3. StarkNet decentralization : Kicking off the discussion ??https://community.starknet.io/t/starknet-decentralization-kicking-off-the-discussion/711

Giza -?Fully on-chain Artificial Intelligence powered by ZK proofs??https://mirror.xyz/gizatech.eth/hmF9gPciwBUyD_v5eCuEpyBxbaT78vDoYg2SMskNTk8

總結(jié)下?StarkNet 與 AI+ML 為何如此登對?ZKP 允許 AI ML 鏈下計(jì)算,將生成證明交由他人驗(yàn)證。

應(yīng)用范圍包括:游戲、預(yù)言機(jī)、交易(自動收益)、反女巫、KYC、數(shù)據(jù)隱私;AI 模型算力挖礦。

??關(guān)于Dorahacks
DoraHacks 是一個(gè)全球范圍內(nèi)的極客運(yùn)動、全球黑客馬拉松組織者,也是全球最活躍的多鏈 Web3 開發(fā)者平臺之一。DoraHacks.io平臺使得世界各地的Hacker和開源開發(fā)者可以參與黑客馬拉松、Bounty、Grant、Grant DAO,以及公共物品質(zhì)押等加密原生協(xié)議和基礎(chǔ)設(shè)施進(jìn)行協(xié)作并獲得資助。到目前為止,DoraHacks 社區(qū)的 4000 多個(gè)項(xiàng)目已經(jīng)獲得了來自全球行業(yè)支持者超過 3000 萬美元的資助。大量開源社區(qū)、DAO 和 超過50個(gè)主要區(qū)塊鏈生態(tài)系統(tǒng)正在積極使用 Dora 的基礎(chǔ)設(shè)施(DoraHacks.io)進(jìn)行開源融資和社區(qū)治理。

??關(guān)于Dorahacks DAO Bounty
Dorahacks DAO Bounty,為各類DAO和組織賦能!
Bounty計(jì)劃為DAO和組織提供了一個(gè)強(qiáng)大的平臺,通過社區(qū)激勵的形式,發(fā)布問題,協(xié)調(diào)任務(wù),鼓勵用戶積極參與。
作為Bounty發(fā)布者,您可以根據(jù)我們的指南,發(fā)布社區(qū)相關(guān)的懸賞任務(wù),解決問題的同時(shí),提升社區(qū)活躍度:https://dorahacks.io/blog/guides/publish-a-bounty/
作為賞金獵人,您可以在DAO Bounty計(jì)劃中發(fā)揮自己的專長和能力,認(rèn)領(lǐng)懸賞,解決問題,獲得酬金:https://dorahacks.io/daobounty

??關(guān)于Hacker Dōjō
Hacker Dōjō是由Hacker共建的加密、Web3前沿技術(shù)開源知識社區(qū)。Dōjō會以直播/音頻/文字等形式定期組織分享session,內(nèi)容包括Web3領(lǐng)域前沿技術(shù)論文解讀、技術(shù)研討、工作坊、技術(shù)領(lǐng)袖研討會等。歡迎在Hacker Dōjo社區(qū)討論、學(xué)習(xí)和交流:Dora Dōjo - Dora Community Forum: https://community.dorahacks.io/c/buidl-dorahacks-io/6

目前Hacker Dōjō已分享的主題有:

加入Dōjō的Hacker可以提出自己的學(xué)習(xí)期望,主動提案自己擅長的技術(shù)話題,由Dōjō組織分享。同時(shí),Hacker Dōjō推出Web3前沿課題研究計(jì)劃,定期選題,由Hacker進(jìn)行研究和講解,并以bounty形式獎勵研究貢獻(xiàn)者。歡迎各位Hacker認(rèn)領(lǐng)Bounty:https://dorahacks.io/zh/daobounty

聯(lián)系我們:

Telegram:?@DoraDojo0

WeChat:?@HackerDojo0

E-mail:?hackerdojo0@gmail.com

Starkware技術(shù)架構(gòu)與生態(tài)梳理的評論 (共 條)

分享到微博請遵守國家法律
云龙县| 东乌珠穆沁旗| 彰化县| 昌黎县| 太白县| 南丰县| 沾化县| 北流市| 巩义市| 敖汉旗| 衡南县| 永善县| 平利县| 剑川县| 清涧县| 保德县| 珲春市| 龙岩市| 湖州市| 彭水| 太白县| 文化| 芜湖市| 化隆| 仙居县| 封开县| 澄城县| 蓬溪县| 绵阳市| 葵青区| 黄浦区| 横山县| 察哈| 鸡泽县| 浦北县| 临泉县| 潜山县| 威信县| 黑水县| 夏津县| 浮山县|