萬字詳解zkEVM:以太坊可擴展性的未來
原文作者:Christine Kim
簡介
簡介
原文作者:Christine Kim
簡介
簡介
零知識以太坊虛擬機zkEVM 是一項備受關注且可能改變遊戲規則的技術,它可在短期和長期內提高以太坊的可擴展性。今年三個主要的以太坊擴容項目zkSync、Polygon 和Scroll 都各自宣布了其zkEVM 實施的重大進展,其中許多項目已在今年的早期啟動alpha 階段,如今已作為L2 區塊鏈獨立運行。隨著時間的推移,zkEVM 有可能直接在以太坊的基礎層運行。
zkEVM 是可以執行與以太坊虛擬機(EVM) 相同的高級編程語言或低級字節碼的虛擬機,並使用零知識證明ZKP 證明此代碼,另外加密證明可在不洩露的情況下驗證有關數據本身的任何信息,例如其屬性或內容。早在1982 年,計算機科學家Goldwasser、Micali 和Rackoff(Silvio Micali 是Algorand 區塊鏈的創始人)首次引入ZKP 概念。 ZKP 經常與密碼學的另一個分支同態加密混淆。同態加密允許對加密數據執行操作而無需解密數據,由Rivest、Adleman 和Dertouzos 於1978 年首次提出,並已成為實現雲計算和存儲的關鍵技術之一。值得注意的是,同態加密也被用於一些公共區塊鏈協議利用,如隱私幣Grin 用它來混淆交易金額。
零知識系統很難被推廣和應用於證明任意複雜性的代碼,構建ZKP 以本地支持和證明以太坊區塊鏈上所有類型的交易活動一直是開發人員在過去幾年中進行的一項持續研究計劃。直到2021 年11 月,Starkware 才推出了第一個用於證明基於以太坊交易的通用ZK 系統,這是通過Starkware 團隊創建的自定義編程語言Cairo 實現的。然而在2022 年7 月,三種不同基於以太坊的L2 協議包括zkSync、Polygon 和Scroll 宣佈在利用ZKP 以zkEVM 的形式擴展以太坊方面取得了突破。
今天的以太坊
注意:雖然通俗地稱為zkEVM,但這些虛擬機並沒有利用ZKP 的隱私優勢,而是完全受益於ZKP 的安全和效率優勢。因此,這些類型的虛擬機更準確的名稱是有效性證明生成EVM,但在本報告中,它們將使用更流行的名稱zkEVM。
本報告旨在讓讀者熟悉zkEVM 的一般概念,並了解其在以太坊開發中的各種實現方式。由於zkEVM 是一個比較抽象的主題,本報告首先簡要概述以太坊網絡的現狀,並通過介紹區塊生產、EVM 和Rullups 等核心概念為理解zkEVM 奠定基礎。然後,我們將總結以太坊上可以存在的不同類型的zkEVM,並比較目前生產中的5 種主要zkEVM 實現。我們將重點介紹這項新興技術在實施中面臨的挑戰,以及我們對zkEVM 隨時間推移的競爭格局的展望。總體而言,zkEVM 仍處於以太坊開發和採用的早期階段。
今天的以太坊
在深入研究zkEVM 的複雜性之前,首先要從高層次理解交易是如何包含在以太坊區塊中的。

區塊產生
當用戶向以太坊提交新交易時,連接到網絡的計算機(也稱為節點)將交易存儲在稱為內存池的本地數據結構中。內存池負責維護未確認交易的列表,然後隨機選擇運行節點和抵押32 ETH 的驗證者,通過它們將內存池中的交易批量處理成塊。選擇將新區塊添加到以太坊區塊鏈的驗證者有時被稱為「提議者」。為了從最大可提取價值MEV 中獲得額外獎勵,一些提議者在構建區塊時將依賴第三方區塊構建器而不是本地內存池。
區塊按順序排列,並通過父塊(前一個區塊頭)鏈接在一起。每個區塊都包含其父塊的哈希值,並通過將區塊鏈接在一起形成區塊鏈數據結構。通過父塊哈希鏈接塊如下圖所示:
在2022 年9 月15 日之前,以太坊依賴工作量證明PoW 共識機制,礦工代替驗證者負責區塊生產,礦工無需抵押大量資本,而是需要消耗大量電力來處理用戶交易。
在PoW 和PoS 共識協議下,以太坊區塊鏈缺乏可擴展性的根源在於有限的區塊空間。區塊空間在以太坊上以Gas 為限制單位。需要更多計算工作才能執行的交易通常以較高的Gas 單位定價,而具有較低計算成本(即較少資源密集型)的交易具有較低的Gas 成本。 Gas 通過以太坊網絡自動設置稱為基本費用的動態Gas 費率轉換為ETH。以太坊協議限制了區塊空間,它們最多只能包含3000 萬單位的Gas。這個最大區塊gas 限制確保了快速的區塊傳播時間並降低了硬分叉的風險。

