一文梳理zkEVM方案:zkSync、StarkNet、Polygon zkEVM、Scroll
編譯:深潮TechFlow
編譯:深潮TechFlow
編譯:深潮TechFlow
編譯:深潮TechFlow
ZK Rollups,也稱為有效性Rollups,是一種革命性的以太坊擴展方式,它允許交易在鏈下進行處理,並在主鏈上以單個壓縮交易的形式合併。這個過程增加了交易吞吐量,降低了費用,同時保持了主鏈的安全性和去中心化。
使用零知識證明(ZKP)是ZK Rollups 的突出特點之一,這種密碼學證明類型使得證明者能夠向驗證者證明一個陳述是正確的,而不洩露任何額外的信息。
對於ZK Rollups,ZKP 確保鏈下交易的完整性,使證明者能夠證明交易批次的有效性,而無需透露交易的具體細節,也無需要求驗證者在接受新狀態之前檢查所有交易。
與Optimistic Rollups 相比,ZK Rollups 提供了更高級別的安全性,因為它們沒有在以太坊之上引入其他信任假設,並依靠以太坊和數學來保證安全性。 Optimistic Rollups 依賴於博弈論和1/n 誠實節點假設,這意味著對於每個交易批次,總會有至少一個誠實節點可以挑戰惡意交易。
另一方面,ZK Rollups 的操作者,也稱為序列器和證明者,沒有任何機會危害用戶的資金,因為他們的角色“僅僅”是收集交易批次並生成ZK 證明,而用戶的資金仍留存在以太坊L1 上,以太坊最終負責驗證L2 提交的ZK 證明並完成底層交易。
有效性證明是通過對狀態數據進行複雜的多項式計算來生成的。如果狀態數據無效,則無法生成有效性證明。 L1 上的驗證者將輸入狀態數據來驗證有效性證明,因此如果證明者更改了狀態數據,則驗證者將不接受該證明。
與Optimistic Rollups 相比,ZK Rollups 還有兩個優點:更快的最終性和更高效的數據可用性。
首先,它們使得最終性更快。因為只要提供有效性證明,交易就在以太坊上被確認;而Optimistic Rollups 需要等待一個星期確保沒有挑戰,因此才認為交易是合法和最終的。
其次,與數據可用性相關,ZK Rollups 更加高效。因為只需要發布狀態差異即可,因為無需重建所有交易以進行驗證,相反,Optimistic Rollups 需要發布完整數據,以便任何人都可以重建交易並最終挑戰它們。
Vitalik 提出的四種zkEVM 分類
需要注意的是:
需要注意的是:
需要注意的是:
需要注意的是:
zkEVM 越接近以太坊的功能,生成Zk 證明的速度就越慢,成本就越高。
另一方面,如果一個區塊鍊或Rollup 更符合以太坊的規範和標準,那麼開發人員就更容易在其上構建應用程序並集成到以太坊生態系統中。
總之,與以太坊高度兼容的區塊鏈可能具有競爭優勢。
第一類:完全等同於以太坊的zk rollups,在所有部分(包括哈希、狀態樹、交易樹、預編譯或任何其他共識邏輯)中精確地複制以太坊。到目前為止,還沒有任何zkEVM 能夠實現與以太坊的等效性。
第二類:完全等同於EVM 的Zk rollups 力求與EVM 等效,但並非完全等效於以太坊。它們與現有應用程序完全兼容,但對以太坊進行了一些微小修改,以使開發更容易,並且可以更快地生成證明。 Scroll 和zkEVM Polygon 在理論上屬於此類;在實踐中,它們目前屬於第三組。
第三類:幾乎等同於EVM,為了使證明生成更快,犧牲了更多元素和等效性。 Polygon zkEVM 和Scroll 目前屬於此類。這個類別通常是進入第二類的跳板。
第四類:高級語言等效,意味著它們都接受用Solidity 編寫的智能合約,然後將其轉換為另一種自定義的、適用於zk 的語言。 zkSync 和StarkNet 屬於這個類別,儘管zkSync 可能會隨著時間推移添加對EVM 字節碼的兼容性,並最終向更高的類型轉移。
雖然Vitalik 提出的分類目前是最流行和最公正的,但也有其他分類方法。

