2023 年zkEVM 進展總結


2022 年8 月,我寫了一篇關於zkEVM 現況的部落格:Ground Up指南to zkEVM, EVM Compatibility and Rollups。同周,Vitalik 發表了自己的關於不同類型的zkEVM 的博客,其中建立了1 類、 2類描述分類法。在那篇部落格中,我做了一個預測:對智能合約總結當前的準備情況保持清醒也是適當的。

2023 年是zkEVM 的重要一年:Polygon zkEVM、Linea 和Scroll 全部推出,Immutable 宣布下一個總結將是Immutable zkEVM。 Polygon 計劃將Polygon PoS 升級到zkEVM Validium。 zkEVM 的開發正在取得進展,但尚未廣泛採用。各個zkEVM 專案採用的方法大不相同,需要解決的問題包括介面標準化、單序列器、效能和成本的標準框架、退出遊戲定義以及與以太坊L1 之間的關係。 2024 年將是第1類和第2類zkEVM正式投入生產使用的第一年,但實際上我們首先要到第三季/第四季才能用它們,而且還需解決效能問題。

2022 年8 月,我寫了一篇關於zkEVM 現況的部落格:Ground Up指南to zkEVM, EVM Compatibility and Rollups。同周,Vitalik 發表了自己的關於不同類型的zkEVM 的博客,其中建立了1 類、 2類描述分類法,現在通常用於zkEVM——鍛煉的競爭!

在那篇部落格中,我做了一個預測:

……對智能合約總結當前的準備情況保持清醒也是適當的。每個團隊都有強烈的動機將自己稱為「即將佔領世界」——但以太坊上最早要到2022年底才會出現「生產級」智能合約匯總,而且其中許多團隊將直到2023 年才准備好。

好吧,我們現在已經「進入2023 年了」——zkEVM 的開發和採用狀況如何?對zkEVM 而言,今年是重要的一年:

Polygon zkEVM、Linea 和Scroll 全部推出! Immutable 宣布我們的下一個匯總將是Immutable zkEVM Polygon 宣布計劃將Polygon PoS 升級到zkEVM Validium 樂觀表明他們打算支持將OP Stack 鏈作為zkEVM 運行

然而,數字不言而喻:

TVL 是一種不完美但相關牽引力較寬鬆的標準。數據來自CoinGecko。

目前,zkEVM 的開發正在取得進展,但與現有的區塊鏈相比,目前zkEVM 尚未被廣泛採用。本部落格的目的是回答一個大概的問題– 各個zkEVM 專案進展如何,以及如何才能實現產生我們希望看到的吸引力?

首先,讓我們快速回顧一下Vitalik 的“zkEVM 類型”,這有助於描述zkEVM 專案:

評估值

這看起來很複雜,但實際上很容易理解。每個人對zkEVM 的初始思維模型只是採用現有的以太坊執行客戶端(例如Geth、Nethermind、Erigon),產生其執行追蹤的zk 證明,並使用這些證明來保護L1 L2 訊息橋。然而,EVM 的設計並沒有考慮到zk 證明,而且這種方法效率非常低(例如,坊以太坊的keccak 雜湊函數非常昂貴)。

類型1 – 處理它,我的用戶/我將付費。這裡有兩個主要優點:您可以將類型1 證明者與現有區塊鏈一起使用,並且您不需要維護自己的坊以太客戶端(開發)成本可能與證明成本同樣昂貴),儘管您必須保持客戶已更新。類型2 – 不影響「應用操作層」(例如,不改變程式碼的成本/實現),但鏈上的節點,設定修改具有對驗證者更友善的內部結構(例如,對狀態使用稀疏梅克爾)這種方法的最大缺點是,你需要維護一個永久分叉的以太坊客戶端。目前以太坊已經在努力維護多個生產級客戶端,這是一個非同小可的任務,需要一個專業的區塊鏈工程師團隊。類型3 – 執行類型2 中的所有操作,同時修改EVM,刪除最難證明的部分(例如一些很少使用的預編譯),並可能增加證明者密集型操作的操作碼。這將是證明器的成本向市場推的最快方法,但您需要對客戶端進行上述所有修改,並且會遇到與現有以太坊應用程式和工具不相容的地方(例如,使用這些預編譯的合約都會被破解) 。類型4 – 建立一個專門用於高效zk 證明的自訂虛擬機,並建立一個用於運行該虛擬機的自訂客戶端。這將大大降低證明成本,但您需要建立一個龐大的工具和基礎設施生態系統,以支援您客製化的虛擬機器/客戶端。您可能可以提供某種形式的Solidity 程式碼轉換,但開發人員可能需要對現有合約和工具進行重大修改,才能在您的鏈上部署。我認為,大多數第4 類床墊不是真正的zkEVM–「智慧型相容zk-床墊」可能是更準確的描述。

