從Type1到Type4,各類型ZK-EVM間差異何在?

2023-09-25 16:09:19

原文作者 | Lisa Akselrod

編譯 | Odaily 星球日報 0xAyA

 

編者按:作者根據 Vitalik 此前撰寫的 ZK-EVM 介紹文章進行整理,並詳細介紹了各類 ZK-EVM 和它們之間的差異。

大約一年前,一群 ZK-EVM 宣布即將推出測試網。這些舉措激起了以太坊社區的好奇心,並引發了人們對以太坊等效和 EVM 等效等術語背後的細微差別的討論。

為了明確起見,Vitalik 撰寫了一篇重要的文章,題為 《不同類型的 ZK-EVMs》 ,將各種 ZK-EVM 分類為四種類型,並解釋了它們的區別。

其核心思想是:Type 1 (例如 Taiko )與以太坊完全等效,而 Type 4 (例如 zkSync)在高效的證明生成方面表現出色。所有其他類型,Type 2、Type 2.5 和 Type 3 ,介於這兩者之間(例如 Polygon zkEVM、 Scroll Linea )。

大多數 ZK-EVM 最初都是 Type 2.5 和 Type 3 ,並透露了一些朝 Type 1 或 Type 2 發展的意圖,盡管這些項目沒有為此提供具體的時間表或承諾。

本文主要關注 Type 1 和 Type 2/Type 2.5 之間的差異,並描述了破壞以太坊等效性可能帶來的後果。我們還將簡要介紹其他類型。

ZK-EVM 的主要目標是擴展以太坊,即提高以太坊的吞吐量,同時保留其其他特性(安全性、开發者體驗等)。在理想情況下,ZK-EVM 應該能夠:

  • 根據黃皮書中以太坊虛擬機規範,證明未經修改的原生字節碼的執行情況(覆蓋 100% 的以太坊操作碼)。

  • 以低成本快速生成證明。

  • 允許 100% 重用為以太坊开發的工具和基礎設施。

  • 允許將任何以太坊 dApp“按原樣”重新部署在 ZK-EVM 上(“原樣”意味着不需要任何更改,毫不妥協)。

ZK-EVM 類型之間的區別

在 ZK-EVM 領域,區別主要來自以太坊/EVM 等效性水平、ZK 不友好元素對證明生成成本和速度的影響,以及電路實現的復雜性(如 VM 構建或狀態樹)。

讓我們分析這些差異,特別是將 Type 1 與 Type 2/Type 2.5 區分开來。我們還將涉及到與每種類型最相關的使用案例。

在比較各種類型時,通常使用下面的圖表:

對於那些不在 ZK-EVM 領域全職工作的人來說,這張表可能看起來一頭霧水,所以讓我們將這些術語翻譯成通俗易懂的話再看看:

這個圖表更清晰地展示了每種類型的實際情況,但它仍然可能有些晦澀難懂,接下來讓我們通過分別解釋每種 Type,全面探索 ZK-EVM 領域。

Type 1 :等效於以太坊

Vitalik Buterin

“Type 1 ZK-EVM 是我們最終需要的,使以太坊第 1 層本身更具可擴展性。”

Type 1 表示不更改以太坊系統的任何部分,以便更輕松地生成證明。對以太坊的不改變意味着安全性上的不妥協,因為大多數密碼學原語(例如哈希函數)、开發者基礎設施(例如調試器)或鏈基礎設施(例如執行客戶端)已經經過了 9 年的實战測試。

Type 1 ZK-EVM 不會替換任何東西:哈希、狀態樹、事務樹、預編譯或任何其他共識邏輯,一切都與主網的 EVM 完全相同。

  • Type 1 是唯一能夠驗證以太坊鏈本身的類型——從整個區塊到交易執行、智能合約和账戶邏輯。

Type 2 :等效於 EVM

Type 2 通過去除一些不利於 ZK 的部分,使得證明生成更快、電路开發更容易。然而,由於這一點的後果,它可能會使得 ZK-rollup 的其他部分(例如節點軟件)的开發更加復雜。這些復雜性可能是由於已經確立的最佳實踐和測試工具與實施的更改(例如改變的狀態樹)不兼容所導致的。

