menu-icon
anue logo
鉅樂部鉅亨號鉅亨買幣
search icon
區塊鏈

一文梳理zkEVM方案:zkSync、StarkNet、Polygon zkEVM、Scroll

BlockBeats 律動財經 2023-03-30 19:01

cover image of news article
律動財經圖片

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 需要發布完整數據,以便任何人都可以重建交易並最終挑戰它們。

因此,ZK Rollups 在以太坊上使用的數據帶寬更少(這是所有 Rollups 都需要共享的稀缺資源,無論它們使用哪種系統來執行交易,包括 ZK 電路),使用戶甚至可以獲得更便宜的費用(甚至是零費用)。

Zk-rollups 被認為是以太坊可擴展性的終極解決方案,但由於以太坊虛擬機(EVM)不設計支持 ZK 電路,實現它們是困難的。為了解決這個問題,許多組織和研究人員嘗試創建一個名為 zkEVM 的 Rollup 支持虛擬機,它可以以與零知識證明計算兼容的方式運行智能合約。

Vitalik 提出的四種 zkEVM 分類

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 提出的四種分類



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。

等效於以太坊。這意味著在所有組成部分上複製以太坊,類似於 Polygon 所做的方式。到目前為止,沒有任何 zk Rollup 屬於此類別。

將此框架與 Immutable 提出的框架相結合,並添加一些其他資訊,可以概述以下圖表,在沒有任何性能數據可用之前,突出考慮在比較不同的 zkEVM 實現時要考慮的一些設計差異和相似之處:

一文梳理 zkEVM 方案:zkSync、StarkNet、Polygon zkEVM、Scroll

zkSync 2.0 



zkSync 2.0 (在主網發布前剛剛更名為 zkSync Era)是以太坊網路的擴展解決方案,與 Solidity 編程語言完全兼容。使用 zkSync,用戶可以選擇兩種數據可用性類型:zkSync Rollup 和 zkSync Porter。前者將數據直接發布在以太坊上,使其與以太坊 L1 一樣安全,而後者將數據儲存在鏈下,導致交易速度更快、成本更低,但安全級別較低。

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



StarkNet 是一種類型 4 / Solidity 兼容的 zk-rollup,它採用了一種不同類型的零知識證明,稱為 STARKs (Scalable Transparent ARgument of Knowledge),以確保鏈下交易的完整性。STARKs 被認為比 SNARK 更有效和可擴展,但可能需要更複雜的技術設置。

雖然 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



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 倍,並與以太坊本身原生兼容。

除了 Polygon zkEVM,Polygon 還開發了 Polygon Avail,這是一個僅優化數據可用性的區塊鏈。該網路將是無需許可的,允許任何人加入作為驗證器,與現有的 DAC(Data Availability Committees)不同,它將有數百個節點協作提供網路安全。Avail 將與 Polygon Hermez(Rollup)配對工作,從 Hermez 上傳狀態數據而不是在以太坊上發布,提供 Validium 和 Rollup 之間的解決方案。

儘管一些專家指出,Polygon 提供的規格說明更適合描述為 EVM 兼容性,但該團隊正在努力創建第一個完全等效於 EVM 的解決方案。

Scroll



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 和 Polygon 都採用了字節碼級別的方法來構建它們的 zkEVM。這種方法完全消除了轉譯步驟,這意味著在編譯和解釋之前,這些 zkEVM 不會將 Solidity 代碼轉換為其他語言。然而,雖然 Scroll 與以太坊唯一的區別在於運行時環境,但 Polygon 創建了一個自定義 VM 並進行了優化,然後將 EVM 字節碼轉換為該 VM 的字節碼。與 Scroll 不同的是,Polygon 的運行時(「zkExecutor」)運行定製的「zkASM」操作碼(圖中的微操作碼),而不是 EVM 操作碼,以優化 EVM 解釋(即減少約束的數量而不是直接證明 EVM)。Polygon zkEVM 可能不會與 100 % 的 Solidity 代碼、工具和應用程序兼容,儘管大部分都可以。