採用表格形式可能更容易理解:

評估值

到2023 年底,幾乎每個即時專案都是類型3 或類型4 的匯總,原因非常簡單:它們的建造速度要快(以相容性和增加的維護費用為代價)!有趣的是,幾乎每一個目前屬於類型3 的專案都旨在最終成為類型2 或類型1 的匯總,以提高其與以太坊的兼容性,並有可能消除開發自己的客戶端軟體的需要。

在去年的部落格中,我主要關注每個zkEVM 團隊如何設計他們的證明器。今年,我想介紹每個專案方法的其他重要方面,包括絕對沒有足夠的間隙討論的事情(例如每個zkEVM 執行客戶端的)例如,許多人認為L2 是“排序器”和“證明器”,而標準zkEVM 設計實際上看起來就是這樣!

評估值

還有替代的排序器設計(我們將在稍後討論),但大多數zkEVM 目前計劃運行一個單獨的區塊鏈作為L2 排序器,擁有自己的執行客戶端(接收和執行交易)和通知客戶端(就所有L2節點的交易順序達成共識)。

重要的是,修改標準以太坊客戶端來創建自訂鍊是有代價的。每個以太坊客戶變更(尤其每個是硬分叉)都將成為所有zKEVM 團隊的治理決策點。客製化的越多,採用上游更改操作困難。隨著時間的推移,這很容易導致——在某個時間點與以太坊匹配的zkEVM 將迅速變得不同步。

zkEVM 專案的現狀

那我們去年報道的專案在哪裡呢?

Polygon zkEVM(和基於Polygon CDK的鏈)

Polygon zkEVM 於2023 年3 月在主網上發行,賺已處理了近1,000 萬筆交易。它目前是第3 類(除了以太坊差異),目標是在2024 年的某個時候成為第2 類。

當然,作為Type 2/3,Polygon zkEVM 需要自己的客製化客戶端實作。 Polygon 選擇從頭開始建立自己的客戶端(zkevm-node)以實現相容性,但這個客戶端是新的,曾經遭遇過中斷,而且缺少標準以太坊客戶端中的許多功能。

為了彌補這個缺陷,Polygon 與gateway.fm 合作修改了Erigon(原為Turbo-geth),以支援2/3 驗證型驗證器所需的變更。這使得Polygon zkEVM 提供更穩定的基礎層和更高的效能,但保持與上游Erigon 的兼容性仍將是持續的挑戰。

許多團隊也宣布將使用Polygon Chain Development Kit(CDK)來建構zkEVM,包括Astar、OKX 和Palm Network。 Polygon CDK 的願景是開發人員根據自己的需求,透過組合不同的用戶端、證明器和資料可用性解決方案(即自建zkevm 工具包)來建立自己的客製化鏈。目前,CDK 支援一個客戶端實作(zkevm-node)和一個證明器(Polygon zkEVM)。未來,Polygon 團隊計劃為CDK 添加更多多客戶端實作(如Type-2-Erigon )和證明器(如Polygon Zero)。

評估值

這意味著您今天就可以部署但是自己的Polygon zkEVM 版本! ,任何使用zkevm-node 進行部署的團隊都可能需要遷移到另一個客戶端,因此您可能需要推遲到準備就緒狀態。

我們還應該注意到,Polygon正計劃將Polygon PoS(世界上最大、最成功的區塊鏈之一)升級為帶有鏈外資料的zkEVM,但時間表尚未確定。

捲動