Immutable,這個基於StarkWare 並專門針對NFT 的L2,在其一篇博客文章中提供了以下有用的分類:
zkEVM 方案一覽:簡析zkSync、StarkNet、Polygon zkEVM、Scroll
這些類別與Vitalik 的分類相比,更清晰地基於現有zkEVM 在堆棧的特定級別(高級語言、字節碼或運行時環境)上達到其與以太坊的兼容性或等同性。
Solidity 兼容。與以太坊的兼容性是在高級語言級別Solidity 上實現的,這意味著開發人員可以繼續使用他們在以太坊上習慣使用的語言編寫智能合約。然而,這些Rollup 立即將Solidity 轉換為它們的中間表示形式,然後在它們的字節碼中編譯,並在它們的自定義環境中執行。具體來說,這些L2 使用轉譯器將Solidity 代碼轉換為自定義VM 的可讀代碼(StarkWare 的Cairo,zkSync 的LLVM-IR)。這些轉譯器不支持某些Solidity 功能,因此開發人員可能需要調整他們的智能合約。例如:zkSync 和StarkNet。
EVM 兼容。從語言層面上看,這些Rollup 與EVM 兼容,但它們擁有自己的字節碼,這意味著Solidity 可以直接編譯成EVM 操作碼/ 字節碼,然後在自定義VM 運行時之前轉換為自定義字節碼。實際上,這些Rollup 與大多數以太坊程序兼容,但某些應用程序可能需要進行重寫。此外,一些字節碼功能(例如預編譯)不受支持。例如:Polygon zkEVM。
等效於EVM。這些Rollup 創建了一個zk 驗證電路,可以直接讀取EVM 操作碼和字節碼,儘管VM 本身與EVM 不同。這些Rollup 完全兼容現有應用程序,但可以對以太坊進行一些微小修改,以使開發更容易,並使證明生成更快。例如:Scroll。

zkSync 2.0
將此框架與Immutable 提出的框架相結合,並添加一些其他信息,可以概述以下圖表,在沒有任何性能數據可用之前,突出考慮在比較不同的zkEVM 實現時要考慮的一些設計差異和相似之處:
zkEVM 方案一覽:簡析zkSync、StarkNet、Polygon zkEVM、Scroll
zkSync 2.0 (在主網發布前剛剛更名為zkSync Era)是以太坊網絡的擴展解決方案,與Solidity 編程語言完全兼容。使用zkSync,用戶可以選擇兩種數據可用性類型:zkSync Rollup 和zkSync Porter。前者將數據直接發佈在以太坊上,使其與以太坊L1 一樣安全,而後者將數據存儲在鏈下,導致交易速度更快、成本更低,但安全級別較低。
StarkNet
zkSync 是EVM 兼容的,因為它可以將用Solidity 編寫的智能合約代碼轉換為Yul,並將Yul 轉換為LLVM-IR,然後將其重新編譯為專門設計用於zkSync 的EVM 的自定義電路兼容字節碼集。雖然這需要中間步驟,但也允許添加其他非EVM 功能,例如Account Abstraction。此外,zkSync 的公司Matter Labs 計劃逐步使其更具有Ethereum 工具包的兼容性,並準備在可擴展性和互操作性領域推出其第一個三層原型zkSync Opportunity,並作為其雄心壯志的一部分在測試網上發布。
在撰寫本文時,zkSync Era 剛剛推出,因此對其表現作出評論還為時過早。只支持簡單交易的zkSync 1.0 (現在稱為zkSync Lite)是最大的zk rollup 之一,據TVL 統計,已鎖定超過8300 萬美元,累計交易量超過1900 萬筆,而StarkNet 的TVL 僅超過1900 萬美元,累計交易量為400 萬筆。
StarkNet 是一種類型4 / Solidity 兼容的zk-rollup,它採用了一種不同類型的零知識證明,稱為STARKs (Scalable Transparent ARgument of Knowledge),以確保鏈下交易的完整性。 STARKs 被認為比SNARK 更有效和可擴展,但可能需要更複雜的技術設置。
Polygon zkEVM
雖然StarkNet 也支持智能合約,但由於使用STARKs,以及StarkNet 合約和StarkNet OS 是用Cairo 語言編寫的,所以它的能力相對較小。為了使開發更容易,StarkWare 最近升級到了Cairo 1.0 ,該版本模擬Rust。與zkSync Era 一樣,可以將StarkNet 歸類為“Solidity 兼容”,因為它不會在EVM 內執行程序,而是創建一個全新的、專門設計的VM,並使用自定義字節碼。 StarkWare 使用Warp 轉譯器將Solidity 代碼轉換為Cairo VM 字節碼。
然而,與zkSync Era 和其他zkEVM 實現不同,StarkNet 團隊的目標不是與EVM 或其他以太坊組件兼容,而是旨在通過滾動其自定義客戶端API、JavaScript 庫和錢包系統使StarkNet 的VM 盡可能高效,這將迫使與以太坊兼容的工具手動添加StarkNet 支持。儘管Cairo 1.0 還引入了Sierra——安全中間表示——作為Cairo 1.0 和Cairo bytecode 之間的新中間表示層,但Warp 轉譯器不支持某些Solidity 功能,並且離匹配zkSync Era 的EVM 兼容性還有很長的路要走。
Polygon zkEVM 是一種zk-rollup,它使用自定義語言zkASM 來解釋zkEVM 代碼,並在非EVM 運行時環境中驗證智能合約的執行。該項目始於2021 年,通過以2.5 億美元收購Hermez Network 開始開發一個結合了STARK 和SNARK 的安全性和效率的EVM 等效系統。雖然STARK 用於為交易狀態生成有效性證明,但SNARK 用於評估STARK 證明的正確性。這些解決方案的組合可以實現安全性、速度和低交易費用。
2022 年7 月,Polygon 宣布將Polygon Hermez 改名為Polygon zkEVM,在撰寫本文時剛剛推出。 Polygon zkEVM 的最新測試網版本引入了遞歸功能,允許使用一個ZK 有效性證明來驗證其他ZK 證明的批次,其中每個證明都可以驗證多個交易。這一功能得益於Plonky 2 ,一種遞歸SNARK,比現有替代品快100 倍,並與以太坊本身原生兼容。
Scroll
除了Polygon zkEVM,Polygon 還開發了Polygon Avail,這是一個僅優化數據可用性的區塊鏈。該網絡將是無需許可的,允許任何人加入作為驗證器,與現有的DAC(Data Availability Committees)不同,它將有數百個節點協作提供網絡安全。 Avail 將與Polygon Hermez(Rollup)配對工作,從Hermez 上傳狀態數據而不是在以太坊上發布,提供Validium 和Rollup 之間的解決方案。
儘管一些專家指出,Polygon 提供的規格說明更適合描述為EVM 兼容性,但該團隊正在努力創建第一個完全等效於EVM 的解決方案。
Scroll 是由Scroll 團隊與以太坊基金會的PSE(Privacy and Scaling Explorations)小組合作開發的EVM 等效zk-rollup,目前處於Pre-Alpha 測試網階段,旨在在字節碼級別上與以太坊虛擬機(EVM)完全兼容。這意味著開發人員可以使用任何兼容EVM 的語言創建智能合約並部署到Scroll 上。儘管Scroll 目前不支持EVM opcode,但計劃通過構建1: 1 opcode 映射來實現,並直接接受EVM opcode 而無需編譯器。
Scroll 的架構包括一個集中式序列化節點和一個分散的證明網絡。集中式序列化節點負責對交易進行排序、創建區塊,並將交易數據作為calldata 提交到以太坊上的Rollup 合約以供數據可用性。 Scroll 計劃逐步去中心化序列化節點。另一方面,一個名為Roller 的分散式證明生成器會產生證明並將其發佈到L1 網絡上,利用分佈式計算能力。 Rollers 是隨機選擇的,可以在不同的Rollers 上並行生成不同塊的多個證明以增加速度。
*注:雖然目前僅支持鏈上數據可用性,但Scroll 的原始設計也包括Validium 模式。
確實,Scroll 和Polygon 都採用了字節碼級別的方法來構建它們的zkEVM。這種方法完全消除了轉譯步驟,這意味著在編譯和解釋之前,這些zkEVM 不會將Solidity 代碼轉換為其他語言。然而,雖然Scroll 與以太坊唯一的區別在於運行時環境,但Polygon 創建了一個自定義VM 並進行了優化,然後將EVM 字節碼轉換為該VM 的字節碼。與Scroll 不同的是,Polygon 的運行時(“zkExecutor”)運行定制的“zkASM”操作碼(圖中的微操作碼),而不是EVM 操作碼,以優化EVM 解釋(即減少約束的數量而不是直接證明EVM)。 Polygon zkEVM 可能不會與100 % 的Solidity 代碼、工具和應用程序兼容,儘管大部分都可以。
雖然這些是專注於推出通用zkEVM 實現的最顯著項目,但其他特定應用項目也在實踐中使用zk 技術。
總體而言,儘管zkSync Lite 是最大的zk rollup,StarkWare 擁有最大的生態系統,包括在StarkEx 上構建的項目,它的TVL 和市場份額也最大。

