買幣
行情
現貨
合約
理財
活動
更多
reward-center新手專區
報告分析詳情
專案研究

ZK-EVM:ZK-Rollup 的聖杯

  • ZEC0%
  • ETH0%
  • ZK0%
  • DYDX0%
  • GTC0%
CoinEx logo
發佈於2022-10-31

以太坊擴容一直是備受關注的熱門話題,許多用戶都熱切期待。一個普遍的誤解是2022年9月以太坊合併(Merge)將工作量證明(PoW)轉換為權益證明(PoS)的共識機制會提升以太坊的性能。實際上,合併並未改變區塊大小,區塊時間僅從平均13秒縮短至12秒,這意味著性能提升有限。以太坊短期的擴容希望仍然寄託在二層網絡(Rollups)上。在兩種主要的Rollup方案中——樂觀卷軸(Optimistic Rollup)和零知識卷軸(ZK-Rollup),許多人更青睞後者。ZK-Rollup不僅通過批量處理鏈下交易降低網絡費用,還通過零知識證明繼承以太坊的安全性,無需像樂觀卷軸那樣設置挑戰期。

僅支付型ZK-Rollups

早期的ZK-Rollups因缺乏EVM兼容性而受到批評,因此無法支持智能合約功能。例如,Gitcoin的主要捐贈支付方式zkSync 1.0只能支持基本轉賬。目前的ZK應用,如dYdX,都是定制開發且不可互操作的,這使得開發變得困難。此外,不同的ZK應用使用不同的定制電路,限制了可組合性。因此,市場迫切需要一個與以太坊智能合約兼容的ZK-Rollup,其中主要障礙是實現一個支持零知識證明的虛擬機。本文將介紹EVM、ZK-EVM以及主要的ZK-EVM項目及其差異。

什麼是EVM?

以太坊虛擬機(EVM)作為以太坊的執行引擎,是智能合約的運行環境。開發者用Solidity等高級語言編寫業務邏輯,然後編譯成字節碼。EVM將這些字節碼解釋為機器可讀的操作碼,執行相應指令以更新系統狀態。EVM是一個基於堆棧的虛擬機,與堆棧、內存和存儲進行交互。對於以太坊及各種擴容方案或競爭鏈而言,EVM已成為以太坊生態系統的代名詞,代表著其開發者、應用程序和工具。非EVM兼容的區塊鏈必須建立自己的生態系統,需要開發者重新創建應用程序和工具。與EVM兼容允許開發者無縫遷移現有的以太坊合約並使用以太坊的工具。

ZK-EVM:ZK-Rollup 的聖杯


新興的ZK-EVM

儘管EVM在以太坊生態系統中扮演著關鍵角色,但開發ZK-EVM具有挑戰性。ZK-EVM在保持EVM兼容性的同時生成零知識證明,允許以太坊智能合約無需修改即可部署,並通過零知識證明驗證計算。EVM在設計時並未考慮ZK兼容性,因為零知識證明算法(如zk-SNARKs)直到2016年才被Zcash廣泛採用。某些EVM操作對ZK不友好,使得證明生成變得困難、緩慢或體積龐大。

開發ZK本身就極其複雜,涉及密碼學、數學和硬件專業知識。構建ZK-EVM更具挑戰性,因為它既需要EVM兼容性又需要ZK友好性。幸運的是,近年來ZK技術取得了重大突破。ZK-EVM領域的參與者,包括Starkware、zkSync 2.0、Polygon和Scroll,都在加速ZK-EVM的開發,大多數計劃從2023年開始推出主網。


ZK-EVM項目比較

ZK-EVM並不遵循統一的設計或標準,每個項目都在EVM兼容性和ZK支持之間尋求自己的平衡。主要有兩種方法:

1. 程序語言級支持:定制EVM操作碼以優化ZK,重構虛擬機以支持ZK友好的操作,並將Solidity編譯成新的VM操作碼。

2. 字節碼級支持:保持原生EVM操作碼兼容性。

第一類項目包括Starkware的StarkNet和zkSync 2.0。StarkNet通過將Solidity編譯成StarkNet的語言Cairo,可以在其ZK友好的VM上運行任何以太坊dApp。同樣,zkSync 2.0通過其Yul和Zinc編譯器實現ZK-EVM功能,其中Yul是Solidity的中間表示,而Zinc是一種基於Rust的語言,用於智能合約和通用ZK電路。兩者都建立在LLVM框架上,以實現高效的ZK-EVM字節碼。

這些項目在語言層面提供Solidity兼容性,允許開發者遷移Solidity合約,儘管底層VM架構與EVM不同,技術上是一個zkVM。由於VM指令集不同,某些現有的開發者工具可能無法直接使用,但這種方法更加ZK友好,可以更高效地生成證明。

在第二種方法中,像Polygon ZK-EVM和Scroll這樣的項目保持原生EVM操作碼兼容性。Polygon的uVM是一個經過ZK優化的VM,通過將EVM字節碼編譯成微操作碼來執行,使用自定義操作碼來增強EVM操作。Polygon ZK-EVM完全兼容EVM,使現有的智能合約、開發者工具和錢包能夠無縫運行。Scroll同樣為每個字節碼設計電路,驗證每個EVM執行步驟,包括加載字節碼、執行操作碼和更新存儲。

ZK-EVM:ZK-Rollup 的聖杯 - image 2


在Vitalik的博客中,他將ZK-EVM分為幾種類型。Type 1指直接在以太坊上開發的ZK-EVM,這很複雜且效率低下,以太坊基金會正在進行研究。Type 2、2.5和3是EVM等效的ZK-EVM,目前Scroll和Polygon Hermez處於Type 3,正在向Type 2.5甚至Type 2邁進。Type 4包括與高級語言兼容的ZK-EVM,如Starkware和zkSync。這些類型沒有內在的優劣之分,因為沒有標準化的ZK-EVM模型。正如Vitalik所說:"理論上,以太坊不需要為L1使用標準化單一的ZK-EVM實現;不同的客戶端可以使用不同的證明,因此我們繼續受益於代碼冗餘。"

ZK-EVM:ZK-Rollup 的聖杯 - image 3


結論

每個ZK-EVM解決方案都有其獨特優勢,由於大多數項目尚未開源其代碼,因此無法比較效率。作為最大的智能合約平台,以太坊的生態系統和網絡效應十分強大。ZK-EVM作為ZK-Rollups的聖杯,利用以太坊的生態系統和網絡效應來繼承其安全性,降低費用,並培育充滿活力的開發者生態系統。2021年初,Vitalik在其博客中提出,短期內樂觀卷軸可能在通用EVM計算方面表現更好,而ZK-Rollup可能在更簡單的支付、交易和特定應用場景中表現出色。然而,隨著zk-SNARK技術的進步,ZK-Rollup可能在中長期內在所有用例中佔據優勢。隨著多個ZK-EVM項目推出主網,以太坊的二層擴容前景在不久的將來將會非常令人期待。

查看完整內容