2023年,兩個Scroll測試網和一個主網(10月)首先啟動,這是大規模建設的一年! Scroll目前是一個Type 3 zkEVM,他們曾表示在未來轉為Type 1/2,但時間表修改尚不清楚。他們推出了與以太坊的不同接口,包括一些未實現的預編譯和一些小的狀態。 Scroll的客戶端是Geth v1.10.13的一個分支,目前正在運作單一序列器模式。值得注意的是,滾動執行客戶端的部分已經位於以太坊上游的兩個部分(儘管他們已經選擇了上海執行客戶端的EIP,以減少應用層偏差)。這不會立即對以太坊坊鏈任何干擾,都表明了許多項目在確定如何長期保持與上游以太坊的緊密聯繫,以及需要多少工程努力造成不斷縮小這種差距時,將面臨的治理挑戰。

不可變的zkEVM

免責聲明:我是Immutable 的共同創辦人/技術長。

Immutable zkEVM 從七月起開始公開測試網絡,並計劃在月推出主網絡。 Immutable zkEVM 使用的是為我們的核心領域(遊戲)客製化的標準go-ethereum 用戶端版本。有趣的是,Immutable zkEVM 是目前這份名單上唯一針對特定領域的zkEVM,儘管L2 能夠在保留以太坊安全性的同時根據特定領域的要求進行客製化是其主要吸引力之一。例如,Immutable zkEVM 滿足於使用validium 資料可用性來降低成本,並選擇了單塊終結PoSBFT設計來提供近乎即時的確認,而這些決定可能不適合通用鏈。另外,如果大量遊戲和遊戲用戶湧入這條鏈,可能會產生網路效應——我們預計未來會看到更多特定領域的L2。

,該鏈將在沒有證明者支持的情況下啟動。這是因為Immutable zkEVM 計劃在Type 1 多邊形零求證器可用且具有成本效益時採用它。然而Immutable 推出Type 3 的唯一方法是對客戶端進行大量修改,但考慮到客戶端逐漸遠離以太坊的影響,我們不願意這樣做。目前,Polygon Zero基於Plonky-2,Plonky-3正在積極開發中,預計在2024年中後期達到生產級時,性能將提高了約一個數量級。這目前Polygon提供了兩個獨立的證明器(Polygon Zero和Polygon zkEVM),開發人員可以在其基於CDK的鏈中選擇使用這兩個證明器。

利內阿

Linea 早在8 月就推出了自己的主網,其發展路徑與Polygon/Scroll 類似:從3 類格式開始,隨著時間的逐漸過渡到1 類或2 類。 Linea 目前與Ethereum London 差不多幾處不同地點,請參閱本表。

