關鍵要點
zkEVM 是一個零知識以太坊虛擬機,可以以與零知識證明(ZKP)技術兼容的方式執行智能合約。
zkEVM 擴展了以太坊上的 zk-rollups,以支持去中心化應用程序(DApps),不僅僅是簡單的代幣轉賬。
開發者可以將現有的以太坊 DApp 和智能合約移植到 zkEVM,而無需學習零知識加密。
zkEVM 根據 EVM 兼容性與 ZK 證明效率之間的權衡被分類爲四種主要類型。
介紹
以太坊開發者在2014年首次提出網絡時,並沒有考慮到零知識證明(ZKP)。在隨後的幾年中,ZKP 技術在區塊鏈領域獲得了顯著的動力,團隊們努力將 ZKP 功能帶入以太坊。
結果就是 zkEVM,這是一種能夠運行以太坊智能合約,同時生成其正確性的加密證明的虛擬機。本文解釋了 zkEVM 是什麼,它是如何工作的,以及哪些網絡已將該技術付諸實踐。
什麼是 ZK-Rollup?
Rollup 是一種層二擴展解決方案,它在以太坊主網上處理許多交易,然後將壓縮的摘要作爲單個交易提交給以太坊。這種方法提高了吞吐量,並降低了與在層 1 上執行每個交易相比的成本。
zk-rollup 是一種使用 ZKP 技術證明所有鏈下交易正確處理的 Rollup。它不是發佈所有交易數據,而是提交有效性證明和狀態更新。樂觀 Rollup 則採取不同的方法,依賴於欺詐證明和經濟激勵,而不是加密保證。
早期的 zk-rollup 僅限於簡單操作,如代幣轉賬。zkEVM 將此擴展到涵蓋完整的智能合約執行,使 zk-rollup 適合於通用 DApp。
什麼是 EVM?
以太坊虛擬機(EVM)是以太坊內部執行智能合約的運行環境。每當智能合約運行時,EVM 會從一個狀態過渡到另一個狀態。網絡上的所有節點必須就此狀態達成一致,以維持共識。
EVM 由一組操作碼定義,這些操作碼是低級指令。當開發者使用 Solidity 或 Vyper 編寫合約時,這些合約會被編譯成 EVM 字節碼,EVM 可以解釋。這個共享標準使得以太坊智能合約可以在兼容鏈之間可移植。
zkEVM 是如何工作的?
zkEVM 在 zk-rollup 內部複製以太坊環境。它獲取一個初始狀態,根據 EVM 規則處理一批交易,並輸出一個新狀態以及有效性證明。以太坊主網上的驗證合約檢查此證明,而無需重新執行每個交易。
這種方法意味着每個狀態轉換的正確性是通過加密保證的,而不僅僅是被假設。開發者可以在 zkEVM 上幾乎沒有任何修改地部署現有的以太坊智能合約,因爲執行環境遵循與主網相同的規則。
爲 EVM 執行生成 ZK 證明是計算密集型的。近年來,硬件加速和算法改進已經大大縮短了許多實現的證明生成時間,從曾經可能需要數小時縮短到某些配置下的幾分鐘或幾秒,儘管這因網絡和批次大小而異。
EVM 兼容性與 EVM 等效性
EVM 兼容性意味着區塊鏈可以以最小的更改部署和運行基於 Solidity 的合約。許多鏈(包括 BNB 智能鏈)是 EVM 兼容的。開發者通常可以複製以太坊合約,並只需進行小幅調整即可部署。
EVM 等效性更進一步。這意味着 zkEVM 在深層技術層面上與以太坊表現相同,因此現有的工具、調試環境和開發基礎設施無需修改。zkEVM 越接近完全等效,遷移就越容易,但生成高效的 ZK 證明就越困難。
不同類型的 zkEVM
在一篇博文中,以太坊聯合創始人 Vitalik Buterin 根據 ZK 效率和 EVM 兼容性之間的權衡,將 zkEVM 分爲四種類型。
類型 1:共識級別等效
類型 1 zkEVM 在共識級別上與以太坊完全等效。它可以直接驗證以太坊區塊。這使得它成爲最兼容的類型,但 ZK 證明生成是最耗費計算的。一個例子是 Taiko 的類型 1 zkEVM 主網,計劃於 2024 年中期推出。
類型 2:字節碼級別等效
類型 2 zkEVM 完全兼容 EVM,但在一些內部數據結構上與以太坊有所不同,例如狀態樹。它支持所有現有的以太坊 DApp 和工具。與類型 1 相比,證明時間有所改善,但仍然相當顯著。Scroll 和 Polygon zkEVM 是類型 2 網絡的例子。
類型 2.5:類型 2,調整了燃料成本
類型 2.5 類似於類型 2,但調整了對難以證明的操作的燃料成本。這提高了證明者的效率,對完全兼容性的影響較小。
類型 3:近 EVM 等效
類型 3 zkEVM 在更好的 ZK 性能上犧牲了一些兼容性。它們可能會刪除某些預編譯或其他難以高效證明的 EVM 特性。一些 DApp 可能需要進行小幅修改才能部署。
類型 4:高級語言等效
類型 4 zkEVM 將高級語言(如 Solidity)直接編譯爲 ZK 友好的字節碼,完全繞過 EVM 字節碼。這提供了最佳的證明性能,但兼容性最低。zkSync Era 採用了類型 4 的方法。
常見問題
什麼是 zkEVM?
zkEVM 是一個零知識以太坊虛擬機,它在 zk-rollup 內部處理智能合約,然後生成一個加密證明,顯示所有交易都已正確執行。它允許開發者使用現有的以太坊代碼,並享受 ZKP 技術帶來的額外安全性和可擴展性。
zkEVM 與普通 zk-rollup 有什麼不同?
早期的 zk-rollup 僅支持簡單操作,如代幣轉賬。zkEVM 將此擴展到完整的 EVM 指令集,這意味着任何以太坊智能合約,包括複雜的 DeFi 協議和 NFT 平臺,都可以在 zkEVM 上以最小的修改運行。
zkEVM 的四種類型是什麼?
Vitalik Buterin 定義了四種類型。類型 1 在共識級別上與以太坊完全等效。類型 2 完全兼容 EVM,但在某些內部數據結構上有所不同。類型 3 爲了更好的 ZK 性能犧牲了一些兼容性。類型 4 直接將高級語言編譯爲 ZK 友好的字節碼,提供最高的證明效率。
zkEVM 是否使以太坊更安全?
zkEVM 使用加密有效性證明,而不是依賴經濟博弈論來確保正確執行。這意味着每個批次的正確性是數學上可驗證的,相比依賴挑戰者捕捉欺詐的系統,可以加強安全性。然而,與所有區塊鏈系統一樣,zkEVM 也存在智能合約風險和其他技術風險,用戶應自行研究。
結束語
zkEVM 將 ZKP 加密的安全性與完全的智能合約兼容性相結合,使得在不犧牲以太坊級安全性保障的情況下,以更高的吞吐量和更低的成本運行 DApps 成爲可能。理解不同類型及其如何與 Web2 用例兼容是值得的。
進一步閱讀
什麼是零知識證明,它如何影響區塊鏈?
樂觀與零知識 Rollup:有什麼區別?
用零知識證明提高加密透明度
什麼是 zk-Rollup?層二可擴展技術
區塊鏈層 1 與層 2 擴展解決方案
免責聲明:此內容以“按原樣”方式提供,僅供一般信息和/或教育目的,不作任何形式的陳述或保證。不得將其解釋爲財務、法律或其他專業建議,也不意圖推薦購買任何特定產品或服務。您應尋求適當專業顧問的建議。內容由第三方提供時,請注意,所表達的觀點屬於第三方貢獻者,並不一定反映幣安學院的觀點。數字資產價格可能波動。您的投資價值可能下跌或上漲,您可能無法收回投資金額。您對自己的投資決策負責,幣安學院對您可能遭受的任何損失不承擔責任。有關更多信息,請參閱我們的使用條款、風險警告及幣安學院條款。
