我們將在擴展以太坊和基於以太坊的 ZK-rollup 的不同路徑中看到許多創新。

作者:alertcat.eth

原用標題: zkVM 和 zkEVM 學習筆記

關於 zkp 和 zk-SNARK, zk-STARK

零知識證明在不透漏知識的具體內容的情況下,就可以實現證明參與者是否真正掌握了該知識。

零知識證明在節省冗餘計算、壓縮鏈上空間和保護用戶隱私的方面有重要的應用價值。零知識證明的實現方法有很多,比如 zk-SNARK, zk-STARK, PLONK, Bulletproofs 等。

zk-SNARK 是 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge 的縮寫,意思是簡潔非交互零知識證明。簡潔代表了用這種方法生成的證明比實際證明的數據量小,非交互的意思是在證明構建完成之後,證明者僅需發送一條簡單的信息給驗證者,並且一般情況下,沒有授權的任何人都可以進行驗證。這減少了鏈上交互的次數,節省了證明的開銷。論據 (Argument) 代表著在當前計算能力的情況下,生成證明所採用的加密算法的複雜性是不能以可接受的時間和經濟代價強行破解的。知識 (of Knowledge) 代表著在不掌握該知識不知道要證明什麼的情況下不可能構造出該證明。零知識代表著在證明過程中不透露與證明實體有關的任何有用信息。

zk-STARK 是 Zero-Knowledge Scalable Transparent Arguments of Knowledge 的縮寫,意思是可擴展透明零知識證明。與 zk-SNARK 不同,STARK 通過允許開發人員將計算和存儲轉移到鏈下來提高可擴展性,在計算速度和大小方面更具可擴展性。透明的意思是它消除了初始的可信任方來初始設置 zk 證明系統,而是轉為使用可公開驗證的隨機性來創建無需信任的可驗證計算系統。並且 zk-STARK 是抗量子的,可以防止量子計算機的攻擊。

Rollup 擴容方案和 zk-Rollup 的原理簡述

Rollup 擴容方案在 Plasma 方案的基礎之上,進而將經過巧妙壓縮過後的數據提交到主鏈上,這樣,任何人都能通過這些數據驗證 Rollup 提交的結果是否正確,它實現了數據可用性,加強了安全性。

Rollup 在主鏈上有一系列合約,維護 Rollup 中的狀態記錄,通過用保存 Rollup 層賬戶信息的 Merkle Trie 的根節點的哈希值,來保證任意葉子節點的值改變都會影響最後默克爾樹根的哈希值,從而確認了底層狀態信息的一致性。

通過記錄交易執行結束之後的世界狀態的狀態根,我們可以得到一個賬戶狀態的鍵值表。在 Rollup 上發生交易之時,鍵值表會發生改變,產生新的狀態根。Rollup 上的交易會被分批打包匯總,並提交新的 state root. 提交者在向 Rollup 合約提交一個新的批次的時候,主鏈會驗證新狀態根是否正確,若正確,則完成狀態轉移。

下圖是簡化版的 Optimistic Rollup 的圖解。

Optimistic Rollup 默認提交者提交的 batch 是正確的,如果任何人發現某個 batch 的後狀態根不正確,他可以向區塊鏈發布一個證明,證明該 batch 計算錯誤。合約會對證明進行驗證,並且對該 batch 及其之後的 batches 進行回滾。這樣為了防止回滾,資金需要在 Optimistic Rollup 鎖定 7 天來確保驗證結果是正確的。

Zk Rollup 默認提交者提交的 batch 是錯誤的,提交者需要額外提交一個 Zk-SNARK 證明來自證提交的 batch 是有效的。可以在不提交全部交易數據的情況下證明數據的有效性,可以減少向主鏈提交的數據量。

下圖是簡化版的 Zk Rollup 的圖解。增加了 ZK Proof,減少了驗證人。

下表是 Vitalik 文章中對於兩種不同 Rollup 的對比。

下表是四大 Rollup 方案的開銷對比。

為 Zk Rollup 生成一個 zk-SNARK 證明相當困難。需要單獨的指令集來完成這一點。

zkVM 和 zkEVM 的簡述和前景

zkVM

zkVM 是一種虛擬機,通過零知識證明,可以確保可信特徵的安全性,即,輸入原來的狀態和程序將輸出新的狀態。

下圖簡要地解釋了什麼是 zkVM.

zkVM 實現了易用性、通用性、簡潔性和遞歸性。開發者無需掌握零知識開發,可以實現圖靈完備、不用重複生成整個虛擬機的電路、對虛擬機的驗證可以通過虛擬機來進行。

zkVM 同樣有計算架構特殊和一些需要優化電路的性能問題。