Linea 正在修改使用他們自己過的Geth 版本,並將其命名為「zkGeth」。令人擔憂的是,該客戶端的源代碼沒有公開,證明器也沒有公開——用戶無法驗證兩者的性能是否符合他們正預期計劃所有這些組件,這也是他們記錄的開源的去中心化路線實圖的一部分。 Linea的文檔展示詳細,他們計劃從「zkGeth」轉向linea-besu,晚上是針對Consensys開發的Besu客戶端的修改。從中期來看,Linea 團隊計劃將linea-besu 與普通besu 合併,並依賴Besu 的插件系統(如https://github.com/Consensys/besu-shomei-plugin)進行必要的狀態,以成為Type 2 zkEVM。

太鼓

Taiko 已經是第五個測試網了,明年又在主網上線。 Taiko 是基於PSE 實作(類似Scroll)開發自己的zk 驗證器。有趣的是,Taiko 是論文中唯一一個目前正在考慮採用其他的計劃Taiko 的設計基於賈斯汀-德雷克(Justin Drake)所描述的Based Rollup 概念,即任何人都可以向以太坊L1 提交完成和證明,而不是擁有一個經過許可的驗證器集。實現方式意味著筏可以有效地進行排序完全委託給以太坊L1,導致自動繼承以太坊L1的效果和中心化然而,它也有一個重要的缺點:L2排序器不會提供「快速終結」確認,這意味著用戶可以預期每筆交易的確認時間會更長。賈斯汀-德雷克(Justin Drake)提出了「基於預確認」(Based preconfirmations)的方案,能夠提供延遲時間延遲100毫秒的機率確認,不過該方案尚未接近量產,並且引入單獨的「預確認承諾」和「預先提示確認」系統可能會現有的以太坊工具產生影響。這是一個活躍的研究領域!

從一開始,Taiko就表明了成為1 類zkEVM 的原因。他們認為,其他zkEVM 帶來的相容性差異比更高的證明產生成本更大,而隨著技術的改進,這種差異會逐漸Taiko 的客戶端實現非常有趣——核心「執行客戶端」是經過修改的Geth v1.13 (taiko-geth)。不過,他們也在維護自己的「共識客戶端」(taiko-client),負責處理與L1的通訊並監控基於排序的流程。透過將L1通訊邏輯分離到佇列客戶端中,它們可以保持與上游乙太網路坊執行客戶端的緊密聯繫。

評估值

zkSync時代

zkSync Era 於2023 年3 月推出,迄今為止一直很成功,有關即將空投的傳言將其TVL 推高至5 億美元以上。 zkSync 是4 類zkEVM,因為他們正在證明自己的客製化虛擬機器(eraVM),而不是直接嘗試修改EVM。他們的目標是與以太坊實現“語言級相容”,並提供了從Solidity程式碼修改到其自訂虛擬機的直接編譯器。他們對許多關鍵EVM操作碼的實作進行了大量,修改了檔案編譯過程進行了一些,這意味著開發人員通常需要他們的合約或設定腳本,以便在zkSync 時代上進行設定。

zkSync Era 擁有自己的客製化客戶端,讓他們實現非EVM 功能,例如本機帳戶抽象。 2023 年7 月,他們將證明器升級為“Boojum”,這是一個STARK 證明系統,然後用SNARK 封裝,用於封裝鏈上驗證,類似於Polygon zkEVM。 zkSync Era需要完全的鏈上數據,但他們計劃在未來推出“zkPorter”,允許用戶在不同價位選擇不同的數據可用性模式,類似於StarkWare提出的Volition模式。

評估值

斯塔克網

StarkNet 是以太坊生態系統中最雄心勃勃的項目之一:他們正在從零開始建立一個Type 4 版本和生態系統,包括一個新的虛擬機器(CairoVM)、一種新的程式語言(Cairo)、一個新的驗證器(Stone)和新的客戶端(Pathfinder、Papyrus、Juno)。 StarkNet 於2021 年和2022 年逐步開放,現在的TVL 已超過1.5 億美元,處理每月的交易超過1000 萬筆。

從零開始建立這個新的生態系統迫在眉睫,這為在EVM 一直苦苦掙扎的領域進行根本性創新(如本地場景抽象)和大幅提高性能提供了機會。該工具鏈的大部分內容已通過基於StarkEx 的專案(如Immutable X、dydx v3 和Sorare)進行了廣泛測試,這些專案自2020 年起就已上線並被廣泛採用。

最初,StarkNet 生態系統透過我去年提到的Warp Solidity → Cairo 轉譯器等項目探索語言級相容性。然而,Warp 現在已經日落西山,StarkNet 生態系統轉而決定完全致力於新的CAIRO 工具集,而不是追求任何類型的Solidity 一致性。現在,他們面臨著與Solana 或Sui 等非EVM 生態系統相同的挑戰——你能否讓足夠數量的開發人員採用你的新工具,或者EVM 的普遍性會讓他們勝出?

但Kakarot 團隊的工作是個例外,他們正在CAIRO 建構2.5 型EVM,將會作為StarkNet 上的一組契約存在。透過Kakarot,用戶將能夠部署並與在StarkNet 上擁有程式碼/狀態的EVM 合約進行交互,從而使用戶能夠從StarkNet 的執行中進行,同時保持EVM 的兼容性。由於底層執行環境仍將是StarkNet,這將乙太網路犧牲坊的兼容性工具,但對於某些專案來說,這可能是一個Kakarot 還不是生產級的,這種分層方法對效能和工具相容性的影響尚不明顯,但這是彌合各種zkEVM 類型之間差距的一次令人興奮的嘗試,也表明我們在探索設計空間方面還處於起步階段。

評估值獎勵:樂觀

由於造成的原因,樂觀主義通常被認為是一個只專注於樂觀向上的團隊。不過,他們再次表示意識在未來支持zk-proving,並與多個提供貢獻的團隊進行了積極的討論。像zeth 這樣看起來很興奮的zk 生態系統計畫現在也支持樂觀主義區塊。不過,我們還沒有看到任何正式的時間表或設計——也許明年的zkEVM 評審會有令人興奮的更新!

正如您所看到的,不同的zkEVM 團隊採用的方法大相逕庭。即使是共享一種類型的匯總,其證明器、客戶端和排序機制也往往採用了根本不同的設計。

評估值

相比這些新生的zkEVM 還有一個非常重要的方法——它們的實際配置!一般來說,每個鏈的客戶端和驗證器的架構更值得分析,因為這關係到基本的設計決策,而不是可以輕易更改的應用級配置。但是,如果您是應用程式開發人員配置,細節絕對重要,因此請務必研究每個zkEVM 的出塊時間、出塊氣體、說明發布頻率、排序器限制思考機制以及其他可能影響應用程式使用者體驗的因素!

綜上說:在2023年,不同的團隊進行了大量的開發工作。那麼,如果開發進行,我們是否只需要等待?我們還需要解決哪些問題,才能讓zkEVM獲得不錯的發展?

zkEVM開發還有哪些未解決的問題?

首先,客戶端和證明器之間沒有標準化介面。目前,每個證明器只能與它們最初建造的客戶端相容。您無法將Polygon zkEVM 的證明器用於任何其他2/3 型用戶端。理想情況接下來,任何新的設備或客戶端都應與現有的驗證器/客戶端相容。鼓勵不同的zkEVM 團隊遵守驗證單一介面的EIP(例如這裡提出的草案)是未來的重要一步。

可以理解的是,大多數團隊目前都在優先最終改進自己的實現,而不是尋求與其他團隊的兼容。這目前也許是可以接受的,但希望我們L2 序列的zkEVM 特別能使用多客戶端/驗證器的設置,以降低重大錯誤的風險。此外,「經典」第2類特徵(如稀疏梅克爾樹、波塞冬雜湊函數非keccak)的標準化實作可能有助於眾多證明者使用或相似的客戶端。減少「幾乎是geth」的客戶數量將是生態系統的巨大勝利!有人提出了一項名為「RollCall」的標準化倡議,同時也提出了一系列「Rollup Improvement Proposals」」(RIPs 💀),但目前仍慶祝其影響力有多大。

其次,這些zkEVM 幾乎都是單序列器,這給這些rollup 的分散性和安全性帶來了挑戰。值得注意的是,驗證器的作用只是確保L1 L2 橋接的安全性。任何依賴L2 的預置確認的外部系統(如CEX)都會因完全依賴單排序器而將大量資金安置在風險之中——對於目前的許多L2來說,破壞性的黑客攻擊只需要一個損壞的排序器即可。然而,一旦將排序器去中心化,就會出現另一個系列挑戰(如下面對太鼓的描述所示!)。你是否需要提供zk 證明來證明L1 完成了L2?如果問題怎麼辦? MEV又是怎麼回事?出於品牌/對稱/鏈信心的考慮,大多數單排序器匯總目前都沒有使用MEV,但在未來可能會改變。

第三,目前還沒有實現zkEVM 性能和成本的標準架構。本文的許多內容都集中在比較各種zkEVM 設計對效能的潛在影響,但目前很少有zkEVM 團隊公佈任何實際的效能規格或測試。成本「有幾個獨立的組成部分:

產生證明的雲端運算成本(受電路效率影響) 證明驗證的L1成本資料可用性成本從Lx Ly 發送訊息的成本

我能夠為這些領域創建標準化測試,加上結果列表,以幫助建構者做出應該更明智的決定——目前這是不可能的。這裡有一些評估差異:在某些類型的事務中,有些驗證設備實作會比其他驗證器更好,有些成本取決於使用情況,可以因為在批次中攤銷事務成本。如何向用戶公佈這些成本也是一個很大的不確定因素(例如,Immutable zkEVM 計劃在大)大多數情況下都是為了用戶支付成本發布,而Scroll 則有一個複雜的L1 + L2 費用設置,以確保每筆交易都有單位利潤)。此外,許多zkEVM 都可能會遇到與狀態成長相關的效能問題—— ——以太坊區塊空間的擴展不是免費的!上述所有問題都需要比現在更簡單/可比較。