雖然這些是專注於推出通用 zkEVM 實現的最顯著項目,但其他特定應用項目也在實踐中使用 zk 技術。

Looping 是一種特定應用的 zk-rollup,用於支持去中心化交易所(DEX)協議。Loopring 也是一個使用 zk 證明讓任何人構建 dex 的平台。Immutable X 是另一個基於 StarkWare 構建的特定應用的 zk-rollup,用於 NFT 交易和遊戲。Aztec 是一種以隱私為本的基於以太坊的 zk-rollup,它通過加密數據來保持數據對協議的透明度和可用性,同時保護用戶的隱私。此外,Aztec 還發明了 PLONK 證明系統,也被 zkSync 和其他項目使用。

Immutable X、Sorare、rhino.fi、ApeX、dYdX 等多個協議都是基於 StarkEx 構建的。在使用 StarkEx ZK-Rollup 的項目中,數據作為 calldata 發送到以太坊並發布在鏈上。在 Validium 模式下,數據儲存在鏈下,只有哈希值儲存在鏈上。雖然 Rollup 模式確保更高的安全性(用戶只需與以太坊區塊鏈進行交互即可重新創建分類賬狀態),但 Validium 模式可以確保更低的成本和更高的隱私。

總體而言,儘管 zkSync Lite 是最大的 zk rollup,StarkWare 擁有最大的生態系統,包括在 StarkEx 上構建的項目,它的 TVL 和市場市佔率也最大。

一文梳理 zkEVM 方案:zkSync、StarkNet、Polygon zkEVM、Scroll

總結



總之,zk-rollup 是擴展區塊鏈網路的一種有前途的解決方案,提供各種實現以滿足不同的需求和要求。雖然存在一些分類,但值得注意的是,它們是近似的解釋,缺乏對定義和技術差異的共識。

正如 Scroll 聯合創始人 Sandy Peng 所承認的:「沒有任何定義能夠得到清晰的共識。「Scroll 的整個研究團隊」傾向於某種敘述方式或某種看法,但這並不是一個明確的事情。我們的研究團隊甚至在所有事情的含義上都沒有達成共識。」

儘管如此,在 zk rollup 實現中出現了一些共同的趨勢:

首先,它們似乎都採用了混合方法來處理數據可用性,提供一個傳統的鏈上數據儲存的 rollup 版本和一個鏈下數據儲存的 validium 版本。Avail 首席執行官 Anurag Arjun 告訴 Blockworks:「在我看來,你會發現每個 rollup 都會有一個 rollup 版本和一個 validium 版本。」

其次,它們大多避免使用純開源代碼,直到它們實際運行,這也與來自像 Arbitrum 和 Optimism 這樣的 optimistic rollups 的激烈競爭有關。Zk-rollups 承諾更高效,但技術上更難以實現。

此外,正如上表所清楚的那樣,optimistic rollups 尤其是 Arbitrum,正在受益於先發優勢,並且在應用程序、交易量和市場市佔率方面領先市場。如果被證明成功,optimistic rollups 可以將有效性證明模型與他們已經建立的用戶基礎相結合(例如,Optimism 的升級 Bedrock 可能引入有效性證明)。

此外,儘管所有實現開始時都採用了中心化序列器來提高效率,但它們都致力於逐步去中心化,以解決對集權的擔憂。有趣的是,去中心化排序器可能需要一種原生代幣的經濟激勵,因此所有提到的項目都應該採取這個步驟。

最後,過去一年中這些 zkEVM 實現所取得的驚人成果已經引起了總體上 zk 技術的新一輪關注,公司專注於各個方面的發展,包括開發新的 zk 硬體來提高證明生成速度。

儘管仍然存在一些挑戰需要解決,但在僅僅一年多的時間裡,zkEVM 設計所取得的進展是值得注意的, 2023 年可能是這項技術決定性的一年。

原文連結

暢行幣圈交易全攻略,專家駐群實戰交流

▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!

前往鉅亨買幣找交易所優惠






Empty