總結
總結
總結
總之,zk-rollup 是擴展區塊鍊網絡的一種有前途的解決方案,提供各種實現以滿足不同的需求和要求。雖然存在一些分類,但值得注意的是,它們是近似的解釋,缺乏對定義和技術差異的共識。
正如Scroll 聯合創始人Sandy Peng 所承認的:“沒有任何定義能夠得到清晰的共識。「Scroll 的整個研究團隊」傾向於某種敘述方式或某種看法,但這並不是一個明確的事情。我們的研究團隊甚至在所有事情的含義上都沒有達成共識。 ”
儘管如此,在zk rollup 實現中出現了一些共同的趨勢:
首先,它們似乎都採用了混合方法來處理數據可用性,提供一個傳統的鏈上數據存儲的rollup 版本和一個鏈下數據存儲的validium 版本。 Avail 首席執行官Anurag Arjun 告訴Blockworks:“在我看來,你會發現每個rollup 都會有一個rollup 版本和一個validium 版本。”
其次,它們大多避免使用純開源代碼,直到它們實際運行,這也與來自像Arbitrum 和Optimism 這樣的optimistic rollups 的激烈競爭有關。 Zk-rollups 承諾更高效,但技術上更難以實現。
最後,過去一年中這些zkEVM 實現所取得的驚人成果已經引起了總體上zk 技術的新一輪關注,公司專注於各個方面的發展,包括開發新的zk 硬件來提高證明生成速度。
原文鏈接