主流的 zkVM 分三類,分為主流 (WASM, RISC-V)、EVM (EVM bytecode)、ZK-Optimized (全新指令集,針對零知識證明所優化,比如 Cairo 和 zkSync),下圖為三者的對比圖:

zkVM 是一個很好的方向,它可以將 EVM 的垂直優化轉化為 EVM 的橫向擴展,從而擺脫 EVM 的局限。

zkEVM

zkEVM 在 Vitalik 的新作裡已經寫的很完備了,本文嘗試做一個翻譯和綜述。

Polygon、ZKSync 和 Scroll 和 Privacy and Scaling Explorations 團隊、Nicolas Liochon 的團隊以及 Cairo 的 alpha 編譯器都在最近發布了公告。本文將嘗試描述 EVM 等價的不同類型的分類和每種類型的好處和成本。

下圖為不同類型的概覽:

類型 1(完全等效於以太坊)

類型 1 力圖與以太坊完全等效,哈希、狀態樹、事物樹、預編譯、其他公式邏輯都不變。

優點:完美兼容

目標是與執行層端做到一樣的驗證方法。

一型 ZK-EVM 是 Rollup 的理想選擇,因為以太坊執行客戶端可以原樣生成和處理 Rollup batch, 區塊瀏覽器和區塊產生的過程都能複用。

缺點:證明時間

以太坊起初並沒有以 ZK 友好為中心,所以很多以太坊協議的部件都要大量計算以進行 ZK 驗證。類型 1 的目的是準確地拷貝以太坊,所以不能減輕這種低效。目前以太坊的區塊證明需要數個小時才能產生。

誰在建造它?

隱私和擴展探索團隊 ZK -EVM 正在構建 1 類 ZK-EVM。

類型 2(完全等效於 EVM)

類型 2 ZK-EVM 力求完全等同於 EVM,但不完全等同於以太坊。也就是說,它們 “從內部” 看起來與以太坊完全一樣,但它們在外部存在一些差異,特別是在塊結構和狀態樹等數據結構上。

目標是與現有應用程序完全兼容,但對以太坊進行一些小的修改,以使開發更容易並更快地生成證明。

優點:VM 級別的完美等價

類型 2 ZK-EVM 對保存諸如以太坊狀態之類的數據結構進行更改。需要對以太坊執行客戶端做微調使用 Type 2 ZK-EVM rollup。例外在於:對於驗證歷史以太坊區塊的 Merkle 證明以驗證有關歷史交易、收據或狀態的聲明的應用程序出現了一種不兼容(例如,橋有時會這樣做)。用不同的哈希函數替換 Keccak 的 ZK-EVM 會破壞這些證明。

缺點:改進但仍然很費證明時間

類型 2 刪除了依賴於不必要的複雜和 ZK 不友好密碼學的部分以太坊堆棧。例如改變以太坊的 Keccak 和基於 RLP 的 Merkle Patricia 樹,可能還會改變區塊和收據結構。

這減少了證明時間但必須按原樣證明 EVM 的緩慢性以及 EVM 固有的所有低效率和 ZK 不友好性仍然存在。比如 MLOAD 可以讀取任何 32 個字節,這可能是一個塊或者兩個連續的塊。這造成了內存管理的問題。

誰在建造它?

Scroll 的 ZK-EVM 項目正朝著 Type 2 ZK-EVM 方向發展,Polygon Hermez 也是如此。也就是說,這兩個項目都還沒有完成。特別是,許多更複雜的預編譯還沒有實現。因此,目前這兩個項目都被更好地考慮為 Type 3。

2.5 型(EVM 等效,gas 成本除外)

顯著改善最壞情況證明者時間的一種方法是大大增加 EVM 中很難進行 ZK 證明的特定操作的 gas 成本。這可能涉及預編譯、KECCAK 操作碼,以及調用合約或訪問內存或存儲或恢復的可能特定模式。更改 gas 成本可能會降低開發人員工具的兼容性並破壞一些應用程序。

類型 3(幾乎等效於 EVM)

3 類 ZK-EVM 幾乎與 EVM 等效,但在精確等效性方面做出了一些犧牲,以進一步縮短驗證器時間並使 EVM 更易於開發。

優勢:更容易構建,更快的驗證時間

類型 3 ZK-EVM 可能會刪除一些在 ZK-EVM 實現中極難實現的功能,例如預編譯。此外,Type 3 ZK-EVM 有時在處理合約代碼、內存或堆棧方面也存在細微差別。

缺點:不兼容較多

使用 Type 3 ZK-EVM 刪除的預編譯的或者對其他刪除功能有依賴的應用程序需要重寫。

誰在建造它?

