什麼是zkEVM 它如何增強以太坊生態系統?

作者:Manta Network 聯合創始人Kenny Li 翻譯:金色財經0xnaitive

本文要點:

零知識以太坊虛擬機(zkEVM) 是一種以太坊狀態機,可以與零知識證明(ZKP) 技術兼容的方式執行智能合約。

zkEVM 擴展了以太坊上零知識rollup (zk-rollups) 的功能,以支持去中心化應用程序(DApp)。

zkEVM 可以輕鬆部署現有的以太坊項目和使用ZKP的新項目,以增強以太坊生態系統。

前言

以太坊開發人員在2014 年首次提出以太坊網絡時並沒有考慮ZKP 技術。然而,近年來,ZKP 受到了關注,並有望在區塊鏈領域發揮更加突出的作用。因此,將ZKP 技術與以太坊的虛擬機相結合的努力已經加強。

要了解什麼是zkEVM,讓我們首先簡要回顧一下它的兩個基本概念:zk-rollups 和EVM。

什麼是Zk-Rollup?

Rollup 是一種擴展解決方案,它在主鏈之外編譯大量交易執行,並將數據作為單個交易發送回主網絡。這個過程增加了吞吐量,同時降低了執行這些交易的成本。

在以太坊上,一個Rollup中的交易被壓縮並提交給以太坊主網,支付驗證單筆交易的費用。以太坊主網提供結算並驗證匯總中包含的交易數據。

zk-rollup是一種使用ZKP 技術的rollup,ZKP 技術是一種加密技術,可以在不洩露信息本身的情況下驗證一條信息的有效性。 zk-rollups 不需要將所有交易數據發佈到以太坊主網;他們只需要狀態差異(例如用戶帳戶狀態的更改)和有效性證明,從而降低過程中Gas費。

zk-rollups的安全性來自於ZKP密碼學,通過密碼學的手段來驗證證明,實現去信任化。這與optimistic rollups等其他rollup 不同,後者的安全性來自經濟學博弈論,在該理論中,不良行為者會因潛在損失而失去動力,而挑戰者會受到激勵。

什麼是EVM?

EVM 是運行以太坊賬戶系統和智能合約的狀態機。每次智能合約執行都會觸發EVM 從舊狀態轉換到新狀態。 EVM 定義了計算從一個區塊到另一個區塊的新狀態和有效狀態的規則。

狀態是以太坊中的一個重要概念。它是一個Merkle Patricia Trie 數據結構,代表以太坊的當前狀態,並允許任何人從當前區塊一直追踪交易信息回到創世區塊。

所有參與維護以太坊的節點都存在以確保連續性和共識,這使得每個節點都可以看到確切的當前狀態。 EVM 在保持這種一致性方面發揮著關鍵作用。

ZkEVM 如何工作?

EVM 默認不支持ZKP。 zkEVM 旨在確保以太坊狀態的連續性,同時提供所有信息正確的證據。這樣,在維護安全性和隱私性的同時,驗證了這些過程計算中涉及的各種因素。

zkEVM 通過將以太坊環境複製為zk-rollups 來做到這一點。它獲取初始狀態,計算所有交易,然後輸出一個新的更新狀態以及隨附的ZKP。該證明被提交給驗證者智能合約,該合約檢查初始狀態和新狀態輸出的正確性,而無需單獨驗證所有交易。

由於zkEVM 基於EVM,開發人員能夠輕鬆地將以太坊DApp 和智能合約移植到zkEVM,而無需進行ZKP 開發工作。換句話說,zkEVM 允許zk-rollups 執行智能合約,此外還有以前在沒有zkEVM 的情況下支持的代幣交換和支付。

由於EVM 的兼容性特性,開發人員可以使用現有的EVM 工具和編程語言Solidity 構建新產品,同時享受zkEVM 帶來的增強安全性。同樣的好處也適用於用戶——他們可以繼續使用相同的DApps 和熟悉的工具,但具有更高的安全性和隱私性。

EVM 兼容性與EVM 等效性

