zkEVM 現狀報告:以太坊擴展性的未來
本文介紹了 4 種級別的 EVM 等效性,以太坊上的 zkEVM 項目概覽,構建 zkEVM 所面臨的的挑战,zkEVM 的競爭展望。
原文:zkEVMs: The Future of Ethereum Scalability(galaxy)
作者:Galaxy Digital ,Christine Kim
編譯:Kyle,DeFi 之道
介紹
零知識以太坊虛擬機 (zkEVM) 是一項雄心勃勃且改變遊戲規則的技術,可在短期和長期內提高以太坊的可擴展性。今年,三個主要的以太坊擴容項目 ——zkSync、Polygon 和 Scroll—— 各自宣布了其 zkEVM 實施的重大進展,其中許多項目已在今年的早期 alpha 階段啓動,如今作為獨立的第 2 層 (L2) 運行區塊鏈。隨着時間的推移,zkEVM 有可能直接從以太坊的基礎層運行。
簡而言之,zkEVM 是虛擬機,可以執行與以太坊虛擬機 (EVM) 相同的高級編程語言或低級字節碼,並使用零知識證明 (ZKP) 證明此代碼,加密證明可在不泄露的情況下驗證數據有關數據本身的任何信息,例如其屬性或內容。早在 1982 年,計算機科學家 Goldwasser、Micali 和 Rackoff(Silvio Micali 是 Algorand 區塊鏈的創始人)首次將 ZKP 作為概念引入。 ZKP 經常與同態加密相混淆,同態加密是密碼學的另一個分支,它允許對加密數據執行操作而無需解密數據。同態加密方案於 1978 年由 Rivest、Adleman 和 Dertouzos 首次提出,已成為實現雲計算和存儲的關鍵技術之一。值得注意的是,同態加密也被用於一些公共區塊鏈協議,如隱私幣 Grin 來混淆交易金額。
在過去的 40 年裏,計算機科學家發明了多種算法來安全高效地生成 ZKP,其中許多算法屬於兩大類:可擴展的透明知識論證 (STARKs) 或簡潔的非交互式知識論證 (SNARKs)。這些算法是為大量用例开發的,包括核裁軍、身份認證系統,以及最近通過公共區塊鏈和加密貨幣的出現來實現區塊鏈可擴展性。特別是在以太坊上,許多开發人員認為 ZKP 是擴展的 “聖杯”,因為與其他用於驗證交易數據的加密方案相比,ZKP 具有簡潔和易於驗證的特點。難以構建或破解但易於驗證是密碼協議开發人員的共同目標,因為它允許廣泛而有效的分發。
對於零知識系統的所有好處,衆所周知,它們很難推廣和應用於證明任意復雜性的代碼。構建 ZKP 以本地支持和證明以太坊區塊鏈上所有類型的交易活動一直是开發人員在過去幾年中進行的一項持續研究計劃。直到 2021 年 11 月,Starkware 才推出了第一個用於證明基於以太坊的交易的通用 ZK 系統。這是通過 Starkware 團隊創建的自定義編程語言 Cairo 實現的。然而,最近,在 2022 年 7 月,三種不同的基於以太坊的 L2 協議 ——zkSync、Polygon 和 Scroll—— 宣布在利用 ZKP 以 zkEVM 的形式擴展以太坊方面取得了突破。
注意:雖然通俗地稱為 zkEVM,但這些虛擬機並沒有利用 ZKP 的隱私優勢,而是完全受益於 ZKP 的安全和效率優勢。因此,這些類型的虛擬機更准確的名稱是有效性證明生成 EVM,但在本報告中,將使用更流行的名稱 zkEVM。
本報告旨在讓讀者熟悉 zkEVM 的一般概念,並檢查以太坊开發中的各種實現。由於 zkEVM 是一個高級主題,本報告首先簡要概述以太坊網絡的現狀,並通過介紹區塊生產、EVM 和 rollup 等核心概念為理解 zkEVM 奠定基礎。然後,我們將總結以太坊上可以存在的不同類型的 zkEVM,並比較目前生產中的 5 種主要 zkEVM 實現。然後,我們將重點介紹這項新興技術在實施中面臨的挑战,以及我們對 zkEVM 隨時間推移的競爭格局的展望。總體而言,zkEVM 仍處於以太坊开發和採用的早期階段,盡管它們成為 L2 區塊鏈和最終以太坊協議本身的首選擴展技術的潛力很高。
今天的以太坊
在深入研究 zkEVM 的復雜性之前,重要的是首先要從高層次理解交易是如何包含在以太坊的區塊中的。
區塊生產
當用戶向以太坊提交新交易時,連接到網絡的計算機(也稱為節點)將交易存儲在稱為內存池的本地數據結構中,內存池負責維護未確認交易的列表。然後,隨機選擇運行節點和抵押 32 ETH 作為網絡抵押品的驗證者,將內存池中的交易批量處理並處理成塊。選擇將新區塊附加到以太坊區塊鏈的驗證者有時被稱為 “提議者”。一些提議者在構建區塊時將依賴第三方區塊構建器而不是本地內存池,以從最大可提取價值 (MEV) 中獲得額外獎勵。有關 MEV 的更多信息,請閱讀這份Galaxy Research 報告。
區塊按順序組織,並通過父哈希(前一個區塊的 header 哈希)鏈接在一起。每個區塊都包含其父區塊的前一個哈希,將區塊鏈接在一起並形成區塊鏈數據結構。通過父哈希鏈接區塊如下圖所示:
直到 2022 年 9 月 15 日,以太坊依賴工作量證明 (PoW) 共識機制,礦工代替驗證者負責區塊生產,礦工無需消耗大量資金,而是需要消耗大量電力處理用戶交易。如需 PoS 對以太坊影響的完整分類,請在此處閱讀 Galaxy 的 Merge 研究綱要。
在 PoW 和 PoS 共識協議下,以太坊區塊鏈缺乏可擴展性的根源在於有限的區塊空間問題。區塊空間在以太坊上以 gas 為單位測量。需要更多計算量才能執行的交易通常以較高的 gas 單位定價,而計算成本較低(即資源密集程度較低)的交易具有較低的 gas 成本。 gas 通過以太坊網絡自動設置的稱為基本費用的動態 gas 費率轉換為 ETH。以太坊協議限制區塊,因此它們最多只能包含 3000 萬單位的 gas。這個最大區塊 gas 限制保持了快速的區塊傳播時間並降低了鏈分裂的風險。有關以太坊費用動態的更多信息,請閱讀這份Galaxy Research 報告。
以太坊虛擬機
一旦交易被包含在以太坊上的一個區塊中,這些交易就會通過稱為以太坊虛擬機 (EVM) 的自定義運行時環境執行。 EVM 旨在在以太坊上部署任意復雜度的代碼。這本質上是使以太坊成為通用區塊鏈的根本原因,有時也稱為圖靈完備系統。
EVM 執行交易的方式有規則。首先,EVM 將人類可讀的編程語言(如 Solidity 和 Yul)編譯為面向機器或 “低級” 語言,稱為 EVM 字節碼。然後,EVM 將字節碼解析為稱為 “操作碼” 的順序指令列表。每個操作碼命令 EVM 執行不同的任務,並以十六進制形式在 EVM 字節碼中表示。例如,在鏈上執行智能合約時命令 EVM 保留瞬態數據的操作碼以助記符表示為 “MSTORE”,以十六進制形式表示為 “0x52”。為了幫助讀者概念化操作碼,以下是以太坊黃皮書中定義的簡單操作碼的快照:
多年來,以太坊开發人員向 EVM 添加了新的操作碼。他們還添加了預編譯,使用戶能夠在網絡上執行更高級的操作,例如哈希函數和標量乘法。作為同類中的第一個運行時環境,EVM 已被廣泛用作通用公共區塊鏈上智能合約部署的標准。然而,作為同類技術中的第一項,EVM 確實存在設計限制,其中與本報告最相關的是 EVM 缺乏與 ZKP 的兼容性。
rollup
為了提高以太坊的可擴展性,有幾個 L2 網絡將交易執行從基礎層抽象到 rollup。 Rollups 壓縮交易數據,使得將一批交易提交到基礎層所需的區塊空間量明顯低於通過鏈上的內存池單獨確認這些交易。 rollups 由被稱為 “排序器” 的網絡運營商運營,而不是驗證者或礦工。排序器負責驗證 rollup 的狀態轉換。它們是將用戶交易打包成一個 rollup 批次,然後將這批交易的證明提交給以太坊基礎層的實體。下圖說明了排序器在 rollup 中的作用:
有關以太坊 L2 生態系統的完整概述,請閱讀這份Galaxy 研究報告。
Rollup 不同於以太坊上的其他擴展解決方案,例如 Plasma 和狀態通道,這些方案在以太坊的歷史進程中,核心开發人員已經研究並從以太坊的可擴展性路线圖中廢棄。rollup 有兩種主要類型:Optimistic 和零知識 (ZK)。 Optimistic rollups 依賴於欺詐證明,這意味着對 L2 網絡狀態的更改會在沒有直接證明其有效性的情況下發布到以太坊。只要至少有一個誠實的參與者在觀察 optimistic rollup 的狀態轉換,就可以檢測並取消無效的狀態轉換。就 Arbitrum 和 Optimism 而言,可以提交欺詐證明的 “挑战窗口” 持續一周。一旦挑战窗口結束,optimistic rollup 的狀態轉換就被認為是最終的和有效的。
另一方面,ZK rollup 依賴於 ZKP,每次在 L2 上處理交易批次時,ZKP 都會生成有效性證明並發布到以太坊。自動生成所有交易批次的有效性證明,增加了 ZK rollup 的安全保障。這也意味着每次向以太坊提交新的有效性證明時都可以從 ZK rollups 中提取資金,而對於 optimistic rollups 通常有大約 7 天的等待期以允許爭議和欺詐證明的生成。 ZK rollups 還提供了比 optimistic rollups 更好的數據壓縮。下表總結了 optimistic 和 ZK-rollup 之間的高級差異:
optimistic rollup 相對於 ZK rollup 的主要優勢是 optimistic rollup 的虛擬機與 EVM 的虛擬機幾乎相同。目前在以太坊上運行的 optimsitc rollup 實現,如 Optimism 和 Arbitrum,模擬了與以太坊相同的交易執行環境,分別稱為 OVM 和 AVM。大多數 ZK rollup 都是特定於應用程序的,這意味着它們不支持所有類型的基於以太坊的交易和 dapp。
Loopring、StarkEx rollups 和 zkSync 1.0 是特定應用程序 ZK rollups 的示例,它們支持特定類型的支付、代幣交換和 / 或 NFT 鑄幣。
StarkNet 等某些 ZK rollup 是通用的,這意味着它們支持所有類型的交易和 dapp。然而,這些 ZK rollup 要求 dapp 开發人員學習如何在新的自定義執行環境中執行他們的智能合約代碼,該環境針對生成 ZKP 而優化,而不是 EVM 兼容性。鑑於現有的去中心化應用程序和用戶難以加入新的執行環境,這對在以太坊上採用 ZK rollups 提出了挑战。為了克服這個問題,Polygon Hermez、zkSync 和 Scroll 等 ZK rollup 項目正在致力於實現與 EVM 兼容的 ZK rollup,EVM 是以太坊上所有智能合約代碼的原生執行環境。
STARK、SNARK、Volitions 和 validiums
在實踐中,rollup 不僅通過鏈上發布的證明類型來區分(optimistic rollup 中的欺詐證明或 ZK rollup 中的有效性證明),而且還通過 rollup 的數據可用性策略和證明算法來區分。
如本報告前面所述,有兩大類有效性證明,稱為 SNARK 和 STARK。
- SNARKs 依靠橢圓曲线密碼學,這是一種在比特幣和以太坊中最常用的數據加密技術。 SNARK 通常還依賴於可信設置,這意味着該算法需要由可信實體提前生成一段數據。可信設置儀式不是重復的事件,而是一個人或一群人生成核心數據的一次性過程。此數據稱為公共參考字符串 (CRS),它是一個值,然後在 zk-SNARK 算法中用於生成可信賴的證明。如果生成 CRS 所需的輸入受到損害,那么這可能會導致錯誤的證明生成。因此,重要的是所有儀式參與者銷毀用於生成 CRS/SRS 的輸入,或者在儀式完成後使其無法恢復。基於 SNARK 的算法的一些示例包括 Sonic、Plonk、Redshift 和 Marlin。
- STARKS 不要依賴橢圓曲线或可信設置。 STARKS 依賴哈希函數,一些开發人員認為哈希函數有利於抗量子加密。然而,STARK 更復雜,需要更多的計算資源才能運行。它們在 2018 年推出的時間也晚於 SNARKs,而 SNARKs 自 2012 年以來一直存在。由於這些原因,作為證明算法,SNARKs 比 STARKs 被更廣泛地使用。基於 STARK 的算法的一些示例包括 Fractal、SuperSonic、Fri-STARKs 和 genSTARK。
除了生成有效性證明的不同方法外,ZK rollup 的數據可用性策略也不同,這意味着它們對交易批次的哪些組件最終發布在鏈上的策略。 Rollups,包括 optimistic 和 ZK,通常在每次處理一批交易時將三份數據提交到主網以太坊。首先,rollup 的驗證者將新網絡狀態的根哈希提交給以太坊。(狀態是指 L2 上交易和账戶余額的更新記錄。)狀態記錄在一個 Merkle 樹數據結構中,如下圖:
根哈希是整個 Merkle 樹的密碼承諾,有時也稱為狀態承諾。並不要求所有 ZK rollup 都將根哈希提交給以太坊,但它們這樣做的目的很常見,目的是使用發布在以太坊上的數據輕松重建和驗證在 rollup 上執行的交易。
除了用於確認第 2 層區塊鏈新狀態的高級根哈希之外,以太坊上還記錄了加密證明。在 optimistic rollups 的情況下,此證明可以是 ZKP 或欺詐證明。它可以通過 STARK 或 SNARK 算法生成。最後,除了這兩條數據之外,ZK rollups 還向以太坊發布了批處理交易的壓縮版本,也稱為狀態增量。 State delta 是一種將大量交易數據提交到以太坊的經濟高效的方式,這是 ZK rollups 獨有的。 Optimistic rollups 代替狀態增量,使用其他數據壓縮技術來批量處理事務並將它們提交到鏈上。
(旁注:某些 ZK rollups 項目,例如 Scroll 團隊,實際上並不依賴於將狀態 delta 發布到以太坊所獲得的額外數據壓縮收益。在 Scroll 开發人員的心目中,即將到來的代碼更改,例如以太坊改進提案 EIP-4844 和 danksharding 將顯着降低將交易數據提交給以太坊的成本,這樣狀態 delta 相對於其他數據壓縮技巧的效率提升可以忽略不計。)
使用來自 Merkle 樹最低層(葉子)的數據,並將其與來自 Merkle 樹最高層(根)的根哈希相結合,允許任何人重建和驗證在鏈上提交的交易批次的內容。大多數匯總的一個決定性特徵是能夠使用鏈上提交給以太坊的數據重新創建在第 2 層網絡上執行的交易。然而,某些 rollup 避免將狀態 delta 或其他壓縮交易數據提交給以太坊,而是將數據發布到其他地方以降低運營成本並提高網絡可擴展性。某些开發人員會爭辯說,避免將交易數據提交給以太坊並因此破壞交易重建保證的第 2 層網絡不應歸類為 rollup。
rollup 處理狀態 delta 的方式決定了該網絡是可以歸類為 validium 還是 volition。
- Validium 最好將其理解為僅在鏈上提交有效性證明和根哈希,同時將狀態 delta 存儲在鏈下的單獨網絡上的 rollup。這在理論上將 rollup 的交易吞吐量提高到 9,000 TPS,因為 rollup 不再依賴以太坊的數據可用性並受網絡區塊空間的限制。 validiums 的缺點是安全性。用於發布鏈下數據的獨立網絡不繼承與以太坊相同的安全保證。
- volitions 讓用戶決定在鏈下或鏈上發布狀態 delta。 它們首先由以太坊擴展初創公司 Starkware 开創。 這是一種新穎的方式,通過直接在鏈上向以太坊或 Starkware 可信數據可用性委員會 (DAC) 等鏈下網絡確認,讓用戶決定他們的交易是否需要增強的安全性,但成本可能更高。
EVM 等效的 4 個主要層面
給出了理解以太坊上交易執行的上述框架、EVM 和 ZK rollups,我們現在可以討論 zkEVMs。 zkEVM 是一種 ZK rollup,它模仿與主網以太坊相同的交易執行環境。 zkEVM 的實現在證明算法和數據可用性策略上有所不同。 zkEVM 的 EVM 等效級別也不同。 EVM 等效性有四個主要級別。 以下是不同級別的高級摘要:
語言層面等效
為了實現語言層面的 EVM 等效性,zkEVM 必須能夠理解並本地編譯 EVM 友好的語言。換句話說,這些類型的 zkEVM 可以將 EVM 友好的編程語言(如 Solidity 或 Yul)翻譯成一種為生成 ZKP 而優化的定制語言。這被認為是在 ZK-rollups 中實現 EVM 兼容性的最簡單和最有效的方法之一。然而,這些類型的 zkEVM 在為用戶和智能合約开發人員提供與 EVM 交互相同的體驗方面最受限制。
與 EVM 的語言層面兼容性意味着通過編譯器運行 Solidity,該編譯器將 EVM 的高級編程語言翻譯成定制的低級語言,可以由專為生成 ZKP 而設計的虛擬機解釋。對於大多數只關心通過 Solidity 代碼與 EVM 交互的以太坊用戶和智能合約开發人員來說,zkEVM 的底層行為可能並不重要,只要可以通過 zkEVM 執行與以太坊主網上相同類型的代碼即可。另一方面,為 EVM 構建的復雜开發工具、框架和測試環境可能需要修改才能在僅具有語言層 EVM 兼容性的 zkEVM 上使用。
字節碼層面等效
EVM 等效的第二個和第三個層面是字節碼層面,這需要 ZK rollup 才能解釋從更高級語言(例如 Solidity 或 Yul)編譯下來的 EVM 字節碼。 zkEVM 可以模仿與 EVM 相同的高級編程語言和低級字節碼,從而實現與 EVM 更深層次的兼容性。這些類型的 zkEVM 構建起來更復雜,因為它們需要更高級的工程設計。
如本報告前面所述,虛擬機執行 EVM 字節碼的方式是通過稱為操作碼的特定指令列表。每個操作碼命令 EVM 執行不同的任務。字節碼兼容的 zkEVM 的目標是創建一個 ZK 系統,該系統可以證明 EVM 字節碼並解析字節碼包含的各種操作碼。這些類型的 zkEVM 的優勢在於它們與基於 EVM 的應用程序和工具的兼容性。完全字節碼兼容的 zkEVM 將能夠支持與基於以太坊的原生應用程序相同的調試工具和开發人員基礎設施。然而,實現完全的字節碼兼容性通常會帶來創建低效且昂貴的 ZK 系統的負面結果。為了降低成本和提高效率,部分字節碼兼容的 zkEVM 可能會刪除 EVM 的某些功能,例如使用 ZK 數學和密碼學更難證明的預編譯。
目前,有兩種字節碼兼容的 zkEVM,Polygon zkEVM 和 Scroll zkEVM。兩者都將在本報告的後面部分進行更詳細的討論。在他們當前的設計中,這兩個實現僅部分兼容 EVM 字節碼。但是,隨着時間的推移,這些實現正朝着完全兼容的方向努力。
共識層等效
EVM 等效的第四個也是最後一個層面是共識層。這是 ZK rollups 可以實現的對 EVM 的最高原生兼容性。它有時被稱為 “enshrined rollups”,盡管並非所有 enshrined rollups 都需要基於 ZK,但可以是 optimistic rollups。這個想法是由 zkEVM 生成的加密證明不需要以任何身份在以太坊上重新執行。證明本身可用於驗證主網以太坊上生成的區塊。從某種意義上說,實現共識層面兼容性的 zkEVM 是 zkEVM 的最真實形式。
對於一些开發者來說,能夠實現共識層面兼容性的 ZK rollup 是唯一一種應該稱為 zkEVM 的 ZK rollup,而其他具有語言和字節碼兼容性的 ZK rollup 應該分別被認為是 EVM 兼容的和 EVM 等效的,但不是一個 zkEVM。關於 zkEVM 的精確定義及其不同層面的 EVM 等效性,以太坊开發人員之間存在大量爭議。事實上,EVM 等效是一個範圍,上面描述的每個層面都不是嚴格的類別。 zkEVM 开發的早期性質意味着為語言層面兼容性而構建的項目也可能提供某種類型的字節碼層面兼容性,而字節碼層面兼容的 zkEVM 最終可能會發展成為具有大量共識層面等效性的混合 rollup。
在本報告的下一節中,我們將深入了解目前在以太坊上生產的五個 zkEVM 實現。
以太坊上的 zkEVM 項目概覽
目前,還沒有接近生產就緒的 zkEVM 實現可以實現共識層面的兼容性。 這是一個正在進行的研究和开發領域,以太坊核心开發人員將其描述為 “多年工程努力”。 然而,有些實現在語言和字節碼層面上實現了等效,這仍然為以太坊上當前主要以應用程序為中心的 ZK rollup Layer 2 生態系統提供了改進。 構建 ZK rollup 來執行一般的智能合約和用戶交易而不是以應用程序為中心的交易是一項艱巨的任務,到目前為止,只有少數項目在主網上成功啓動。
以下是以太坊上五個 zkEVM 項目的高級概述:
zkSync 2.0
Matter Labs 是一個區塊鏈工程團隊,成立於 2018 年 12 月。該團隊於 2020 年 6 月在以太坊上推出了自己的 ZK rollup 協議,稱為 zkSync。zkSync 是以太坊上鎖定總價值第六大 L2 網絡,支持有限範圍的智能合約操作,包括 ETH、ERC20 代幣和原生 NFT 的低 gas 傳輸,以及原子互換和限價訂單。該公司最近通過由 Andreessen Horowitz 牽頭的 B 輪融資籌集了 5000 萬美元,並宣布了一項 2 億美元的國庫基金,致力於在未來幾年擴展 zkSync 生態系統。
zkSync 2.0 是一種語言級兼容的 zkEVM,旨在支持所有類型的智能合約操作。 zkSync 2.0 依賴於一種基於 SNARK 的證明算法,稱為 UltraPLONK。它還依賴於稱為 LLVM 的开源編譯器基礎架構,將 Solidity 和其他類型的編程語言編譯成 zkEVM 字節碼。該項目於 2022 年 10 月在 “嬰兒 alpha” 階段啓動,預計到 2022 年底將對外部用戶全面开放,盡管 Matter Labs 團隊仍未披露 zkSync 2.0 證明生成的全部細節。(由於 L2 網絡之間的激烈競爭,以及由於 rollup 技術的初期階段導致了更大的技術漏洞風險,大多數 rollups 項目都在高度保密的情況下運行,並且不公布开源开發流程。)一旦啓動,zkSync 2.0 將是一種 volition,讓用戶可以選擇將狀態 delta 從他們的鏈下交易發布到一個稱為 zkPorter 的單獨協議,而不是在鏈上發布到以太坊。該策略理論上會將 zkSync 2.0 的每秒交易吞吐量從 2,000 TPS 提高到超過 20,000 TPS。
StarkNet
與 zkSync 一樣,StarkNet 是 Starkware 團隊構建的已經在以太坊上運行的通用 ZK rollup。 Starknet 的交易執行環境稱為 StarkNet OS,其原生智能合約編程語言稱為 Cairo。與其他 ZK rollups 相比,Starknet 是功能最全面的網絡之一。 StarkNet 為用戶提供了一個可選的鏈下數據解決方案(使 rollup 成為一種 volition),以實現比非 volition 類型的 rollup 成倍降低的交易費用。 StarkNet 操作系統依賴於基於 STARK 的證明算法。與 zkSync 2.0 一樣,在 StarkNet OS 上生成證明的過程不是开源的。與 zkSync 等競爭對手類似,隨着時間的推移,开源關於證明生成的細節,以便任何人都可以連接到網絡,運行專用硬件,並通過生成證明獲得獎勵,這是 rollup 長期發展路线圖的一部分。
StarkNet 本身不支持與 EVM 的語言層面兼容性。但是,以太坊執行層軟件客戶端 Nethermind 背後的團隊正在積極構建名為 Warp 的 Solidity to Cairo 語言編譯器。使用 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。使用 StarkEx 在以太坊上實現更大可擴展性的一些值得注意的 DeFi 應用程序包括 soRare、Immutable 和 DeversiFi。
polygon zkEVM
Polygon 團隊構建的 zkEVM 實現(以前稱為 Matic Network)實現了與 EVM 的字節碼級別兼容性。 Polygon 的 zkEVM 預計將於 2023 年初的某個時候在以太坊上推出,並且最近已开源供公衆審查。(重要的是要注意,雖然代碼可以公开查看,但不能使用、修改或共享,因為它不是在开源代碼許可下發布的。)Polygon 的 zkEVM 實現依賴於基於 SNARK 和 STARK 的證明。具體來說,zk-SNARKs 用於證明 zk-STARKs 的正確性。這具有利用與 zk-STARK 相關的快速證明時間以及生成 zk-SNARK 所需的相對較輕的計算資源的優勢。關於數據可用性,Polygon 的 zkEVM 實現不會立即支持鏈下數據解決方案。但是,Polygon 正積極致力於通過开發 Polygon Avail 使他們的 zkEVM 實現成為一種意愿。
Polygon 成立於 2017 年,是一家主要專注於以太坊不同擴展解決方案的公司。它於 2020 年 6 月推出了基於權益證明的以太坊側鏈,稱為 Polygon PoS。從那時起,Polygon 的產品套件得到了顯着發展和多樣化。除了該公司的 zkEVM 實施之外,它還在積極开發另外兩個 ZK rollup 實施,Polygon Miden 和 Polygon Zero,以及結合了 optimistic rollup 和 ZK rollup 的混合 rollup 實施,稱為 Polygon Nightfall。今年早些時候,Polygon 團隊完成了自首次代幣發行 MATIC 代幣以來的第一輪重大融資,並從 40 家風險投資公司籌集了 4.5 億美元。該輪融資由紅杉資本印度領投。
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 等領先的加密貨幣風險投資公司,以及包括以太坊基金會的 Ying Tong 和 Carlos Aria 在內的幾位天使投資人。
隱私與擴展探索 (PSE)
PSE 是以太坊基金會的一個研究機構,專注於探索 ZKP 的前沿研究及其在以太坊上的應用。他們以前被稱為 “AppliedZKP” 小組。與本報告中強調的其他 zkEVM 實施相比,PSE 的 zkEVM 並不專注於在不久的將來成為生產就緒(PSE 研究的生產就緒組件正在由 Scroll 團隊實施)。 PSE 正在研究的 zkEVM 專注於根據 enshined rollup 模型實現與 EVM 的共識層兼容性。
PSE 研究中使用的證明算法是稱為 Halo2 的 zk-SNARK,由 Zcash (ZEC) 加密貨幣的核心开發團隊 Electric Coin Company 开發。 PSE 團隊構建的 zkEVM 开發是开源的,任何人都可以參與。 除了 zkEVM,PSE 團隊還在推進其他幾個項目,包括研究反共謀去中心化應用程序基礎設施、增強用戶交易隱私以及替代加密籤名方案。 如需 PSE 正在處理的項目的完整列表,請單擊此處。
構建 zkEVM 的挑战
與在以太坊上構建生產就緒的 zkEVM 實現有關,存在一些持續的挑战。 實施 zkEVM 等新技術、zkEVM 的去中心化操作以及構建用於生成 zkEVM 證明的專用硬件的未經證實和未經測試的性質是开發人員面臨的障礙。 本節提供了對這些挑战的一些見解。
新奇點
zkEVM 是以太坊上的一個新概念,工作在 2022 年才正式开始。這項技術面臨的一個簡單挑战是其未經證實和未經大規模測試的性質。大多數 zkEVM 實現在生成證明的方式、生成證明的硬件要求以及去中心化排序器的細節方面仍然存在很大的模糊。建立對 zkEVM 作為可靠的可擴展性解決方案的信任是 Scroll、Polygon、StarkNet 和 zkSync 等團隊關注的一個重要領域。
去中心化的挑战
圍繞去中心化 zkEVM 操作的前進道路的問題廣泛適用於所有 rollup(包括 Optimistic rollup),因為有效性和欺詐證明的生成在很大程度上取決於中心化排序器。如上所述,排序器是 L2 利益相關者,負責批處理用戶交易並將這些批次的證明提交給以太坊的 L1。
目前在以太坊上運行的每個 rollup 都由中心化排序器運營,並依賴於由單個實體管理的可升級智能合約。今天 rollup 的中心化性質的一個主要原因是由於技術的初期以及在代碼中出現意外錯誤時需要快速修復。此外,尤其是 zkEVM 背後的技術在不斷變化,因此很難自信地激勵用戶在自己的設備上運行這項新興技術。為 rollup 去中心化排序器通常意味着啓動一個代幣並充實一個共識協議,以一種無需許可的方式組織多個排序器和證明者。雖然啓動代幣和創建共識協議的挑战對於公共區塊鏈來說並不新鮮,但它們需要時間和大量的考慮才能負責任地啓動。由於設計和最初的供應分配,StarkWare 宣布的代幣計劃引起了爭議,而 Polygon 預計將在其 zkEVM 推出後改進其現有 MATIC 代幣的代幣經濟學。 zkSync 也有望在未來幾個月為其 rollup 推出專用代幣,而 Scroll 推出代幣的計劃仍不明朗。
在 zkEVM 的背景下,用於排序器去中心化的重要的第一步是开源項目軟件,在撰寫本文時很少有人這樣做。在去中心化 zkEVM 操作方面,可以依賴於大量預先存在的用戶進行 rollup 的 zkEVM 實現可能具有優勢。
zkEVM 硬件挑战
雖然 zkEVM 證明驗證起來很簡單,但生成它們需要大量計算,部分原因是 ZKP 背後的數學依賴於线性計算序列。這使得並行化工作以在機器上生成證明變得困難。最近使用遞歸證明在這方面取得了進展。遞歸證明是一種減少證明生成延遲的技術。它指的是重復生成證明的證明以進一步壓縮交易,從而可以並行處理 ZK-rollup 上的小批量交易。這是 StarkNet VM 和 Polygon 的 zkEVM 用於生成有效性證明的技術。
由於生成 ZKP 所需的密集計算性質,zkEVM 可能不得不依賴高級硬件,例如圖形處理單元 (GPU)、現場可編程門陣列 (FPGA),甚至專用集成電路 (ASIC)。需要專門的硬件來運行必要的計算來生成證明,這與需要專門的硬件來根據工作量證明 (PoW) 共識協議有效地挖掘區塊沒有什么不同。這兩個硬件行業的增長差異在於證明者與礦工的選擇過程。
證明者是負責生成有效性證明的網絡利益相關者。另一方面,排序器負責將用戶交易排序和打包成批次,並將數據提交到第 1 層區塊鏈。從技術上講,排序者和證明者的職責可以合並為一個角色。然而,因為證明生成和交易排序都需要高度專業化的技能才能很好地執行,所以拆分這些職責可以防止匯總功能不必要的集中。
如果證明者和排序器的選擇過程類似於礦工的選擇過程,依賴於達成中本聰共識並用最高效的硬件獎勵參與者,那么 ZKP “挖礦” 行業就有可能沿着相同的軌跡發展作為比特幣的 PoW 挖礦業。然而,有幾個原因可以解釋為什么特定證明者的選擇過程更可能是一個在設計上類似於權益證明 (PoS) 而不是中本聰風格的 PoW 共識的確定性過程。
首先,對證明者使用中本聰式的選擇過程意味着擁有最高效硬件的證明者將主導證明市場。為了避免證明者市場的壟斷,以及證明者重復用電,像 Scroll 這樣的項目正在尋找替代設計來選擇證明者,這需要證明者將資產作為抵押品,這與以太坊驗證者被要求抵押 32 ETH 的方式不同。 staking 模型的實施確保證明者在遊戲中擁有皮膚,可以因破壞網絡安全性和活躍性的行為而受到懲罰,例如未能為指定的一批交易計算有效性證明。重要的是,獎勵和懲罰證明者的激勵與在 ZK-rollup 上選擇排序器的模型相平衡,以便網絡利益相關者有足夠的參與來履行這兩項責任。
確定性地選擇證明者生成證明而不是讓所有證明者競爭生成證明的另一個好處是可以提高交易吞吐量和網絡可擴展性。選擇證明者意味着幾個證明者可以並行地為不同批次的交易生成證明,而不是所有證明者都為同一批交易生成證明。然而,依賴於某種形式的 staking 和 slashing 的領導人選舉系統的弱點之一是復雜性。與中本聰風格的 PoW 系統相比,PoS 系統依靠更復雜的制衡設計來保持參與者的誠實。例如,中本聰式的共識通常只需要參與者,即礦工,產生他們工作的證明來獲得獎勵。確定性 PoS 系統可能對參與者(通常稱為驗證者)提出更多要求,例如存入資產、委托資產、對交易和區塊進行投票、提議區塊以及監控其他驗證者的行為。
大多數 zkEVM 可能會嘗試通過選擇確定性(基於分配)而不是概率性(基於競爭)的無需許可的證明者選擇過程來盡量減少 rollup 的用電量。以太坊聯合創始人 Vitalik Buterin 估計,根據 PoW 共識協議,計算 zkEVM 的有效性證明所需的電力不到用於开採 ETH 的 1%。 zkEVM 設計人員的目標是盡可能減少證明時間,同時讓盡可能多的用戶可以經濟地訪問證明生成。實現共識層兼容的 zkEVM 的要求之一是將證明生成時間減少到與以太坊第 1 層塊時間(平均 13.5 秒)相當。
只有當 zkEVM 背後的規範變得清晰和標准化後,ZKP 硬件制造商才能真正成長和成熟。 最後,預測有效性證明計算行業的用電量仍然很困難,直到 rollups 採用並實施一種無需許可地選擇證明者和排序器的模型。
zkEVM 競爭展望
在短期內,各種 zkEVM 正在競爭成為第一個在主網上啓動。 然而,從長遠來看,他們將在 EVM 兼容性層面(從語言到共識層面)和 VM 效率方面展开競爭。 一旦支持 zkEVM 的技術得到更廣泛的測試、使用和理解,zkEVM 很可能還必須與 optimistic rollups 和其他 L2 可擴展性解決方案競爭以吸引用戶採用。
先發優勢和後發優勢
zkSync、Polygon 和 Scroll 團隊的 zkEVM 實現正在競相率先在主網上推出。首先在主網上啓動的優勢歸結為在吸引 dapp 开發人員方面領先於其他 zkEVM 實現。鑑於 rollup 之間的互操作性和 dapp 可組合性很困難,這可能是一個特別重要的收獲。 Dapp 可組合性是指像積木一樣在 dapp 之上構建 dapp 的能力,是以太坊去中心化金融 (DeFi) 生態系統的一個特別重要的特徵,它使 dapp 开發人員更有可能被 L1 或 L2 所吸引,而這些 L1 或 L2 已經擁有最多的採用。
另一方面,由於 zkEVM 作為一項技術的新穎性,首批推出的 zkEVM 實現不太可能針對以太坊 dapp 开發人員進行最優化。正如本報告中提到的,在字節碼層面和共識層面上與 EVM 完全兼容的 zkEVM 實現尚未准備好用於生產。可以更原生地支持以太坊 dapp 部署的 zkEVM 實現可能不會首先啓動,而是具有更多 EVM 等效的後發優勢。等效性水平越深,zkEVM 的开發人員入職體驗就越容易。換句話說,從 2015 年以來一直是主要 dapp 的執行環境的 EVM 可以轉移的工具越多,zkEVM dapp 开發人員的採用就越好。
通過 EVM 等效性吸引 dapp 开發人員是 zkEVM 實現之間第一個明顯的競爭領域,雖然 dapp 开發人員採用的先發優勢很強,但該技術還處於初期階段,因此仍有進行重大迭代和改進的空間。來構建一個生產就緒的 zkEVM。最終,該遊戲類似於從零开始的創新者困境 —— 成為第一個並嘗試建立分銷和社區更好,還是成為第二個並以更好的功能推翻先行者更好?
虛擬機設計
隨着時間的推移,zkEVM 的另一個競爭和改進領域是效率。如前所述,EVM 並未針對 ZK 系統進行優化,構建通用的 ZK rollup 可以證明基於以太坊的智能合約和 dapps 需要大量开銷。隨着時間的推移,為 SNARK 或 STARK 證明優化的其他 VM 設計可能會降低 EVM 兼容性,這是 Starkware 團隊強烈持有的觀點。將 Solidity 編譯為 Cairo 的 Warp 工具和其他類似工具都是社區驅動的舉措,因為內部 StarkWare 團隊專注於使 StarkNet 的 VM 盡可能高效,而不是簡單地與 EVM 兼容。
在以太坊上,值得注意的是,EVM(以及關聯的 Solidity)不能在不破壞 dapp 向後兼容性的情況下進行重大更改或升級。自 EVM 於 2015 年發布以來,开發人員對 EVM 及其高級編程語言 Solidity 進行了修補,以在較小的方面提高可用性和安全性。例如,在 2019 年以太坊伊斯坦布爾硬分叉升級期間,核心开發人員向 EVM 添加了一個名為 “CHAINID” 的新操作碼,它將返回規範鏈的唯一標識號。這是為了通過允許節點檢查 CHAINID 來防止升級的節點連接到未升級的節點,這是一種特別有用的升級,有助於防止 “重放攻擊”,在這種攻擊中,惡意行為者可以利用不良的節點發現。
以太坊核心开發人員一直堅稱,以太坊的發展路线圖中仍將對 EVM 進行進一步的更改。新的操作碼和預編譯可能會繼續添加到 EVM 中,這表明現有的 zkEVM 實現必須靈活地適應 EVM 中的變化。然而,即使有了這些改進,Mina、Sui 和 Aptos 等替代第 1 層區塊鏈仍然有機會嘗試不同的 VM 設計和智能合約語言設計,從長遠來看,這可能會使 EVM 過時。 zkEVM 實現主要側重於在字節碼和共識層面與 EVM 的深度兼容性,長期押注 EVM 在智能合約开發中的相關性和主導地位。
Optimistic rollups 過渡到 ZK rollups
最後,本報告中討論的五個 zkEVM 實現擊敗了 Optimism 或 Arbitrum 等樂觀匯總,這並不是一個必然的結論。在技術層面上,ZK rollups 比 optimistic rollups 更安全、更高效,並且有可能更具成本效益。但是,它們在證明為 EVM 設計的通用計算方面的靈活性並未經過測試和大規模廣泛部署。一旦 zkEVM 推出並且其背後的技術更加成熟和穩健,以欺詐為動力的樂觀匯總(例如 Optimism 和 Arbitrum)就有可能升級並過渡到生成有效性證明。此外,混合匯總和多證明者系統使用欺詐證明樂觀地驗證用戶交易並間歇性地發布有效性證明,隨着 zkEVM 背後的技術成熟,逐漸加快有效性證明的生成時間是一個活躍的研究領域,今天正在認真討論由像 Vitalik Buterin 這樣的以太坊核心开發人員和像 Optimism 的 Kelvin Fichter 這樣的 L2 开發人員。
已經在以太坊上推出的 Rollup 具有預先存在的用戶群的優勢,理論上可以很容易地移植到 Rollup 的新升級版本,類似於 2022 年推出的 Arbitrum Nitro。這種可能性可能是團隊為什么選擇 zkEVM 的支持者(不包括 Scroll)對完全开源他們項目的代碼猶豫不決,直到他們的主網啓動,直到他們的 rollup 建立了一個相當大的用戶群以與其他現有 rollup 的網絡護城河競爭。隨着時間的推移,optimistic rollups 到 ZK rollups 的可升級性表明 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 將是使用真實用戶和 dapp 活動測試 zkEVM 的重要起點。
兩個生產就緒的 zkEVM 的可用性和可擴展性可能會不僅顛覆 zkEVM 協議的競爭格局,而且還會顛覆 optimistic rollups 和替代 L1 區塊鏈的競爭格局。如果 zkEVM 成功,optimistic rollups 將不得不轉換為 ZK rollup 設計以保持長期競爭力。替代的 L1 區塊鏈還必須在其 VM 設計上進行創新,以與可擴展的 EVM 競爭。關於 ZKP 在以太坊上的就緒性和適用性還有很多待證明,而生產就緒 zkEVM 的推出應該被視為這項新技術競爭格局的开始。
zkEVM 的一些持續關注和發展領域包括它們的硬件設計和代幣經濟學。用於生成 ZKP 的硬件環境以及哪種 rollup 成功地去中心化證明生成仍有待觀察。這在很大程度上將歸結為各個團隊的社區建設,以及這些匯總中的任何一個能夠在多大程度上成功地引發 dapps,尤其是 DeFi dapps 向其網絡的大規模遷移。這些發展領域需要時間和迭代才能正確。然而,鑑於 zkEVM 試圖在以太坊上實現的先進性,以及它們對公共區塊鏈未來的廣泛潛在影響,這一進展將受到以太坊利益相關者、研究人員、密碼學家和學者等的密切關注。
免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者及嘉賓個人觀點,與 幣界網 立場無關。文章內的信息僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
區塊鏈愛好者
文章數量
34524粉絲數
0