Scroll 和 Polygon 在其當前形式中都是 Type 3,儘管它們有望隨著時間的推移提高兼容性。Polygon 使用了一些不同的內部邏輯來完成它。Type 3 只是一個過渡階段,直到完成添加預編譯的複雜工作並且項目可以移動到 Type 2.5。

類型 4(高級語言等效)

Type 4 系統通過獲取以高級語言(例如 Solidity、Vyper 或兩者都可以編譯的中間語言)編寫的智能合約源代碼並將其編譯為明確設計為 ZK-SNARK 友好的某種語言來工作.

優勢:非常快的驗證時間

如果沒有 ZK 證明每個 EVM 的各個步驟,並且從高級語言代碼開始,你就可以節省大量的開銷。

缺點:不兼容較多

合約的地址因為 CREATE2 合約地址取決於確切的字節碼而地址不同。手寫的 EVM 字節碼更難使用。很多調試基礎設施不能被繼承,因為這樣的基礎設施運行在 EVM 字節碼上。

誰在建造它?

ZKSync 是一個 Type 4 系統,儘管隨著時間的推移它可能會增加對 EVM 字節碼的兼容性。Nethermind 的 Warp 項目正在構建一個從 Solidity 到 Starkware 的 Cairo 的編譯器,這將把 StarkNet 變成事實上的 Type 4 系統。

zkEVM 的未來

編號較小的類型與現有基礎架構的兼容性更高,但速度較慢,編號較高的類型與現有基礎架構的兼容性較差,但速度更快。最理想的狀況是一切都成為類型 1,要實現這樣的未來,還需要相當長的時間。與此同時,我們將在擴展以太坊和基於以太坊的 ZK-rollup 的不同路徑中看到許多創新。

四、zkEVM 的各項目基本面分析

Scroll

Scroll 在 7 月 19 日開啟了 Scroll Pre-Alpha 測試網,融資情況:4 月 21 日,以太坊擴容網絡 Scroll 完成 3000 萬美元 A 輪融資,本輪融資由 Polychain Capital 領投,Bain Capital Crypto、Robot Ventures 和 Geometry DAO 等參投。此外,來自以太坊基金會的 Ying Tong 和 Carlos Aria、以及 Anthony Sassal、Ryan Adams 和 Santiago Santos 等以太坊社區成員也加入了此輪融資。

Polygon

Polygon 用戶量 Unique 7 Days:845k,Unique 30 Days:2.26M,可以預見舊有用戶轉化到 Hermez 網絡的轉化率一旦提升,用戶量基礎巨大。現有市值:72 億美元。Hermez 將提升 Polygon 網絡的競爭力,並且提供與 ETH 網絡等價的安全性。

zkSync

用戶數:345596

融資情況:其開發公司 Matter Labs 獲得了 5000 萬美元的 B 輪融資。由 a16z Crypto 領投,其他投資方包括 Placeholder、Dragonfly 和 1kx 等,以及 Blockchain.com、Crypto.com、Consensys、ByBit、OKEx、Alchemy、Covalent 等戰略合作夥伴,另外,還有來自 AAVE、Paraswap、Lido、Futureswap、Gnosis、Rarible、Aragon、Liquity、Celer Network、Connext、Perpetual Protocol、Euler、Opium 等 70 多個項目的創始人或高管參投。

TVL:$66.65 M

生態項目:Zigzag 是一個非託管的訂單簿交換平台,是 zkSync 先行者之一。Yearn Finance 和 Taker Protocol 採用 zkSync 提供 DeFi 借貸服務。

StarkNet

用戶數:23,557

融資情況:StarkWare 以 80 億美元估值完成 1 億美元 D 輪融資,Greenoaks Capital、Coatue、Tiger Global 和其他參與者領投,所籌資金將用於產品和業務開發、工程設計和周邊生態系統的發展。

TVL:$1.09M

生態項目:StarkWare 生態中大部分原生項目處於早期階段。

相關文章

https://vitalik.eth.limo/general/2022/08/04/zkevm.html
https://www.ethereum.cn/an-incomplete-guide-to-rollups
https://mirror.xyz/0x22034f804960B9B34353d6A7595cC4E83ac0daBe/vVgKwJ0L5A0lm-ysPNipUddrXK_64NcXE_WkkRP_DT8
https://threadreaderapp.com/thread/1538166119785111552.html
https://ecn.mirror.xyz/rGHawBLJ0lJiRnwYd12W_gX6hzTOaWlPBKuwcq8_LuE
https://mp.weixin.qq.com/s/808jMXvIUqB973aVHrAzGQ
https://mp.weixin.qq.com/s/S9ajxMU4vfdomoCAXnvhpg
https://web3caff.com/zh/archives/7573
https://www.panewslab.com/zh/articledetails/31jem01m37xk.html

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。