注意:等效於以太坊和等效於 EVM 並不相同。雖然等效於以太坊意味着沒有改變以太坊的任何部分,也就是說與所有以太坊 dApp 完全兼容,但是等效於 EVM 允許改變數據結構(例如塊結構或狀態樹)。

盡管這些調整可能看起來很小,但它們會影響以太坊的兼容性。改變數據結構可能導致以太坊 dApp 與 Type 2 ZK-EVM 不兼容,特別是在驗證關於過去交易、收據或狀態的 Merkle 證明時(例如跨鏈橋)。

刪除 ZK 不友好的元素

對以太坊進行的修改旨在簡化开發並提高證明生成速度。目標是修剪依賴於不友好的零知識密碼學的以太坊部分。用更專業的術語來說,由於非本地域(例如哈希函數)而需要大量門電路(加法和乘法操作)的部分;大量的多標量乘法和/或快速傅裏葉變換(FFT);或者只是需要大量操作的部分。

Type 2 ZK-EVM 可能修改的不友好的零知識元素的具體示例:

  • 哈希函數:雖然以太坊使用 Keccak 哈希函數,但許多 ZK-EVM 使用 Poseidon 哈希函數,它需要的門電路數量顯著較少。例如,讓我們估計每種類型的哈希函數可以每秒計算多少個(即證明生成速度的比較)。

Poseidon 哈希函數在證明生成方面具有顯著的速度優勢。

然而,需要注意的是,相對於廣泛社區認可的已建立的密碼學原語,較新的密碼學原語並不那么受青睞。盡管 Poseidon 可能提供速度,但 Keccak 經過實战檢驗的特性使其更具魯棒性和安全,因為它被廣泛採用。

這就是為什么 Keccak 盡管更古老且被更廣泛的社區採用(在其他行業,例如安全系統或智能設備中的傳感器),但可以被認為比 Poseidon 更更經得起考驗,畢竟 Poseidon 是在 ZK 社區內創建和使用的新哈希函數。

  • 用於數據存儲的狀態樹:例如,雖然以太坊使用 Merkle Patricia 樹 (使用 Keccak 哈希),但一些 Type 2 ZK-EVM 選擇 稀疏 Merkle 樹 (使用 Poseidon 哈希)。更改狀態樹可能會導致一些不兼容性。例如,以太坊的 Merkle 樹具有不同的節點類型,並使用 RLP 對數據進行編碼,這在 ZK 中是一件困難的事情。

  • 塊結構: 塊包含大量信息。然而,在探索L2時,我們只關心 execution_payload_header(即塊哈希)。在下圖中,有 execution_payload_header 中包含的所有數據的結構(塊哈希)。

請注意:更改這些組件任意之一都會破壞以太坊等效性。

Type 2.5 :等效於 EVM,考慮 gas 成本

Type 2.5 ZK-EVM 增加了在 EVM 中使用 ZK 技術難以證明的特定操作的 gas 成本。

鑑於以太坊每個區塊的 gas 限制(30 M gas),增加每個操作碼的 gas 成本會導致每個區塊的操作碼減少。因此,一個區塊中可以包含較少復雜的操作碼。較簡單的操作碼使電路變得更小,並且生成證明的速度更快。

  • gas 是工作量的度量單位。

  • 操作碼的價格是以 gas 計算的。

  • 操作碼指定了機器語言指令中的操作。

  • 一個程序是操作碼的靜態列表。程序執行是執行跟蹤。

  • 執行跟蹤是程序執行的特定有序操作碼列表。

難以進行 ZK 證明的部分包括:

  • Keccak 操作碼和一些依賴於 Keccak 的其他操作碼。

  • 預編譯:對 EVM 可訪問的函數。其中一些提供復雜或數學上復雜的任務,例如密碼學函數(例如 blake 2 f 或 sha 256)。它們不在 EVM 內執行,而是作為在執行客戶端中硬編碼的函數,並使用對特殊地址的 CALL 向 EVM 公开。

  • 內存訪問:例如,增加內存插槽大小(例如,以太坊使用 字節對齊 的內存,而 Polygon zkEVM 使用 32 字節的內存插槽)。為了使這種更改成為可能,必須更改某些操作碼(例如 MLOAD)的內部邏輯。

  • 存儲(即如上所述更改哈希函數或狀態樹)。