第四,對於大多數智能合約卷來說,退出遊戲的理解和定義仍然很模糊。自我維持在特定於應用程式的筏(如不可變X)包含明確的定義——即使序列器完全離線或非法,你存入L1 橋的任何資產都應該是可搜尋的。這通常被稱為“逃生艙門”。但在智能合約極性的情況下,這意味著融資?如果你的ETH押在合約中,無論如何都不應該可用,那該怎麼辦?這一切是否都與抵抗審查有關——我們是否需要保證強制交易的能力?對於用於不同目的的zkEVM(例如遊戲資產與DeFi)那麼,什麼程度的數據可用性是可以接受的?我們需要一致的框架來向使用者傳達實際的故障情況——L2 Beat 在這方面已經有了一個很好的開始!

第五,zkEVM 與以太坊L1 的關係仍不清楚。在這篇文章的初稿和最終發布之間,Vitalik 又發布了一篇反映「enshrined zkEVMs」的部落格文章。簡而言之,以太坊客戶坊端層可以有「enshrined」zk 校驗器實現,用於驗證從其他來源(如L2)提交的EVM 區塊的執行。這可以避免每個L2 zkEVM 都必須不斷更新自己的zkEVM 校驗器(大)贏家! )—當完全SNARK化的以太坊成為現實時,他們可以藉助其他團隊的工作,包括核心以太坊客戶端團隊。那麼,我是否應該將“enshrined zkEVMs”的提議理解為代替以太坊以L2為中心的擴展路線圖,將L2捕獲的價值帶回母船呢?