以太坊虛擬機
Rollups
一旦交易被包含在以太坊上的一個區塊中,它們就會通過稱為以太坊虛擬機(EVM) 的自定義運行環境執行。 EVM 旨在在以太坊上部署任意複雜度的代碼,這是使以太坊成為通用區塊鏈的根本,有時也稱為圖靈完備系統。

EVM 執行交易的方式存在一定規則。首先,EVM 將人類可讀的編程語言(如Solidity 和Yul)編譯為面向機器或「低級」語言,稱為EVM 字節碼。然後,EVM 將字節碼解析為稱為「操作碼」的順序指令列表。每個操作碼命令EVM 執行不同的任務,並以十六進制形式在EVM 字節碼中表示。例如,在鏈上執行智能合約時命令EVM 保留瞬態數據的操作碼以助記符表示為「MSTORE」,或以十六進制形式表示為「 0 x 52 」。為了幫助讀者概念化操作碼,以下是以太坊黃皮書中定義的簡單操作碼:
多年來,以太坊開發人員向EVM 不斷添加新的操作碼,他們還添加了預編譯,使用戶能夠在網絡上執行更高級的操作,例如哈希函數和標量乘法。作為同類中的第一個運行環境,EVM 已被廣泛用作通用公共區塊鏈上智能合約部署的標準。然而,作為同類技術中的第一項,EVM 確實存在設計限制,其中與本報告最相關的是EVM 缺乏與ZKP 的兼容性。

為了提高以太坊的可擴展性,有一些L2 網絡將交易執行從基礎層抽像到Rollups。 Rollups 壓縮交易數據,使得將一批交易提交到基礎層所需的區塊空間量明顯低於通過鏈上的內存池單獨確認這些交易所需要的區塊空間。 Rollups 由被稱為「排序器」的網絡運營商運營,而不是驗證者或礦工。排序器負責驗證Rollups 的狀態轉換。它們是將用戶交易打包成一個Rollups 批次,然後將這批交易的證明提交給以太坊基礎層的實體。下圖說明了排序器在Rollups 中的作用:
Rollups 不同於以太坊上的其他擴展解決方案,例如Plasma 和狀態通道。在以太坊的歷史進程中,核心開發人員已經研究並廢棄了以太坊的可擴展性路線圖。 Rollups 有兩種主要類型:Optimistic Rollups 和ZK Rollups。 Optimistic Rollups 依賴於欺詐證明,這意味著L2 網絡狀態的更改會在沒有直接證明其有效性的情況下部署到以太坊。只要至少有一個誠實參與者在觀察Optimistic Rollup 的狀態轉換,就可以檢測並取消無效的狀態轉換。就Arbitrum 和Optimism 而言,可以提交欺詐證明的「挑戰窗口」持續一周。一旦挑戰窗口結束,optimistic Rollup 的狀態轉換就被認為是最終的和有效的。
STARKs、SNARKs、Volitions and Validiums
另一方面,ZK Rollups 依賴於ZKP,每次在L2 上處理交易批次時,ZKP 都會生成有效性證明,並發佈到以太坊。自動生成所有交易批次的有效性證明同時也增加了ZK Rollup 的安全保障。這也意味著每次向以太坊提交新的有效性證明時都可以從ZK Rollups 中提取資金,而對於optimistic Rollups 來說,為了允許爭議和欺詐證明的生成,通常需要大約7 天的等待期。 ZK Rollups 還提供了比optimistic Rollups 更好用的數據壓縮功能。下表總結了optimistic 和ZK Rollup 之間的差異:
Optimistic Rollup 相對於ZK Rollups 的主要優勢是Optimistic Rollup 的虛擬機與EVM 的虛擬機幾乎相同。目前在以太坊上運行的Optimistic Rollup 實現,如Optimism 和Arbitrum,模擬了與以太坊相同的交易執行環境,分別稱為OVM 和AVM。大多數ZK Rollups 都是為某些應用程序特定的,這意味著它們不支持所有類型的基於以太坊的交易和DApp。 Loopring、StarkEx Rollups 和zkSync 1.0 是特定應用程序ZK Rollups 的示例,它們支持特定類型的支付、代幣交易和NFT 鑄幣。
StarkNet 等某些ZK Rollups 是通用的,這意味著它們支持所有類型的交易和DApp。然而,這些ZK Rollup 要求DApp 開發人員學習如何在新的自定義執行環境中執行他們的智能合約代碼,通常該環境針對生成ZKP 而優化,而不是EVM 兼容性。鑑於現有的去中心化應用程序和用戶難以加入新的執行環境,這對在以太坊上採用ZK Rollups 提出了挑戰。為了克服這個問題,Polygon Hermez、zkSync 和Scroll 等ZK Rollups 項目正在致力於實現與EVM 兼容的ZK Rollups,另外,EVM 是以太坊上所有智能合約代碼的原生執行環境。
在實踐中,Rollups 不僅根據鏈上發布的證明類型(optimistic Rollup 中的欺詐證明或ZK Rollups 中的有效性證明)進行區分,還根據Rollups 的數據可用性策略和證明算法進行區分。
目前存在兩大類有效性證明,稱為SNARKs 和STARKs。