改變 gas 成本可能會降低开發人員工具的兼容性並破壞某些 dApp。例如,經常執行 gas 成本增加的操作碼的智能合約可能會超過區塊 gas 限制並且無法執行。

Type 3 :幾乎等效於 EVM

Type 3 ZK-EVM 省略了不適用於 ZK 的預編譯,並可能調整內存和存儲訪問。

依賴已刪除的預編譯的 dApp 需要進行重寫。在不常見的情況下,Type 3 ZK-EVM 和原始 EVM 處理邊緣情況的方式的差異可能需要對 dApp 進行調整。

Type 4 (相當於高級語言)

Type 4 離 EVM 已經很遠了。

用高級語言(例如 Solidity,Zinc)編寫的智能合約源代碼被編譯為中間表現形式,生成適用於 ZK 友好的虛擬機的操作碼。

  • 這種方法避免了為每個 EVM 執行步驟生成 ZK 證明,從而大大減少了證明工作。

  • 即使合約可以編譯,如果 dApp 使用 EVM 手寫字節碼,也需要進一步的工作。

  • Type 4 ZK-EVM 還需要自己的开發人員工具((僅適用於操作碼級別),例如調試器和跟蹤器。

在證明執行軌跡的 ZK 電路中,每個步驟都實現了約束,每個步驟的成本是所有操作碼的總和。因此,Type 4 ZK-EVM 旨在使用盡可能少的復雜操作碼來優化效率。

值得一提的是,自定義操作碼(不在以太坊中涵蓋的操作碼)使得可以通過默認情況下在以太坊上無法實現的新功能。例如,通過帳戶抽象功能進行多次調用執行,或使用像 Argent 這樣的开箱即用解決方案啓動智能合約錢包。

總結

不同的 ZK-EVM 類型優先考慮不同的目標和特徵。Type 1 側重於以太坊等效性,而 Type 4 優先考慮高效的證明生成。其他類型介於這些極端之間,許多 Type 2 和 3 ZK-EVM 協議已宣布他們打算轉向以太坊等效。

這四種類型的分類可能不是 ZK 匯總的最終狀態,將來可能會進行進一步的修改。例如,一些 ZK-EVM 可能會成為混合型,Type 1/2 可能會开發 Type 4 解決方案(具有盡可能高的效率)並為 dApp 提供兩種選擇,而 Type 3 和 4 ZK-EVM 可能會添加以太坊等效選項。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

動區週報:降息2碼如何影響市場、Catizen空投落地、中國長安鏈、BingX遇駭…

本週(9/15-9/21)重要大事速覽 本週美國聯準會正式宣佈 降息 2 碼 ,加密貨幣與領先美股...

Arthur Wang
3 1小時前

Solana新手機Seeker亮相,這次能靠空投回本嗎?

@OdailyChina @web3_golem 9 月 19 日,Solana Labs 旗下的...

星球日報
3 1小時前

這42個山寨幣今年「跑贏比特幣」:迷因幣稱王、AI賽道與TON表現強勢

本 輪牛市截至目前,比特幣受惠於現貨 ETF 的推出,早在今年 3 月就創下 73,000 美元的...

Editor Jr.
5 9小時前

比特幣回測6.3萬、以太坊挑戰2600美元,美股逢「四巫日」投資人收手觀望

比 特幣昨(20)日持續在 6.3 萬美元附近窄幅震盪,直到日本央行在早上 11 左右點宣布維持當...

Ting
4 9小時前

BingX 恢復 BSC 鏈主流幣、USDT (TRC20) 出金,鏈上專家估損失4~5千萬美元

昨 (20)日清晨,BingX 交易所熱錢包 證實 遭遇駭客攻擊,隨後該平臺啟動 緊急應變 計畫凍...

Ting
4 9小時前

專訪PolyFlow聯創Raymond Qu:打造PayFi基礎設施

原文來源: Web3小律 2008 年的比特幣白皮書,為我們描繪了一個無需可信第三方的點對點電子現...

星球日報
7 9小時前