實際上不然。 L2 仍需要自己的序列器來提供快速確認(在遊戲等領域至關重要),而Vitalik 提議的設計將僅支援完全鏈上數據的zkEVM。大多數L2 幾乎肯定希望出於貨幣化原因保持獨立性,這表明以太坊生態系統需要做出權衡。 L2對於擴展以太坊區塊空間至關重要,但其激勵機制(和BD團隊)可能並不總是重要地與以太坊保持一致。

最後,多個zkEVM 將繼續造成用戶和流動性的分散,帶來糟糕的用戶體驗。現在,每增加一個以太坊L2,都會繼續分裂狀態和流動性——如果你在Arbitrum 上有2 個ETH,在任何其他L2 上訪問這些ETH 都非常困難。在我看來,這是迄今為止支援獨立區塊鏈的最好的地震,因為獨立區塊鏈的可組合性得到了極大的改善,用戶不必要在多個鏈上玩弄餘額。目前「L2工具包」(如Polygon CDK、Arbitrum Orbit、OP Stack)的大量支撐創建,鏈填充外部很容易,但可以將更大的碎片化為代價的。

為了使這種多L2 模型長期成功,我們需要在大多數情況下將單一鍊和平衡從使用者中提取出來。這是證明可以阻止證明的最有力論點之一——即時證明驗證可在鏈間快速橋接。然而,即使有了強大的橋接/互通性框架,大量的使用者體驗挑戰也需要解決。在Immutable中,我們的計劃是透過垂直整合和錢包層的Immutable Passport來解決這個問題。有關這方面的更多信息,寶寶期待!

百年

2023年對zkEVM來說,既是開發進展的一年,也是為實際應用做準備的一年。 2024年將是第1類和第2類zkEVM正式投入生產使用的第一年,但實際上我們首先要到第三季度/第四季度才能用上它們,而且我們還需要解決許多性能問題才能實現這目標!

我想明確指出,zkEVM 在2024 年的價值主要問題不是技術問題(儘管我們顯然還存在一些問題),而是問題——我們能否在下一代L2 上為用戶創造令人興奮的應用?我們既需要協議開發人員,也需要出色的應用程式開發人員!

如果您想在zkEVM技術的未來發展並透過幫助開發者建立主流Web3遊戲來推動應用程式普及這兩種之間的交叉點上工作,我們Immutable公司正在招募!

資訊來源:0x資訊編譯自網際網路。版權歸作者ALEX CONNOLLY所有,未經許可,不得轉載!

Total
0
Shares
Related Posts