SNARKs 依靠橢圓曲線密碼學,一種在比特幣和以太坊中最常用的數據加密技術。 SNARKs 通常還依賴於可信設置,這意味著該算法需要由可信實體提前生成一段數據。可信設置並不是重複的事件,而是一個人或一群人生成核心數據的一次性過程。此數據稱為公共參考字符串(CRS),它是一個在zk-SNARK 算法中用於生成可信賴的證明的數值。如果生成CRS 所需的輸入受到損害,那麼可能會導致錯誤的證明生成。因此,重要的是所有可信設置參與者需銷毀用於生成CRS/SRS 的輸入,或者在儀式完成後使其無法恢復。
STARKs 不依賴於橢圓曲線或可信設置。 STARKs 依賴哈希函數,一些開發人員認為哈希函數有利於對抗量子加密。然而,STARKs 更複雜,它需要更多的計算資源才能運行。它在2018 年被推出,晚於SNARKs,而SNARKs 自2012 年以來一直存在。由於這些原因,SNARKs 比STARKs 被更廣泛地使用。基於STARKs 的算法的一些示例包括Fractal、SuperSonic、Fri-STARKs 和genSTARK。
除了生成有效性證明的不同方法外,ZK Rollups 的數據可用性策略也不同。數據可用性策略將決定交易批次的哪些組件最終發佈在鏈上。 Rollups,包括Optimistic 和ZK,通常在每次處理一批交易時將三份數據提交到主網以太坊。首先,Rollups 的驗證者將新網絡狀態的根哈希提交給以太坊。 (狀態是指L2 上交易和賬戶餘額的更新記錄。)狀態記錄在一個Merkle 樹數據結構中,如下圖:
根哈希是整個Merkle 樹的密碼承諾,有時也稱為狀態承諾。雖然並不要求所有ZK Rollup 都將根哈希提交給以太坊,但為了使發佈在以太坊上的數據能夠輕鬆重建和驗證在Rollup 上執行的交易,他們通常會這麼做。
除了用於確認L2 區塊鏈新狀態的高級根哈希之外,以太坊上還記錄了加密證明。在如果是Optimistic Rollup 的情況下,此證明可以是ZKP 或欺詐證明。它可以通過STARKs 或SNARKs 算法生成。最後,除了這兩條數據之外,ZK Rollups 還向以太坊發布了處理交易批次的壓縮版本,也稱為State delta。 State delta 是一種將大量交易數據以經濟高效的特點提交到以太坊的方式,這是ZK Rollups 獨有的。 Optimistic Rollups 是使用其他數據壓縮技術來批量處理事務並將它們提交到鏈上。
此外,某些ZK Rollups 項目,例如Scroll 團隊,實際上並不依賴於將State delta 發佈到以太坊來獲得額外的數據壓縮收益。 Scroll 開發人員認為即將到來的代碼更改,例如以太坊改進提案EIP-4844 和danksharding 將顯著降低將交易數據提交給以太坊的成本,這樣State delta 相對於其他數據壓縮技巧的效率提升可以忽略不計。
Rollups 使用來自Merkle 樹最低層的數據,並將其與來自Merkle 樹最高層(根)的根分佈式相結合,能夠允許任何人重建和驗證在鏈上提交的交易批次的內容。大多數Rollups 的一個決定性特徵是能夠使用鏈上提交給以太坊的數據重新創建在L2 網絡上執行的交易。然而,某些Rollups 避免將State delta 或其他壓縮交易數據提交給以太坊,而是將數據發佈到其他地方以降低運營成本並提高網絡可擴展性。某些開發人員會爭辯說,避免將交易數據提交給以太坊並因此破壞交易重建保證的L2 網絡不應歸類為Rollups。
Rollup 處理State delta 的方式決定了網絡是可以歸類為Validium 還是Volition。
Validium 可以被理解為Rollups,它僅在鏈上提交有效性證明和根哈希,同時將State delta 存儲在鏈下的單獨網絡上。因為Rollups 不再依賴以太坊的數據可用性和受網絡塊空間的限制,這在理論上可以將Rollups 的交易吞吐量提高到9, 000 TPS。 Validiums 的缺點是安全性,用於發布鏈下數據的獨立網絡不具有與以太坊相同的安全保證。
Volitions 是將在鏈下或鏈上發布State 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 Rollups 才能解釋從更高級語言(例如Solidity 或Yul)編譯下來的EVM 字節碼。 zkEVM 可以模仿與EVM 相同的高級編程語言和低級字節碼,從而實現與EVM 更深層次的兼容性。這些類型的zkEVM 構建起來更複雜,需要更高級的工程設計。
虛擬機執行EVM 字節碼的方式是通過稱為操作碼的特定指令列表,每個操作碼命令EVM 執行不同的任務。字節碼兼容的zkEVM 的目標是創建一個ZK 系統,該系統可以證明EVM 字節碼並解析字節碼包含的各種操作碼。這些類型zkEVM 的優勢在於它們與基於EVM 的應用程序和工具相互兼容。完全字節碼兼容的zkEVM 將能夠支持與基於以太坊的原生應用程序相同的調試工具和開發人員基礎設施。然而,實現完全的字節碼兼容性通常會導致創建低效且昂貴的ZK 系統,而降低成本,提高效率是不得不考慮的問題。
目前,有兩種字節碼兼容的zkEVM,包括Polygon zkEVM 和Scroll zkEVM。在他們當前的設計中,這兩個僅實現部分兼容EVM 字節碼,但是,隨著時間的推移,這些實現正朝著完全兼容的方向努力。
共識水平等效
EVM 等價的第四個也是最後一個級別是共識級別。這是ZK Rollups 可以實現的對EVM 的最高原生兼容性。它有時被稱為「enshrined Rollups 」,儘管並非所有「enshrined Rollups 」 都需要基於ZK,也可以是Optimistic Rollups。這個想法是由zkEVM 生成的加密證明不需要以任何身份在以太坊上重新執行,證明本身可用於驗證主網以太坊上生成的區塊。從某種意義上說,實現共識級別兼容性的zkEVM 是zkEVM 的最真實形式。
對於一些開發者來說,能夠實現共識級別兼容性的ZK Rollups 是唯一一種應該稱為zkEVM 的ZK Rollups,而其他具有語言和字節碼兼容性的ZK Rollup 應該分別被認為是EVM 兼容的和EVM等效的,但不是一個zkEVM。關於zkEVM 的精確定義及其不同級別的EVM 等價性,以太坊開發人員之間存在大量爭議。事實上,EVM 等效是一個範圍,上面描述的每個層次都不是嚴格的類別。 zkEVM 開發的早期性質意味著為語言級別兼容性而構建的項目也可能提供某種類型的字節碼級別兼容性,而字節碼級別兼容的zkEVM 最終可能會發展成為具有大量共識級別等價性的混合Rollups。

