原文標題:zkEVMs: The Future of Ethereum Scalability
原文作者:Christine Kim
原文來源:galaxy
編譯:Lynn,Marsbit
簡介
零知識以太坊虛擬機(zkEVM)是一項雄心勃勃、改變游戲規則的技術,可以在短期和長期內提高以太坊的可擴展性。今年,三個主要的以太坊擴展項目——zkSync、Polygon 和 Scroll——分別宣布了其 zkEVM 實現的重大發展,其中許多項目在今年的早期 alpha 階段推出,而如今則作為自己獨立的 L2 區塊鏈運作。隨著時間的推移,zkEVM 有可能直接從以太坊的基礎層中操作。
作為背景,zkEVM 是可以執行與以太坊虛擬機(EVM)相同的高級編程語言或低級字節碼的虛擬機,并使用零知識證明(ZKP)來證明這段代碼。零知識證明是在不透露數據本身的任何信息,如其屬性或內容的情況下驗證數據的加密證明。早在 1982 年,計算機科學家 Goldwasser、Micali 和 Rackoff(Silvio Micali 是 Algorand 區塊鏈的創始人)就將 ZKP 作為一個概念首次引入。ZKP 經常與同態加密相混淆,同態加密是密碼學的另一個分支,允許對加密數據進行操作而不需要解密。同態加密方案于 1978 年由 Rivest、Adleman 和 Dertouzos 首次提出,并一直是實現云計算和存儲的關鍵技術之一。值得注意的是,同態加密也被用于一些公共區塊鏈協議,如隱私幣 Grin,以混淆交易金額。
在過去的 40 年里,計算機科學家已經發明了幾種安全有效地生成 ZKP 的算法,算法大致可分成兩類:可擴展的透明知識論證(STARK)或簡潔的非交互式知識論證(SNARK)。這些算法已被開發用于大量的用例,包括核裁軍、身份認證系統,以及最近通過公共區塊鏈和加密貨幣的出現實現區塊鏈的可擴展性。具體到以太坊,許多開發者認為 ZKP 是擴展的“圣杯”,因為與驗證交易數據的其他加密方案相比,ZKP 具有簡潔和容易驗證的特點。難以構建或破解但簡單驗證是加密協議開發者的共同目標,因為允許廣泛和有效的分發。
對于零知識系統的所有好處,它們是出了名的難以歸納和應用于證明任意復雜度的代碼。構建 ZKP 以原生支持和證明以太坊區塊鏈上的所有類型的交易活動,在過去幾年中一直是開發人員的一項持續研究計劃。直到 2021 年 11 月,Starkware 才推出第一個通用的 ZK 系統,用于證明基于以太坊的交易。這是通過 Starkware 團隊創建一個被稱為 Cairo 的定制編程語言實現的。然而,最近,在 2022 年 7 月,三個不同的基于以太坊的 L2 協議——zkSync、Polygon 和 Scroll——宣布在利用 ZKP 擴展以太坊方面取得突破,其形式是 zkEVMs.
注:雖然俗稱 zkEVM,但這些虛擬機并不利用 ZKP 的隱私優勢,而完全受益于 ZKP 的安全和效率優勢。因此,這些類型的虛擬機更準確的名稱是有效性證明生成的 EVM,但為了本報告的目的,本文將繼續使用其更流行的名稱 zkEVM 來說明。
本報告旨在讓讀者熟悉 zkEVM 的一般概念,以及檢查在以太坊上開發的各種實現。由于 zkEVM 是一個高級話題,本報告首先簡要介紹了以太坊網絡的現狀,并通過介紹區塊生產、 EVM 和 rollup 等核心概念,為理解 zkEVM 奠定了基礎。然后,我們將總結以太坊上可能存在的不同類型的 zkEVM,并比較目前生產中的 5 種主要 zkEVM 實現方式。然后,我們將強調這一新生技術在實施中面臨的挑戰,以及我們對 zkEVM 在一段時間內的競爭格局的展望。總的來說,zkEVM 仍然處于以太坊發展和采用的早期階段,盡管它們成為 L2 區塊鏈和最終以太坊協議本身的首選擴展技術的潛力很大。
以太坊的現狀
在深入了解 zkEVM 的復雜性之前,首先要高屋建瓴地了解以太坊上的交易是如何被納入區塊的。
區塊鏈生產
當用戶向以太坊提交新的交易時,連接到網絡的計算機,也稱為節點,將交易存儲在一個稱為 mempool 的本地數據結構中,負責維護一個未確認交易的列表。然后,操作節點并將 32 ETH 的增量作為抵押品押給網絡的驗證者被隨機選中,將 mempool 中的交易批量化并處理成塊。被選來向以太坊區塊鏈添加新區塊的驗證者有時被稱為“提議者”。一些提議者在構建區塊時,會依靠第三方區塊構建者,而不是他們的本地 mempool,以獲得最大可提取價值(MEV)的額外獎勵。關于 MEV 的更多信息,請閱讀這份 Galaxy 研究報告。
區塊是按順序組織的,并通過父哈希值,即前一個區塊的頭哈希值連接在一起。每個區塊都包含其父區塊的前一個哈希值,將區塊鏈在一起,形成區塊鏈的數據結構。區塊通過父哈希值的鏈接顯示在下圖中:
直到 2022 年 9 月 15 日,以太坊依靠工作證明(PoW)共識機制,礦工不是驗證者,而是負責區塊生產,礦工不是消耗大量資本,而是需要消耗大量電力來處理用戶交易。關于 PoS 對以太坊的影響的全面分析,請在這里閱讀 Galaxy 的 Merge 研究匯編。
談到以太坊區塊鏈在 PoW 和 PoS 共識協議下缺乏可擴展性,其根源在于區塊空間有限的問題。區塊空間在以太坊上是以 gas 為單位衡量的。需要更多計算努力才能執行的交易通常以較高的 gas 單位定價,而計算成本較低(即資源密集度較低)的交易的 gas 成本較低。gas 通過以太坊網絡自動設置的動態gas 費率(稱為基本費)轉換成 ETH. 以太坊協議限制了區塊,因此它們最多只能包含 3000 萬單位的 gas. 這種最大的區塊 gas 限制保留了快速的區塊傳播時間,并減少了鏈分裂的風險。關于以太坊的收費動態的更多信息,請閱讀這份 Galaxy 研究報告。
數據:Polygon zkEVM交易筆數突破100萬筆:6月16日消息,Polygon創始人Sandeep Nailwal發推稱,Polygon zkEVM交易筆數已突破100萬筆。另據L2Beat數據顯示,當前Polygon zkEVM鎖倉量達到3456萬美元,創下新高。[2023/6/16 21:41:42]
以太坊虛擬機
一旦交易被包含在以太坊的區塊中,這些交易就會通過一個被稱為以太坊虛擬機(EVM)的自定義運行環境來執行。EVM 被設計用來在以太坊上部署任意復雜度的代碼。這基本上是使以太坊成為通用區塊鏈的原因,有時也被稱為[圖靈完備](https://en.wikipedia.org/wiki/Turing_completeness#:~:text=In colloquial usage%2C the terms,purpose computer or computer language.)系統。
EVM 執行事務的方式是有規則的。首先,EVM 將人類可讀的編程語言如 Solidity 和 Yul 編譯成面向機器的或“低級”的語言,稱為 EVM 字節碼。然后,EVM 將字節碼解析成一系列被稱為“操作碼”的連續指令。每個操作碼命令 EVM 執行一個不同的任務,在 EVM 字節碼中以十六進制的形式表示。例如,當智能合約在鏈上執行時,命令 EVM 保持瞬時數據的操作碼在記憶上表示為“MSTORE”,在十六進制形式中表示為“0×52”。為了幫助讀者了解操作碼的概念,以下是以太坊黃皮書中定義的簡單操作碼的快照:
多年來,以太坊的開發人員已經為 EVM 增加了新的操作代碼。他們還增加了預編譯,為用戶提供了在網絡上執行更高級操作的能力,如散列函數和標量乘法。作為同類的第一個運行環境,EVM 已被廣泛采用,成為通用公共區塊鏈上智能合約部署的標準。然而,作為同類的第一個技術,EVM 確實擁有設計上的局限性,其中與本報告最相關的是 EVM 與 ZKP 缺乏兼容性。
一路滾動
為了提高以太坊的可擴展性,有幾個 L2 網絡將交易執行從基礎層抽象到 rollup. Rollup 壓縮交易數據,使得向基礎層提交一批交易所需的區塊空間大大低于通過鏈上的 mempool 單獨確認這些交易。相較于驗證者或礦工,rollup 由被稱為“排序者”的網絡運營商操作。排序器負責驗證 rollup 的狀態轉換。他們是將用戶交易捆綁成一個 rollup 批次的實體,然后將這批交易的證明提交給以太坊的基礎層。下面這張圖說明了排序器在 rollup 中的作用:
關于以太坊二級生態系統的全面概述,請閱讀這份 Galaxy 研究報告。
Rollup 不同于以太坊上的其他擴展解決方案,如等離子體和狀態通道,在以太坊的歷史過程中,核心開發人員對以太坊的可擴展性路線圖進行了研究和廢除。主要有兩種類型的 rollup:optimistic 和零知識(ZK)。optimistic rollup 依賴于欺詐證明,這意味著對 L2 網絡狀態的改變被發布到以太坊,而不需要直接證明其有效性。只要至少有一個誠實的行為者在觀察 optimistic rollup 的狀態轉換,無效的狀態轉換就可以被發現并取消。在 Arbitrum 和 Optimism 的情況下,可以提交欺詐證明的”挑戰窗口"持續一個星期。一旦挑戰窗口結束,optimistic rollup 的狀態轉換被認為是最終和有效的。
另一方面,ZK rollup 依靠 ZKP,每次在 L2 上處理一個交易批次時,ZKP 都會生成有效性證明并發布到以太坊。所有交易批次的有效性證明的自動生成增加了 ZK rollup 的安全保障。這也意味著每次新的有效性證明被提交到以太坊時,ZK rollup 的資金就可以被提取,而對于 optimistic rollup,通常有 7 天左右的等待期,以允許爭議和欺詐證明的生成。ZK rollup 還提供比 optimistic rollup 更優越的數據壓縮。下面的表格總結了 optimistic rollup 和 ZK rollup 之間的高層區別:
與 ZK rollup 相比, optimistic rollup 的主要優勢在于, optimistic rollup 的虛擬機與 EVM 的虛擬機幾乎相同。今天在以太坊上上線的 optimistic rollup 實現,如 Optimism 和 Arbitrum,模擬了與以太坊相同的交易執行環境,并分別被稱為 OVM 和 AVM. 大多數 ZK rollup 是特定的應用,這意味著它們不支持所有類型的基于以太坊的交易和 DApp. Loopring、StarkEx rollups 和 zkSync 1.0 是特定應用的 ZK rollup 的例子,支持特定類型的支付、代幣交換和/或 NFT 鑄幣。
某些 ZK rollup,如 StarkNet,是通用的,意味著它們支持所有類型的交易和 dapp. 然而,這些 ZK rollup 需要 dapp 開發者學習如何在一個新的自定義執行環境中執行他們的智能合約代碼,該環境為生成 ZKP 而優化,而不是 EVM 兼容性。鑒于現有的去中心化應用程序和用戶難以加入到新的執行環境中,這對以太坊上的 ZK rollup 的采用提出了挑戰。為了克服這個問題,ZK rollup 項目,如 Polygon Hermez、zkSync 和 Scroll 正在研究 ZK rollup,以實現與 EVM 的兼容,EVM 是以太坊上所有智能合約代碼的原生執行環境。
ConsenSys推出其zkEVM測試網Linea:4月26日消息,ConsenSys推出其zkEVM測試網Linea,該網絡旨在為基于以太坊構建的dApp提供支持,并將與MetaMask和Truffle進行原生集成。[2023/4/27 14:29:09]
STARK、SNARK、volitions 和 validiums
在實踐中,rollup 不僅由鏈上發布的證明類型來區分(optimistic rollup的欺詐證明或 ZK rollup 的有效性證明),而且由 rollup 的數據可用性策略和證明算法來區分。
正如本報告前面提到的,有兩大類有效性證明,稱為 SNARK 和 STARK.
SNARK 依靠橢圓曲線加密技術,這是一種在比特幣和以太坊中最普遍使用的數據加密技術。SNARK 通常也依賴于一個受信任的設置,這意味著該算法需要由一個受信任的實體事先生成一段數據。可信設置儀式不是一個重復的事件,而是一個一次性的程序,由一個人或一群人生成核心數據。這個數據被稱為共同參考字符串(CRS),它是一個值,然后被用于 zk-SNARK 算法,以生成可信的證明。如果生成 CRS 所需的輸入被破壞,這可能導致錯誤的證明生成。因此,重要的是,用于生成 CRS/SRS 的輸入被所有儀式參與者銷毀,或者在儀式結束后變得不可恢復。基于 SNARK 的算法的一些例子包括 Sonic、Plonk、Redshift 和 Marlin.
STARK 不依賴于橢圓曲線或可信設置。STARKS 依靠哈希函數,一些開發者認為這是抗量子密碼學的優勢。然而,STARK 更加復雜,需要更多的計算資源來運行。它們也是在 2018 年比 SNARK 晚推出的,而 SNARK 自 2012 年以來一直存在。由于這些原因,SNARK 作為一種證明算法比STARKs使用得更廣泛。基于 STARK 的算法的一些例子包括 Fractal、SuperSonic、Fri-STARKs 和 genSTARK.
除了生成有效性證明的不同方法外,ZK rollup 還可以通過其數據可用性策略而有所不同,這意味著它們對交易批次的哪些部分最終被發布到鏈上的策略。無論是 optimistic rollup 還是 ZK rollup,每次處理一批交易時,通常會向主網以太坊提交三塊數據。首先,滾動的驗證者將向以太坊提交新網絡狀態的根哈希值(狀態是指 L2 上交易和賬戶余額的更新記錄)。狀態被記錄在一個 Merkle tree 數據結構中,如下圖所示:
根哈希是整個 Merkle tree 的加密承諾,有時被稱為狀態承諾。并不要求所有的 ZK rollup 向以太坊提交根哈希值,但為了方便使用以太坊上發布的數據重建和驗證 rollup 上執行的交易,他們通常會這樣做。
高級根哈希值除了確認第二層區塊鏈的新狀態外,還在以太坊上記錄了一個加密證明。這個證明可以是 ZKP,或者在 optimistic rollup 的情況下是一個欺詐證明。它可以通過 STARK 或 SNARK 算法生成。最后,除了這兩個數據之外,ZK rollup 還向以太坊發布了一個壓縮版的分批交易,也稱為狀態 delta. 狀態 delta 是一種具有成本效益的方式,將大量的交易數據提交給以太坊,這是 ZK rollup 所特有的。Optimistic rollup 代替了狀態三角洲,使用其他數據壓縮技術來批量交易并在鏈上提交。
(作為一個附帶說明,某些 ZK rollup 項目,如 Scroll 團隊,實際上并不依賴于向以太坊發布狀態 delta 的額外數據壓縮收益。在 Scroll 開發者的心目中,即將到來的代碼修改,如 Ethereum Improvement Proposal 4844 和 danksharding 將大大降低向以太坊提交交易數據的成本,以至于相對于其他數據壓縮技巧,狀態延遲的效率提升可以忽略不計。)
使用 Merkle tree 最低層的數據,也就是樹上的葉子,并將其與 Merkle tree 最高層的根部哈希值相結合,任何人都可以重建和驗證在鏈上提交的交易批次的內容。大多數滾動的一個決定性特征是能夠使用在鏈上提交給以太坊的數據重新創建在第二層網絡上執行的交易。然而,某些 rollup 避免向以太坊提交狀態 delta 或其他壓縮的交易數據,而是將數據發布到其他地方,以減少運營成本并提高網絡可擴展性。某些開發者會認為,避免向以太坊提交交易數據,從而破壞交易重建的保證的Layer 2 網絡不應該被歸類為 rollup.
Rollup 處理狀態 delta 的方式決定了網絡是否可以被歸類為有效的或自愿的。
Validium 最好理解為只在鏈上提交有效性證明和根哈希,而在鏈外的獨立網絡上存儲狀態 delta 的 rollup. 這在理論上增加了 rollup 的交易吞吐量至 9000 TPS,因為 rollup 不再依賴以太坊的數據可用性和受網絡的塊空間限制。Validium 的缺點是安全性。發布鏈外數據的獨立網絡并沒有繼承與以太坊相同的安全保障。
Volition 將在鏈外或鏈上發布狀態 delta 的決定權交給了用戶。它們首先是由以太坊擴展創業公司 Starkware 開創的。這是一種新穎的方式,讓用戶決定他們的交易是否需要通過直接在鏈上確認到以太坊或到鏈外網絡(如 Starkware 的可信數據可用性委員會 DAC)來加強安全,也許成本更高。
EVM 等效性的 4 個主要層
給出上述理解以太坊上的交易執行、EVM 和 ZK rollup 的框架,我們現在可以討論 zkEVM. zkEVM 是 ZK rollup 的一種類型,模擬與主網以太坊相同的交易執行環境。zkEVM 的實施在其證明算法以及數據可用性策略方面有所不同。zkEVM 在其 EVM 等價水平方面也有所不同。有四個主要的 EVM 等價水平。以下是對不同級別的高層次總結:
跨鏈聚合器Bungee新增支持Polygon zkEVM:4月25日消息,由跨鏈基礎設施 Socket 支持的跨鏈聚合器 Bungee 宣布新增支持 Polygon zkEVM,Bungee 此前已支持在以太坊、Polygon、Optimism、Fantom 上的資產跨鏈轉移和兌換。[2023/4/25 14:25:43]
語言層面的等效性
為了實現語言層面的 EVM 等效性,zkEVM 必須能夠理解和原生編譯 EVM 友好語言。換句話說,這些類型的 zkEVM 可以將 EVM 友好的編程語言(如 Solidity 或 Yul)翻譯成為生成 ZKP 而優化的定制語言。這被認為是在 ZK rollup 內實現 EVM 兼容性的最簡單和最有效的方法之一。然而,這些類型的 zkEVM 在為用戶和智能合約開發者提供與 EVM 互動的體驗方面是最有限的。
與 EVM 的語言級兼容性意味著通過編譯器運行 Solidity,該編譯器將 EVM 的高級編程語言翻譯成定制的低級語言,可由為生產 ZKP 設計的虛擬機解釋。對于以太坊上的大多數用戶和智能合約開發者來說,他們只關心通過 Solidity 代碼與 EVM 的互動,只要通過 zkEVM 可以執行與以太坊主網相同類型的代碼,zkEVM 的底層行為可能并不重要。另一方面,為 EVM 構建的復雜的開發者工具、框架和測試環境可能需要修改,以便在只有語言級 EVM 兼容性的 zkEVM 上使用。
字節碼層面的等價性
EVM 等效性的第二和第三層級是字節碼級,這要求 ZK rollup 能夠解釋從高級語言(如 Solidity 或 Yul)編譯下來的 EVM 字節碼。能夠模仿 EVM 的同一高級編程語言和低級字節碼的 zkEVM 實現了與 EVM 更深層次的兼容。這些類型的 zkEVM 的構建更為復雜,因為它們需要更先進的工程。
正如本報告前面所討論的,EVM 字節碼被虛擬機執行的方式是通過一個特定的指令列表,稱為操作碼。每個操作碼命令 EVM 執行一個不同的任務。兼容字節碼的 zkEVM 的目標是創建一個能夠證明 EVM 字節碼的 ZK 系統,并通過字節碼包含的各種操作碼進行解析。這些類型的 zkEVM 的優勢在于它們與基于 EVM 的應用程序和工具的兼容性。一個完全兼容字節碼的 zkEVM 將能夠支持與基于以太坊的本地應用程序相同的調試工具和開發人員基礎設施。然而,實現完全字節碼兼容往往會產生負面的結果,即創建一個低效和昂貴的 ZK 系統。為了降低成本和提高效率,部分字節碼兼容的 zkEVM 可能會刪除 EVM 的某些功能,如使用 ZK 數學和密碼學更難證明的預編譯。
目前,有兩個字節碼兼容的 zkEVM:Polygon zkEVM 和 Scroll zkEVM. 在本報告的后面,我們將更詳細地討論這兩者。在他們目前的設計中,這兩個實現只與 EVM 字節碼部分兼容。然而,隨著時間的推移,這些實現正在努力實現完全兼容。
共識層面的等效性
第四也是最后一級的 EVM 等效性是在共識層面。這是 ZK rollup 能夠達到的對 EVM 的最高本地兼容性。它有時被稱為“奉行 rollup”,盡管并非所有奉行 rollup 都需要基于 ZK,而是可以是 optimistic rollup. 這個想法是,由 zkEVM 生成的加密證明不需要以任何方式在以太坊上重新執行。這些證明本身可以用來驗證主網以太坊上產生的區塊。從某種意義上說,實現共識級別兼容的 zkEVM 是 zkEVM 的最真實形式。
在一些開發者看來,能夠實現共識級別兼容的 ZK rollup 是唯一一種應該被稱為 zkEVM 的 ZK rollup,而其他具有語言和字節碼兼容性的 ZK rollup 應該分別被視為 EVM 兼容和 EVM 等效,但不是 zkEVM. 對于 zkEVM 的精確定義和它們不同程度的 EVM 等同性,以太坊開發者之間存在著大量的爭議。事實上, EVM 等價性是一個頻譜,上面描述的每一個級別都不是僵硬的分類。zkEVM 開發的早期性質意味著,為語言級兼容性而構建的項目也可能提供某種類型的字節碼級兼容性,而字節碼級兼容的 zkEVM 最終可能發展為具有來量共識級等效的混合 rollup.
在本報告的下一節,我們將深入研究目前在以太坊上生產的五個 zkEVM 實施方案。
以太坊上的 zkEVM 項目概述
目前,沒有一個接近生產就緒的 zkEVM 實現可以實現共識級別的兼容性。這是一個正在進行的研究和開發領域,被以太坊核心開發人員描述為“多年的工程努力”。然而,有一些實現在語言和字節碼層面上實現了等價,這仍然為以太坊上目前的 ZK rollup L2 層生態系統提供了改進,該系統主要以應用為重點。構建一個 ZK rollup 來執行一般的智能合約和用戶交易,而不是以應用為重點的交易,這是一項艱巨的任務,到目前為止,只有少數幾個項目在主網上成功推出。
以下是以太坊上的五個 zkEVM 項目的高級概述:
zkSync 2.0
Matter Lab 是一個區塊鏈工程團隊,成立于 2018 年 12 月。該團隊于 2020 年 6 月在以太坊上推出了他們自己的 ZK rollup 協議,稱為 zkSync。zkSync 是以太坊上按總價值鎖定的第六大 L2 網絡,支持有限的智能合約操作,包括 ETH、ERC20 代幣和原生 NFT 的低 gas 轉移,以及原子互換和限價訂單。該公司最近通過 Andreessen Horowitz 領導的 B 輪融資籌集了 5000 萬美元,并宣布了一個 2 億美元的財政基金,專門用于在未來幾年擴大 zkSync 的生態系統。
Offchain Labs CEO:zkEVM距離正常運行還很遙遠:7月24日消息,Polygon 本周宣布開源 zkEVM 代碼,但多位開發人員認為目前距離正常運行 zkEVM 還很遙遠。以太坊擴容解決方案 Arbitrum 開發商 Offchain Labs 首席執行官 Steven Goldfeder 表示,我們還沒有達到任何團隊擁有有效的 zkEVM 證明者(prover)的地步,因此我認為 zkEVM 距離正常運行還很遙遠。此外,現階段 zkEVM 還存在一定中心化問題,因為大多數 zkEVM 構建者還沒有讓他們的證明者開源,包括 Scroll 和 zkSync 都還沒有正式發布 zkEVM 代碼。
此前報道,7 月 20 日,Polygon 已開源 Polygon zkEVM 的代碼,并表示即將上線公共測試網,后續會發布更多文檔來詳細說明細節。據悉,Polygon zkEVM 可為開發人員和用戶提供“EVM 等效”解決方案,同時增加了吞吐量并從根本上降低了費用。(Blockworks)[2022/7/24 2:34:30]
zkSync 2.0 是一個語言級兼容的 zkEVM,旨在支持所有類型的智能合約操作。zkSync 2.0 依賴于一個基于 SNARK 的證明算法,稱為 UltraPLONK. 它還依賴于被稱為 LLVM 的開源編譯器基礎設施,將 Solidity 和其他類型的編程語言編譯成 zkEVM 字節碼。該項目于 2022 年 10 月啟動了“baby alpha”階段,預計將于 2022 年底向外部用戶全面開放,盡管 Matter Labs 團隊仍未披露關于 zkSync 2.0 上證明生成的全部細節(由于 L2 網絡之間的激烈競爭,以及由于 rollup 技術的初創性造成了更大的技術風險,大多數 rollup 項目都是在高度保密的情況下運作的,并不認同開放源代碼的開發過程)。一旦推出,zkSync 2.0 將是一個 volition,讓用戶可以選擇在鏈外將其交易的狀態 delta 發布到一個被稱為 zkPorter 的獨立協議,而不是在鏈上發布到以太坊。這一策略理論上會將 zkSync 2.0 的每秒交易吞吐量從 2000 TPS 提高到超過 20000 TPS.
StarkNet
和 zkSync 一樣,StarkNet 是一個通用的 ZK rollup,已經在以太坊上運行,由 Starkware 團隊建立。Starknet 的交易執行環境被稱為 StarkNet OS,其本地智能合約編程語言被稱為 Cairo. 與其他 ZK rollup 相比,Starknet 是功能最全面的一個。StarkNet 為用戶提供了一個可選的鏈外數據解決方案(使 rolllup 成為一種意愿),以實現比非 volition 型 rollup 低得多的交易費用。StarkNet 操作系統依靠的是基于 STARK 的證明算法。與 zkSync 2.0 一樣,StarkNet OS 上生成證明的過程沒有開源。與 zkSync 等競爭對手類似,隨著時間的推移,將圍繞證明生成的細節開源,以便任何人都可以連接到網絡,運行專門的硬件,并通過生成證明獲得獎勵,這是 rollup 積的長期發展路線圖的一部分。
StarkNet 并不支持與 EVM 的語言級兼容。然而,有一個名為 Warp 的 Solidity 到 Cairo 語言編譯器正在由以太坊執行層軟件客戶端 Nethermind 背后的團隊積極構建。使用 Warp 編譯器,StarkNet 用戶可以部署基于以太坊的智能合約,而不必在 Cairo 中重寫他們的代碼。此外,還有一個名為 Kakarot 的社區驅動的項目,建立另一個 Solidity 到 Cairo 語言的編譯器,以幫助支持 StarkNet 與 EVM 的兼容性。
Starkware 團隊在 7 月公布了他們推出本地 StarkNet 代幣和新基金會的計劃。該代幣的擬議分配成為爭議的來源,因為它被披露最初 100 億供應量的三分之一將分配給 StarkNet 的核心貢獻者。今年,Starkware 作為一家公司以 80 億美元的估值融資 1 億美元。該輪融資由投資公司 Greenoaks Capital、Coatue 和 Tiger Global 牽頭。除了 StarkNet 之外,StarkWare 還為用戶提供了一個可定制的區塊鏈可擴展性解決方案,即 StarkEx,它利用了該公司基于 STARK 的新穎 ZK 技術。與 StarkNet 不同,StarkEx 是一個以應用為中心的 ZK rollup. 一些值得注意的 DeFi 應用程序使用 StarkEx 在以太坊上獲得更大的可擴展性,包括 soRare、Immutable 和 DeversiFi.
Polygon zkEVM
由 Polygon 團隊構建的 zkEVM 實現,以前被稱為 Matic Network,實現了與 EVM 的字節碼級兼容。Polygon 的 zkEVM 預計將在 2023 年初的某個時候在以太坊上推出,并在最近向公眾開放資源供其審查。(值得注意的是,雖然代碼可以公開查看,但不能使用、修改或分享,因為它沒有在開源代碼許可證下發布)。Polygon 的 zkEVM 實現依賴于基于 SNARK 和 STARK 的證明。具體來說,zk-SNARK 被用來證明 zk-STARK 的正確性。這樣做的好處是可以利用與 zk-STARK 相關的快速證明時間,以及生成 zk-SNARK 所需的相對較少的計算資源。關于數據可用性的問題,Polygon 的 zkEVM 實施將不會立即支持鏈外數據解決方案。然而,Polygon 正在積極努力,通過開發 Polygon Avail,使他們的zkEVM實施成為一種 volition.
Polygon 成立于 2017 年,是一家主要專注于以太坊的不同擴展解決方案的公司。它在 2020 年 6 月推出了一個基于股權證明的以太坊側鏈,稱為 Polygon PoS. 那時起,Polygon 的產品套件已經大幅增長和多樣化。除了該公司的 zkEVM 實現,它還在積極開發其他兩個 ZK rollup 實現,即 Polygon Miden 和 Polygon Zero,以及一個混合 rollup 實現,將 optimistic rollup 和 ZK rollup 結合起來,稱為 Polygon Nightfall. 今年早些時候,Polygon 團隊完成了他們自首次發行 MATIC 代幣以來的第一輪主要融資,并從 40 家風險投資公司籌集了 4.5 億美元。該輪融資由紅杉資本印度公司牽頭。
Polygon已開源Polygon zkEVM代碼,即將上線公共測試網:金色財經報道,Polygon 已開源 Polygon zkEVM 的代碼,并表示即將上線公共測試網,后續會發布更多文檔來詳細說明細節。據悉,Polygon zkEVM 可為開發人員和用戶提供EVM 等效解決方案、高性能 zk 證明機制(zk-proofs)與以太坊主網級別的安全性[2022/7/20 2:26:17]
Scroll
Scroll 是另一個字節碼級別兼容的 zkEVM 實現。Scroll 由 Sandy Peng、Ye Zhang 和 Haichen Shen 于 2021 年創立,他們在 2022 年宣布為白名單用戶推出了他們的 pre-alpha 版本測試網。值得注意的是,圍繞他們的 zkEVM 實現的所有代碼都是公開的,并以開源許可的方式發布。Scroll 將依靠一種基于 SNARK 的證明算法,不支持鏈外數據可用性解決方案。此外,Scroll 團隊正在設計一個去中心化的證明生成市場,以支持其 zkEVM. 為此,他們還專注于建立專門的硬件,可以由世界各地的用戶運行,以無許可和抗審查的方式生成ZKP.
Scroll 團隊與以太坊基金會的擴展解決方案研發團隊密切合作,該團隊被稱為隱私擴展以太坊(PSE)團隊。PSE 在 zkEVM 方面的工作將在本報告的下一節中討論。與其他團隊如 zkSync、StarkWare 和 Polygon 相比,Scroll 的規模較小,而且更注重研究(即不太面向商業)。他們也只專注于他們的 zkEVM 實現,而其他競爭團隊則有一套其他與 ZK 相關的產品和服務。Scroll 在今年的 A 輪融資中籌集了 3000 萬美元,來自包括 Polychain Capital 和 Bain Capital Crypto 在內的領先加密貨幣風險投資公司,以及包括 Ethereum Foundation 的 Ying Tong 和 Carlos Aria 在內的幾個天使投資者。
隱私與擴展探索(PSE)
PSE 是以太坊基金會的一個研究部門,專注于探索 ZKP 的前沿研究及其在以太坊的應用。他們以前被稱為“AppliedZKP”小組。與本報告中強調的其他 zkEVM 實現相比,PSE 的 zkEVM 并不專注于在不久的將來成為生產就緒(PSE 研究的生產就緒組件正在由 Scroll 團隊實施)。PSE 正在研究的 zkEVM 專注于根據一個奉行 rollup 模型實現與 EVM 的共識級兼容性。
PSE 研究中使用的證明算法是被稱為 Halo2 的 zk-SNARK,它是由 Zcash(ZEC)加密貨幣的核心開發團隊 Electric Coin Company 開發的。由 PSE 團隊構建的 zkEVM 的開發是開源的,任何人都可以參與。除了 zkEVM,PSE 團隊還在推進其他幾個項目,包括防混淆去中心化應用基礎設施的研究,增強用戶交易的隱私,以及替代的加密簽名方案。關于 PSE 正在進行的項目的完整列表,請點擊這里。
構建 zkEVM 的挑戰
在以太坊上構建生產就緒的 zkEVM 實施方案時,有幾個持續的挑戰。實施像 zkEVM 這樣的新技術是未經證實和測試的,分散 zkEVM 的操作,以及建立專門的硬件來生產 zkEVM 證明,這些都是開發者面臨的障礙。本節對這些挑戰做了一些深入的分析。
Novelty
zkEVM 是以太坊上的一個新概念,2022 年才開始認真工作。這項技術的一個簡單挑戰是它在規模上未經證實和測試的性質。大多數 zkEVM 實現之間在證明的產生方式、產生證明的硬件要求以及圍繞分散排序器的細節方面仍然存在大量的秘密。對于像 Scroll、Polygon、StarkNet 和 zkSync 這樣的團隊來說,建立對 zkEVM 作為一個可靠的可擴展性解決方案的信任是一個重要的關注領域。
去中心化挑戰
圍繞 zkEVM 的運營去中心化的問題廣泛適用于所有的 rollup(包括 optimistic rollup),因為有效性和欺詐證明的生成都嚴重依賴于中心化的排序器。如上所述,定序者是負責對用戶交易進行批處理并將這些批處理的證明提交給以太坊 L1 的 L2 利益相關者。
目前在以太坊上運行的每個 rollup 都是由一個中心化的排序器操作的,并依賴于由一個實體管理的可升級的智能合約。今天,rollup 的中心化性質的一個主要原因是由于技術的新生,以及在代碼中出現意外錯誤時需要快速修復。此外,特別是 zkEVM 背后的技術還在不斷變化,因此很難自信地激勵用戶在他們自己的設備上運行這種新生技術。去中心化測序器的 rollup 通常意味著推出一個代幣,并充實一個共識協議,以無權限的方式組織多個測序器和證明者。雖然推出代幣和創建共識協議的挑戰對公共區塊鏈來說并不新鮮,但它們需要時間和相當多的考慮才能負責任地推出。StarkWare 宣布的代幣計劃由于設計和最初的供應分配而引起了爭議,而 Polygon 在推出他們的 zkEVM 后,預計將修改其現有的 MATIC 代幣的代幣學。zkSync 也預計將在未來幾個月為他們的 rollup 推出專用代幣,而 Scroll 推出代幣的計劃仍不清楚。
在 zkEVM 去中心化的背景下,重要的第一步是開放項目軟件,在寫這篇文章的時候,很少有人做到這一點。當涉及到 zkEVM 操作的去中心化時,能夠依靠大量預先存在的用戶社區的 zkEVM 實現可能會有優勢。
zkEVM 硬件挑戰
雖然 zkEVM 證明的驗證是微不足道的,但它們的生成是計算密集型的,部分原因是 ZKP 背后的數學依賴于線性計算序列。這使得在機器上生成證明的工作難以并行化。最近,隨著遞歸證明的使用,在這方面取得了進展。遞歸證明是一種減少證明生成延遲的技術。它指的是重復生成一個證明的證明,以進一步壓縮交易,從而使在 ZK-rollup 上并行處理小批量的交易成為可能。這是 StarkNet VM 和 Polygon 的 zkEVM 用來生成有效性證明的技術。
由于生成 ZKP 所需計算的密集性質,zkEVM 可能必須依靠先進的硬件,如圖形處理單元(GPU)、現場可編程門陣列(FPGA),甚至特定應用集成電路(ASIC)。需要專門的硬件來運行證明生成的必要計算,這與需要專門的硬件在工作證明(PoW)共識協議下有效挖掘區塊并無不同。這兩個硬件行業發展的不同之處在于證明者與礦工的選擇過程。
證明者是負責生成有效性證明的網絡利益相關者。另一方面,排序者負責將用戶交易排序和打包成批,并將數據提交給第一層區塊鏈。從技術上講,排序者和證明者的職責可以合并為一個角色。然而,由于證明生成和交易排序都需要高度專業化的技能才能很好地執行,分割這些職責可以防止在 rollup 功能中出現不必要的集中。
如果證明者和排序者的選擇過程與礦工的選擇過程一樣,即依靠實現中本聰的共識并獎勵擁有最有效硬件的參與者,那么ZKP“挖礦”行業就有可能沿著與比特幣的 PoW 挖礦行業相同的軌跡發展。然而,有幾個原因表明,具體的證明人選擇過程更有可能是一個類似于股權證明(PoS)設計的確定性過程,而不是中本聰式的 PoW 共識。
首先,對證明者使用中本聰式的選擇過程意味著擁有最高效硬件的證明者將主導證明市場。為了避免證明者市場的壟斷,以及證明者的重復用電,像 Scroll 這樣的項目正在研究證明者選擇的替代設計,要求證明者用資產作抵押,這與以太坊驗證者被要求用 32 ETH 的余額作抵押的方式不一樣。賭注模式的實施確保了驗證者在游戲中的地位,可以對破壞網絡安全和有效性的行為進行懲罰,例如未能為指定的交易批次計算出有效性證明。重要的是,獎勵和懲罰證明者的激勵措施與在 ZK rollup 上選擇排序者的模式相平衡,以便網絡利益相關者有足夠的參與來履行這兩項責任。
確定性地選舉證明人生成證明而不是讓所有證明人在競爭中生成證明的另一個好處是可能增加交易吞吐量和網絡可擴展性。選舉證明人意味著幾個人可以并行地為不同批次的交易生成證明,而不是所有證明人都為同一批交易生成證明。然而,依賴于某種形式的質押和 slashing 的領導者選舉系統的一個弱點是復雜性。與中本聰式的 PoW 系統相比,PoS 系統依靠更復雜的檢查和平衡設計來保持參與者的誠實。例如,中本聰式的共識通常只要求參與者,也就是礦工,生成他們工作的證明以獲得獎勵。確定性的 PoS 系統可以要求參與者(通常稱為驗證者)做更多的事情,例如存入資產、委托資產、對交易和區塊進行投票、提出區塊,以及監督其他驗證者的行為。
大多數 zkEVM 可能會試圖通過選擇一個無權限的證明者選擇過程,即確定性的(基于分配)而不是概率性的(基于競爭),來盡量減少他們的滾動的電力使用。以太坊聯合創始人 Vitalik Buterin 估計,在 PoW 共識協議下,計算 zkEVM 的有效性證明將需要不到 1% 的電力用于開采乙醚。zkEVM 設計者的目標是盡可能地減少證明時間,同時也讓盡可能多的用戶能夠經濟地使用證明生成。實現共識級兼容的 zkEVM 的要求之一是將證明生成時間減少到與以太坊第一層區塊時間相當(平均 13.5秒)。
只有當 zkEVM 背后的規范變得清晰和標準化時,ZKP 硬件制造商才能認真地成長和成熟。最后,預測有效性證明計算行業的用電情況仍然是困難的,直到 rollup 公司采用并實施無許可選擇證明者和排序者的模式。
對 zkEVM 競爭的展望
在短期內,zkEVM 正在競爭成為第一個在主網上推出的產品。然而,從長遠來看,它們將在 EVM 的兼容性(從語言到共識水平)和虛擬機效率方面進行競爭。一旦啟用 zkEVM 的技術得到更廣泛的測試、使用和理解,很可能 zkEVM 也將不得不與 optimistic rollup 和其他二級可擴展性解決方案競爭,以獲得用戶的采用。
先發和后發優勢
zkSync、Polygon 和 Scroll 團隊的 zkEVM 實現正在爭先恐后地在主網上推出。在主網上率先推出的優勢在于,在吸引應用開發者方面,比其他 zkEVM 實現者更有優勢。鑒于 rollup 之間的互操作性和應用程序的兼容性是困難的,這可能是一個特別重要的領先優勢。Dapp 的可組合性是指像積木一樣在 Dapp 之上構建 Dapp 的能力,是以太坊的去中心化金融(DeFi)生態系統的一個特別重要的特征,使 Dapp 開發者更有可能傾向于已經擁有最多采用量的 L1 或 L2.
另一方面,由于 zkEVM 作為一種技術的新穎性,第一批推出的 zkEVM 實現不太可能是對以太坊 dapp開發者最優化的。正如本報告所述,在字節碼層面和共識層面與 EVM 完全兼容的 zkEVM 實現還沒有準備好投入生產。能夠更原生地支持以太坊 dapp 部署的 zkEVM 實現可能不會首先推出,而是具有與 EVM 更等效的后發優勢。等同程度越深,開發者對 zkEVM 的入職體驗越容易。換句話說,自 2015 年以來,EVM 一直是主要 dapp 的執行環境,從 EVM 轉移過來的工具越多,對 zkEVM 的 dapp 開發者來說就越好。
通過 EVM 等價吸引 dapp 開發者是 zkEVM 實現之間的第一個明顯的競爭領域,雖然 dapp 開發者采用的先發優勢很強,但該技術是如此的新生,以至于在建立一個生產就緒的 zkEVM 時,仍有大幅迭代和改進的空間。歸根結底,這個游戲類似于創新者的困境——是做第一個并試圖建立分銷和社區,還是做第二個并以更好的功能推翻第一個推動者?
虛擬機設計
隨著時間的推移,zkEVM 的其他競爭和改進領域之一是效率。正如所討論的,EVM 并沒有針對 ZK 系統進行優化,建立一個通用的 ZK rollup,可以證明基于以太坊的智能合約和 DApp,這需要大量的開銷。其他為 SNARK 或 STARK 證明優化的虛擬機設計有可能使 EVM 的兼容性隨著時間的推移而變得不那么理想,Starkware 的團隊強烈持有這一觀點。將 Solidity 編譯為 Cairo 的 Warp 工具以及其他類似的工具都是由社區驅動的,因為 StarkWare 的內部團隊只專注于使 StarkNet 的虛擬機盡可能高效,而不是簡單的 EVM 兼容。
在以太坊上,值得注意的是,EVM(以及相關的 Solidity)不能在不破壞向后的應用程序兼容性的情況下進行重大改變或升級。自 EVM 在 2015 年發布以來,開發人員對 EVM 及其高級編程語言 Solidity 進行了修補,以改善可用性和安全性的小方法。例如,在 2019 年以太坊的伊斯坦布爾硬分叉升級期間,核心開發人員為 EVM 添加了一個名為“CHAINID”的新操作碼,它將返回典型鏈的唯一識別號。這是為了防止升級后的節點連接到未升級的節點,允許節點檢查CHAINID,這是一個特別有用的升級,有助于防止“重放攻擊”,在這種情況下,惡意行為者可以利用不良節點發現。
以太坊核心開發人員一直堅稱,在以太坊的發展路線圖中,對 EVM 的進一步修改仍將到來。新的操作碼和預編譯可能會繼續被添加到 EVM 中,這表明現有的 zkEVM 實現必須靈活適應 EVM 的變化。然而,即使有了這些改進,Mina、Sui 和 Aptos 等其他第 1 層區塊鏈仍有機會嘗試不同的虛擬機設計和智能合約語言設計,從長遠來看,這可能會使 EVM 過時。
Optimistic rollup 過渡到 ZK rollup
最后,本報告中討論的五個 zkEVM 實施方案擊敗了 Optimism 或 Arbitrum 等 optimistic rollup,這并不是一個必然的結論。在技術層面上,ZK rollup 比 optimistic rollup 更安全、更有效,并且有可能更有成本效益。然而,它們在證明為 EVM 設計的一般計算方面的靈活性還沒有經過測試和廣泛的規模部署。一旦 zkEVM 被推出,并且其背后的技術更加成熟和強大,那么由欺詐驅動的 optimistic rollup(如 Optimism 和 Arbitrum)就有可能升級并過渡到生成有效性證明。此外,混合 rollup 和多驗證器系統,使用欺詐證明優化驗證用戶交易,并間歇性地發布有效性證明,隨著 zkEVM 背后技術成熟,逐漸加快有效性證明的生成時間,這是一個活躍的研究領域,今天,像 Vitalik Buterin 這樣的以太坊核心開發者和 Kelvin Fichter 這樣的 L2 開發者正在認真地討論。
已經在以太坊上推出的 rollup 具有預先存在的用戶群的優勢,理論上可以很容易地移植到新的升級版本的 rollup 上,類似于 Arbitrum Nitro 在 2022 年推出的方式。這種可能性可能是 zkEVM 背后的團隊(不包括 Scroll)對完全開放他們項目的代碼猶豫不決的原因之一,直到他們的 rollup 已經建立了相當大的用戶群,與其他預先存在的 rollup 的網絡護城河競爭。隨著時間的推移,optimistic rollup 到 ZK rollup 的可升級性表明,zkEVM 的實現不僅在彼此之間競爭,而且在更廣泛的以太坊 L2 生態的背景下競爭。
結論
行業最近對 zkEVM的興趣大增,引發了一些關于以太坊可擴展性路線圖的終局問題。在最真實的意義上,zkEVM(與 EVM 的共識水平兼容的 ZK rollup)代表了對 EVM 主導地位的長期押注,并通過關聯,將以太坊作為智能合約執行的主要平臺。zkEVM 也是對以太坊可擴展性路線圖的長期質押,因為它以 rollup 和交易執行的抽象化為中心,而不是與共識和數據可用性相聯系。
盡管今年宣布了幾個接近生產的 zkEVM,但該技術仍處于極其初級的階段。實現與 EVM 的共識級兼容的 zkEVM 仍然是一項研究計劃,可能需要幾年時間才能投入生產。然而,就在一年前,實現與 EVM 的字節碼級兼容性的 zkEVM 也是如此。Polygon、zkSync、StarkWare 和 Scroll 對 zkEVM 實現的快速開發,繼續推動著計算機科學和數學的發展,并打破了人們的預期。Polygon zkEVM 和 zkSync 2.0 在以太坊主網上的推出,將成為用真實用戶和應用程序活動測試 zkEVM 的重要起點。
兩個生產就緒的 zkEVM 的可用性和可擴展性可能不僅會擾亂 zkEVM 協議的競爭格局,也會擾亂 optimistic rollup 和替代 L1 區塊鏈的競爭格局。如果 zkEVM 獲得成功,optimistic rollup 將不得不轉換為 ZK rollup 設計,以保持長期的競爭力。替代的 L1 區塊鏈也將不得不在其虛擬機設計上進行創新,以與可擴展的 EVM 競爭。關于 ZKP 在以太坊上的準備情況和適用性,還有很多東西需要證明,而推出生產就緒的 zkEVM 應該被認為只是這種新技術的競爭格局的開始。
zkEVM 繼續關注和發展的幾個領域包括其硬件設計和代幣經濟。生成 ZKP 的硬件環境和哪家公司能成功實現證明生成的去中心化,都還有待觀察。這在很大程度上將取決于各個團隊的社區建設,以及任何這些推出的產品能夠在多大程度上成功地引發大規模的 dapp 遷移,尤其是 DeFi 的 dapp 遷移到其網絡上。這些領域的發展將需要時間和迭代來完成。然而,鑒于 zkEVM 試圖在以太坊上完成的先進性,以及它們對公共區塊鏈未來廣泛的潛在影響,以太坊的利益相關者、研究人員、密碼學家和學術界都將密切關注這一進展。
Christine Kim
個人專欄
閱讀更多
金色早8點
金色財經
去中心化金融社區
CertiK中文社區
虎嗅科技
區塊律動BlockBeats
念青
深潮TechFlow
Odaily星球日報
騰訊研究院
Tags:ROLLROL以太坊ARKTROLLBNB價格roll幣在哪換ehash幣持倉挖以太坊ImpactMarket
原文來源:Ah Kek。在 FTX 破產案例之后,我們想了解 CEX 和 DEX 的交易量表現如何.
1900/1/1 0:00:00圖片來源:由無界版圖 AI 生成本文約有 2 萬字,閱讀時間較長,感謝你的耐心。您需要了解的第一件事是:我們所有的系統都不完美。第二件事:你需要相信和理解的是,它們正在改進.
1900/1/1 0:00:00文/孟永輝 當區塊鏈開始在越來越多的場景里出現,我們看到的是,一場區塊鏈與行業深度融合的開啟。在這樣一場深度融合里,區塊鏈不再是一個孤立的、封閉的存在,而是變成了一個開放的、共生的存在.
1900/1/1 0:00:001.金色觀察丨深度解讀Curve穩定幣crvUSD白皮書備受期待的crvUSD白皮書于11月22日上午問世,同時發布了完整的后端庫。加之之前的中間件,現在只缺少前端和部署了.
1900/1/1 0:00:00圖片來源:由無界版圖AI工具生成 要點: MSTR 的債務結構如何?MSTR 是否存在比特幣清算價格?如果有.
1900/1/1 0:00:00作者:XiaoZ@iNFTnews.com11月15日,百度旗下DuDu Lab發行的DuDu Bear NFT已完成鑄造,NFT搭建于以太坊上,鑄造價格為0.02ETH.
1900/1/1 0:00:00