當區塊鏈被稱為EVM 兼容時,這意味著它提供了一個可以部署以Solidity 編程語言編寫的DApp 的環境。 Solidity 專為開發在以太坊網絡上運行的智能合約而設計。

事實上,以太坊開發人員可以從以太坊複製和粘貼現有DApp 的代碼,並以最少的修改將其部署到其他EVM 兼容鏈上。對於用戶來說,任何兼容EVM 的鏈地址都與他們的以太坊地址相同。

這意味著地址與Metamask 和Trust Wallet 等主流錢包兼容。目前,主要的EVM兼容鏈包括BNB Chain、Avalanche C-Chain和Polygon。

不要將EVM 兼容性與EVM 等效性混淆,EVM 等效性意味著從DApp 開發人員的角度來看,2 層rollup與以太坊第1 層幾乎相同。

如果用操作系統來類比,EVM 等效性類似於通過Apple Cloud 恢復文件和設置,如果用戶之前的計算機和新計算機都運行在Apple 的操作系統上。

相比之下,EVM 兼容性意味著如果一台新電腦切換到Windows 系統,則需要通過雲存儲下載原始文件並轉換以恢復首選設置和舊文件。

不同類型的ZkEVM

直接使用EVM 生成和驗證ZKP 非常慢,因為以太坊最初設計並不支持ZKP 技術。在某些情況下,這可能需要長達幾個小時。然而,必須在EVM 兼容性和ZKP 效率之間取得平衡。

以太坊創始人Vitalik Buterin 將zkEVM 分為以下四種類型。類似於區塊鏈不可能三角,它們各自在ZKP 性能效率和EVM 兼容性之間有不同的權衡。

類型一:共識級等價——zkEVM完全等價於以太坊

在共識層面,Type 1 zkEVM——也稱為enshrined rollup——相當於以太坊,zkEVM 鏈狀態和交易與以太坊相同。它們可以相互驗證塊並直接與以太坊執行客戶端一起使用。

Type 1 zkEVM 使以太坊本身更具可擴展性,可以直接引入以太坊主網上。缺點是ZKP效率極差,需要大量的計算來驗證。解決方案是在未來為zk-SNARKs使用大規模並行驗證者或專用集成電路。

具有高ZK 效率的類型1 zkEVM 將是最理想的zkEVM 形式。目前,有許多項目正在構建或探索這種類型的zkEVM。

類型2:字節碼級等價——完全等價於EVM

Type 2 完全等價於EVM 而不是以太坊。它在數據結構(如區塊結構和狀態樹)方面不同於以太坊,並刪除了一些對ZK 不友好的堆棧操作。

它與以太坊現有的DApp、調試工具和開發者基礎設施完全兼容。字節碼級等價可以加快證明時間,儘管不是很明顯。 Type 2 一個明顯的缺點是它很昂貴,與ZK 沒有協同作用,效率低且昂貴。

類型2.5:與Type 2 類似,但修改了gas 費用

Type 2.5 具有Type 2 的優點和缺點,但gas 費用略低。

類型3:字節碼級等價——幾乎等同於EVM

Type 3在Type 2的基礎上進一步犧牲了兼容性來提高ZK效率。它刪除了一些在zkEVM 上難以實現的功能,例如預編譯,因此一些需要使用此功能的DApp 代碼必須重寫。

類型4:開發語言級等價——高級語言等價於EVM

類型4 EVM 具有最高的ZK 性能,但兼容性相對較差。

結束語

zkEVM 實現的主要目的是將ZKP 計算的支持擴展到智能合約執行,並在此過程中將DApps擴展到所有EVM 兼容協議。但ZKP 的應用並不止於此。

ZKP 技術可能與Web2用例兼容。將各種Web2 用例與ZKP 相結合可以使Web3 應用程序更加流暢和用戶友好。它還會授予已經習慣使用傳統互聯網瀏覽器的用戶訪問Web3 的權限,進而推動Web3 的採用。

Total
0
Shares
Related Posts