zkSync 2.0
以太坊上的zkEVM 項目概覽
目前,還沒有實用性的zkEVM 可以實現共識級別的兼容性,開發者仍在不斷的研究和開發,以太坊核心開發人員將其描述為「多年工程努力」。有些zkEVM 已經實現在語言和字節碼級別上的等效,為以太坊上當前主要以應用程序為中心的ZK Rollup Layer 2 生態系統提供了改進思路。構建ZK Rollup 來執行一般的智能合約和用戶交易而不是以應用程序為中心的交易是一項艱鉅的任務,到目前為止,只有少數項目在主網上成功啟動。
StarkNet
以下是以太坊上五個zkEVM 項目的概述:
區塊鏈開發團隊Matter Labs 成立於2018 年12 月, 2020 年6 月曾在以太坊上推出了他們自己的ZK Rollups 協議,稱為zkSync 。按總鎖倉價值,zkSync 是以太坊上第6 大L2 網絡,支持有限範圍的智能合約操作,包括ETH、ERC 20 代幣和原生NFT 的低Gas 傳輸,以及原子互換和限價訂單。該公司最近通過由Andreessen Horowitz 牽頭的B 輪融資籌集了5000 萬美元,並宣布了一項2 億美元的國庫基金,致力於在未來幾年擴展zkSync 生態系統。
zkSync 2.0 是一種語言級兼容的zkEVM,旨在支持所有類型的智能合約操作。 zkSync 2.0 依賴於稱為UltraPLONK 的基於SNARKs 的證明算法。此外它還依賴於稱為LLVM 的開源編譯器基礎架構,通過LLVM 可以將Solidity 和其他類型的編程語言編譯成zkEVM 字節碼。該項目將於2022 年10 月開始「baby alpha」階段,預計到2022 年底將對外部用戶完全開放,但Matter Labs 團隊仍未披露zkSync 2.0 證明生成的全部細節。由於L2 網絡之間的激烈競爭,以及由於Rollup 技術的初期階段導致了更大的技術漏洞風險,大多數Rollups 項目都在高度保密的情況下運行,並不支持開源。一旦成功啟動,zkSync 2.0 將是一種可以讓用戶可以選擇將State delta 從他們的鏈下交易發佈到一個稱為zkPorter 的單獨協議,而不再需要在鏈上發佈到以太坊。該策略理論上會將zkSync 2.0 的每秒交易吞吐量從2, 000 TPS 提高到超過20, 000 TPS。
Polygon zkEVM
與zkSync 一樣,StarkNet 是Starkware 團隊構建的已經在以太坊上運行的通用ZK Rollup。 Starknet 的交易執行環境稱為StarkNet OS,其原生智能合約編程語言稱為Cairo。與其他ZK Rollups 相比,Starknet 是功能最全面的區塊鍊網絡之一。 StarkNet 為用戶提供了一個可選的鏈下數據解決方案,以實現比非Volitions 類型的Rollups 成倍降低的交易費用。 StarkNet 操作系統依賴於基於STARKs 的證明算法。與zkSync 2.0 一樣,在StarkNet OS 上生成證明的過程不是開源的。與其競爭對手zkSync 類似,隨著時間的推移,圍繞證明生成的細節將會逐漸開源,以便任何人都可以通過專用線路連接到網絡。
StarkNet 本身不支持與EVM 的語言級兼容性,但是以太坊執行層軟件客戶端Nethermind 背後的團隊正在積極構建名為Warp 的Solidity to Cairo 語言編譯器。使用Warp 編譯器,StarkNet 用戶可以部署基於以太坊的智能合約,而無需再用Cairo 重寫代碼。此外,還有一個名為Kakarot 的社區驅動項目,用於構建另一個Solidity 到Cairo 語言的編譯器,以幫助支持StarkNet 與EVM 的兼容性。
Scroll
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 (以前稱為Matic Network)實現了與EVM 的字節碼級別兼容性。 Polygon 的zkEVM 預計將於2023 年初的某個時候在以太坊上推出,並且最近已開源,供公眾審查。當然雖然代碼可以公開查看,但不能使用、修改或共享,因為它不是在開源代碼許可下發布的。 Polygon 的zkEVM 實現依賴於基於SNARKs 和STARKs 的證明,具體來說,zk-SNARKs 用於證明zk-STARKs 的正確性,這具有利用與zk-STARK 相關的快速證明時間以及生成zk-SNARK 所需的相對較輕的計算資源的優勢。關於數據可用性問題,Polygon 的zkEVM 實現不會立即支持鏈下數據解決方案,然而,Polygon 正積極致力於通過開發可用性更高的應用程序。
Privacy & Scaling Explorations (PSE)
Polygon 成立於2017 年,是一家主要專注於以太坊擴展解決方案的公司。它於2020 年6 月推出了基於權益證明的以太坊側鏈,稱為Polygon PoS。之後,Polygon 的產品插件得到了顯著發展,變得更加多樣化。除了zkEVM 實現方式之外,Polygon 還在積極開發另外兩個ZK Rollups 實施,即Polygon Miden 和Polygon Zero。它們是結合了Optimistic Rollup 和ZK Rollup 的混合Rollups 實施,稱為Polygon Nightfall。今年早些時候,Polygon 團隊完成了自首次代幣發行以來的第一輪重大融資,並從40 家風險投資公司籌集了4.5 億美元,由紅杉資本印度領投。
Scroll 是另一個字節碼級別兼容的zkEVM 實現。 Scroll 由Sandy Peng、Ye Zhang 和Haichen Shen 於2021 年創立, 2022 年宣佈為白名單用戶推出他們的pre-alpha 版本測試網。值得注意的是,圍繞其zkEVM 實現的所有代碼都是公開的,並在開源許可下發布。 Scroll 將依賴於一種基於SNARKs 的證明算法,並且不支持鏈下數據可用性解決方案。此外,Scroll 團隊正在設計一個用於證明生成的去中心化市場,以支持他們的zkEVM。為了無需許可和抗審查的方式生成ZKP,他們還專注於構建可以由世界各地的用戶運行的專用硬件設施。
Scroll 團隊與以太坊基金會的擴容解決方案研發團隊密切合作,其被稱為隱私擴容以太坊(PSE) 團隊。與zkSync、StarkWare 和Polygon 等其他團隊相比,Scroll 規模較小,並且更專注於研究,商業屬性較輕。他們只專注於他們的zkEVM 實施,而其他競爭團隊擁有一套其他與ZK 相關的產品和服務。 Scroll 今年在A 輪融資中籌集了3000 萬美元,投資方包括Polychain Capital 和Bain Capital Crypto 等領先的加密貨幣風險投資公司,以及包括以太坊基金會的Ying Tong 和Carlos Aria 在內的幾位天使投資人。
PSE 是以太坊基金會的一個研究機構,專注於探索ZKP 的前沿研究及其在以太坊上的應用。他們以前被稱為「AppliedZKP」小組。與本報告中強調的其他zkEVM 實施相比,PSE 的zkEVM 並不專注於在不久的將來滿足大規模使用(PSE 研究的實用性組件正在由Scroll 團隊實施)。 PSE 正在研究的zkEVM 專注於根據「enshined Rollup」模型,實現與EVM 的共識級兼容性。
PSE 研究中使用的證明算法是稱為Halo 2 的zk-SNARK ,它由Zcash (ZEC) 加密貨幣的核心開發團隊Electric Coin Company 開發。 PSE 團隊構建的zkEVM 實施是開源的,任何人都可以參與。除了zkEVM,PSE 團隊還在推進其他幾個項目,包括研究反共謀去中心化應用程序基礎設施、增強用戶交易隱私以及替代加密簽名方案。
構建zkEVM 的挑戰
在以太坊上構建生產就緒的zkEVM 實現還存在一些持續的挑戰。實施zkEVM 等新技術、zkEVM 的去中心化操作以及構建用於生成zkEVM 證明的專用硬件,這些未經證實和測試的性質是開發人員面臨的主要障礙。本節討論對這些挑戰的一些見解。
新領域
zkEVM 是以太坊上的一個新概念,從2022 年才正式開始運行。這項技術面臨的一個簡單挑戰是其未經證實和大規模測試的性質。大多數zkEVM 實現在生成證明的方式、生成證明的硬件要求以及去中心化定序器的細節方面仍然存在大量未知因素。建立對zkEVM 作為可靠的擴展性解決方案的信任是Scroll、Polygon、StarkNet 和zkSync 等團隊關注的一個重要領域。
去中心化的挑戰
圍繞去zkEVM 操作去中心化路徑的問題適用於所有Rollup(包括Optimistic Rollups),因為有效性和欺詐證明的生成在很大程度上取決於中心化排序器。如上所述,定序器是L2 利益相關者,負責批處理用戶交易並將這些批次的證明提交給以太坊L1。
目前以太坊上運行的每個Rollup 都由中心化排序器操作,並依賴於由單個實體管理的可升級智能合約。今天Rollup 中心化性質的一個主要原因是:在技術初期,代碼中出現意外錯誤時需要快速修復。此外,尤其是zkEVM 背後的技術在不斷變化,因此很難自信地激勵用戶在自己的設備上運行這項新興技術。為Rollup 實現去中心化排序器通常意味著要啟動一個代幣,並創建一個共識協議,以一種無需許可的方式組織多個排序器和證明者。雖然啟動代幣和創建共識協議對公共區塊鏈來說並不新鮮,但也需要時間和深思熟慮才能負責任地啟動。 StarkWare 的代幣計劃就因供應設計和初始分配引起了爭議,Polygon 也預計將在其zkEVM 推出後改進當前的代幣經濟學。 zkSync 有望在未來幾個月為其Rollup 推出代幣,而Scroll 的代幣計劃仍不明朗。
當前zkEVM 的背景下,排序器去中心化重要的第一步是開源項目軟件,在撰寫本文時很少有人這樣做。在去中心化zkEVM 操作方面,已經擁有大量用戶的Rollup zkEVM 實現可能具有優勢。
zkEVM 硬件挑戰
雖然zkEVM 證明驗證起來很簡單,但生成它們需要大量計算,部分原因是ZKP 背後的數學依賴於線性計算序列。這使得併行化工作在機器上生成證明變得困難。最近使用遞歸證明在這方面取得了進展。遞歸證明是一種減少證明生成延遲的技術,它指的是重複生成證明的證明以進一步壓縮交易,從而可以並行處理ZK Rollup 上的小批量交易。這是StarkNet VM 和Polygon 的zkEVM 用於生成有效性證明的技術。
由於生成ZKP 需要密集計算,zkEVM 可能不得不依賴高級硬件,例如圖形處理單元(GPU)、現場可編程門陣列(FPGA),甚至專用集成電路(ASIC)。需要專門的硬件來運行必要的計算來生成證明,這與需要專門的硬件來根據工作量證明(PoW) 共識協議有效地挖掘區塊沒有什麼不同。這兩個硬件行業的增長差異在於證明者與礦工的選擇過程。
證明者是負責生成有效性證明的網絡利益相關者。另一方面,定序器負責將用戶交易排序和打包成批次,並將數據提交到第1 層區塊鏈。從技術上講,排序者和證明者的職責可以合併為一個角色。然而,因為證明生成和交易排序都需要高度專業化的技能才能有效執行,所以拆分這些職責可以防止Rollup 功能中不必要的中心化。
如果證明者和排序器的選擇過程類似於礦工的選擇過程,依賴於達成中本聰共識並獎勵最高效的硬件參與者,那麼ZKP“挖礦”行業就有可能沿著與比特幣挖礦相同的軌跡發展。然而,有幾個原因可以解釋為什麼特定證明者的選擇過程更可能在設計上類似於權益證明(PoS) 而不是PoW 共識。
首先,中本聰式的選擇過程意味著擁有最高效硬件的證明者將主導證明市場。為了避免證明者市場的壟斷,同時減少電能消耗,像Scroll 這樣的項目正在尋找替代設計,這需要證明者將資產作為抵押品,這與以太坊驗證者被要求抵押32 ETH 的方式不同。質押模型的實施確保證明者可能因破壞網絡安全性和活躍性的行為而受到懲罰,例如未能為指定的一批交易計算有效性證明。
確定性地選擇證明者生成證明,而不是讓所有證明者競爭生成證明的另一個好處是可以提高交易吞吐量和網絡可擴展性。選擇證明者意味著幾個證明者可以並行地為不同批次的交易生成證明,而不是所有證明者都為同一批交易生成證明。然而,依賴於某種形式的質押和懲罰的領導人選舉系統存在一個弱點:複雜性。與中本聰式的PoW 系統相比,PoS 系統依靠更複雜的製衡設計來保持參與者的誠實。例如,中本聰式的共識通常只需要參與者,即礦工,產生他們工作的證明來獲得獎勵。
大多數zkEVM 可能會嘗試通過選擇確定性(基於分配)而不是概率性(基於競爭)的無需許可的證明者選擇過程來盡量減少Rollup 的用電量。以太坊聯合創始人Vitalik Buterin 估計,計算zkEVM 的有效性證明所需的電能不到用於開採ETH 的1% 。 zkEVM 設計人員的目標是盡可能減少證明時間,同時讓盡可能多的用戶可以經濟地訪問證明生成。實現共識級別兼容的zkEVM 的要求之一是將證明生成時間減少到與以太坊L1 的出塊時間(平均13.5 秒)相當。
只有當zkEVM 背後的規範變得清晰和標準化後,ZKP 硬件製造商才能真正成長和成熟。最後,預測有效性證明計算行業的用電量仍然很困難,除非Rollups 採用並實施一種無需許可地選擇證明者和定序器的模型。
zkEVM 競爭展望
短期內,zkEVM 參與者正在競爭成為第一個在主網上啟動的項目。然而,從長遠來看,他們將在EVM 兼容性水平(從語言到共識水平)和VM 效率方面展開競爭。一旦支持zkEVM 的技術得到更廣泛的測試、使用和理解,zkEVM 很可能還必須與optimistic Rollups 和其他L2 可擴展性解決方案競爭以獲取用戶。
先發優勢和後發優勢
zkSync、Polygon 和Scroll 團隊的zkEVM 實現正競相在主網上推出。更早啟動主網可以在可吸引DApp 開發人員方面佔據先發優勢,鑑於Rollup 之間互操作性和DApp 可組合性的難度,這可能是一個特別重要優勢。 DApp 可組合性是指像積木一樣在DApp 之上構建DApp 的能力,是以太坊去中心化金融(DeFi) 生態系統的一個特別重要的特徵,它使DApp 開發人員更有可能被已經廣泛採用的L1 或L2 所吸引。
另一方面,由於zkEVM 作為一項技術的新穎性,首批推出的zkEVM 實現不太可能針對以太坊DApp 開發人員進行最優化。正如本報告中提到的,在字節碼級別和共識級別上與EVM 完全兼容的zkEVM 實現尚未準備好用於生產。可以更原生地支持以太坊DApp 部署的zkEVM 實現可能不會首先啟動,擁有更多EVM 等效的zkEVM 具備後發優勢。等效程度越深,zkEVM 開發人員的進入門檻就越低。換句話說, 2015 年以來一直是主要DApp 執行環境的EVM 可以遷移的工具越多,zkEVM DApp 開發人員的採用就順利。
通過EVM 等效性吸引DApp 開發人員是zkEVM 實現之間第一個明顯的競爭領域,雖然DApp 開發人員採用的先發優勢很強,但該技術還處於初期階段,因此仍有進行重大迭代和改進的空間來構建一個生產就緒的zkEVM。最終,這場遊戲類似於從零開始的創新者困境:成為第一個並嘗試建立佈局和社區更好,還是成為第二個並以更好的功能推翻先行者更好?
虛擬機設計
隨著時間的推移,zkEVM 的另一個競爭和改進領域是效率。如前所述,EVM 並未針對ZK 系統進行優化,構建通用的ZK Rollup 可以證明基於以太坊的智能合約和DApps 需要大量開銷。隨著時間的推移,為SNARK 或STARK 證明優化的其他虛擬機設計可能會降低EVM 兼容性,這是Starkware 團隊強烈持有的觀點。將Solidity 編譯為Cairo 的Warp 工具和其他類似工具都是社區驅動的舉措,因為內部StarkWare 團隊專注於使StarkNet 的虛擬機盡可能高效,而不是簡單地與EVM 兼容。
在以太坊上,值得注意的是,在不破壞DApp 向後兼容性的情況下,EVM(以及關聯的Solidity)不能被顯著改變或升級。自EVM 於2015 年發布以來,開發人員對EVM 及其高級編程語言Solidity 進行了修補,以在較小的方面提高可用性和安全性。例如,在2019 年以太坊伊斯坦布爾硬分叉升級期間,核心開發人員向EVM 添加了一個名為“CHAINID”的新操作碼,它將返回規範鏈的唯一標識符。這是為了通過允許節點檢查CHAINID 來防止升級的節點連接到未升級的節點,這是一種特別有用的升級,有助於防止“重放攻擊”。
最後,本報告中討論的五個zkEVM 實現打敗了Optimism 或Arbitrum 等Optimistic Rollups,這並不是一個必然的結論。在技術層面上,ZK Rollups 比optimistic Rollups 更安全、更高效,並且有可能更具成本效益。但是,它們在證明為EVM 設計的通用計算方面的靈活性並未經過測試和大規模部署。一旦zkEVM 推出並且其背後的技術更加成熟和穩健,基於欺詐證明的Optimistic Rollup(例如Optimism 和Arbitrum)就有可能升級並過渡到生成有效性證明。此外,混合Rollup 和多證明者係統使用欺詐證明樂觀驗證用戶交易並間歇性地發布有效性證明。
結論
結論
隨著zkEVM 背後的技術發展,逐漸加快有效性證明生成時間將是一個活躍的研究領域,今天以太坊核心開發人員如Vitalik Buterin 和L2 開發人員如Optimism 的Kelvin Fichter 正在認真討論這個問題。
結論
兩個生產就緒的zkEVM 的可用性和可擴展性可能不僅會顛覆zkEVM 的競爭格局,而且還會顛覆Optimistic Rollups 和L1 競爭鏈的格局。如果zkEVM 成功,Optimistic Rollups 將不得不轉換為ZK Rollup 設計以保持長期競爭力。 L1 競爭鏈還必須在其虛擬機設計上進行創新,以與可擴展的EVM 競爭。關於ZKP 在以太坊上的就緒性和適用性還有很多待證明,而生產就緒zkEVM 的推出應該被視為這項新技術競爭格局的開始。
原文鏈接


