原文標題:《zk-Sync v2.0 and the Future of zk-Rollups》
原文作者:@0xfishylosopher,Web3.com Ventures
原文編譯:SHL,PANews
目錄
關於 zk-Rollups
zk-Rollups 簡介
“zk-Rollups “可能是今年最熱門的 Web3 流行用語。近期,隨著 zk-Sync 的 v2.0 ” baby alpha “的主網上線,這種熱度已經達到峰值[1]。但在所有流行語的背後,” zk-Rollups “到底指的是什麼?zk-Sync 的作用在哪?在本文,我將努力深入探討 zk-Rollups 的工作原理和實際用例,並闡述 zk-Sync v2.0 的關鍵技術特徵,探索這項被期待已久的技術,進一步地分析它對未來影響。
zk-Rollups 的工作原理
為什麼我們特別需要 zk-Rollups?雖然以太坊很有用,但目前以太坊網絡,從根本上看是一種無法規模化的經濟。因為隨著以太網絡活動的增加,GAS 價格會變的非常昂貴,尤其是在以太網絡處理量突發激增的時候,這種效應就愈發明顯。隨著以太網絡的不斷發展,以太網絡有限的可拓展性已成為它進一步發展的致命弱點。
“Rollups “的出現就是為了解決以太坊網絡的拓展性問題。以太坊 Rollups 本質上是一種”插件”,為以太坊提供指數級別的可擴展性,從而修復它高 Gas 的現狀。這個想法背後的邏輯很簡單。想像一下,你需要從 A 點到 B 點攜帶 5 件物品。”常規”的方式是攜帶物品 1、物品 2 等,一個接一個地攜帶。但這顯然效率緩慢且繁瑣,”Rollups “本質上是將 5 件物品“打包”到一個袋子中,因此你可以一次就把它們都攜帶完成,而不是分開 5 次來攜帶。
在這個過程中,有兩點是需要注意的:
- 如何確保”Rollups “能夠”容納”所有的東西?
- 如何確保”Rollups “不被欺騙?
zk-Rollups 是利用”零知識證明”來解決這兩個問題的領先 rollup 技術類型之一(另一種是Optimistic Rollups)。為了解決這些問題,Zk-Rollups 會將一定數量的交易捆綁在一起,在Layer2 上進行計算,並將狀態變更,且將”有效性證明”提交給 Layer1 上的驗證者,以表明計算是完整完成的。這個”有效性證明”是以”零知識證明”的形式出現的,這是一種告訴他人你知道什麼而不告訴他人你怎麼知道的數學方法。

Source:https://immutablex.medium.com/ground-up-guide-zkevm-evm-compatibility-rollups-787b6e88108e
零知識證明的一個簡單例子是一個代碼自動生成器(用於CS作業)。自動生成器是一個”驗證者”,給你一堆隨機生成的測試代碼,而你是一個”證明者”,必須能夠通過所有的測試代碼來證明你有正確的代碼。同時,你不會直接與自動交易器分享你的代碼。你看,你剛剛就進行了一次”零知識證明”,你證明了你知道的東西,但你沒有說你是怎麼知道的。[2]

上面的代碼自動生成器是使用”交互式零知識證明”的方式,自動生成器和代碼提供者直接”交互”。相比之下,大多數 zk-Rollups 使用的是數學上更複雜的非交互式證明(如 zk-SNARK,即零知識簡潔的非交互式知識證明)。與交互式證明相比,非交互式證明既節省時間又節省空間。雖然 zk-SNARKs 的技術細節超出了本文的範圍,但測試代碼通過的基本原理是相通的。
zk-Rollups 的聖杯在於零知識以太坊虛擬機 ( zk-EVM ),它允許開發人員在不修改以太坊智能合約的情況下對 DApps 進行轉移。但這是存在一定難度的,因為每個”問題”都需要不同的”測試代碼”,所以開發一個”證明算法”來解決所有可以想像的測試代碼的“證明算法”,是零知識證明和zk-Rollups 的技術瓶頸。
正如 V italik 所說的:總的來說,我認為在短期內 optimistic rollup 可能會在通用的EVM計算中勝出,而 zk-Rollups 可能會在簡單的支付、交易和其他特定應用案例中勝出。但從中長期來看,隨著 zk-SNARK 技術的改進, zk-Rollups 將在所有案例中勝出。[3]
因此,從歷史上看,zk-Rollups 僅是針對特定應用用例的技術,其中“測試用例”定義明確且範圍有限。但是一些項目正在迅速向“山上的城堡”推進,一種通用的 EVM 兼容 zk-Rollup 算法。[4]
關於 zk-Sync 2.0
zk-Sync 2.0 是目前在開發 zk-EVM 的眾多項目之一(其他項目包括 StarkNet 、 Polygon Hermez 和 Scroll)。zk-Sync 1.0 要求用戶重新構建其代碼庫的大部分內容,以便從 EVM 遷移到zk-Sync。與 zk-Sync v1.0 不同,在 zk-Sync 2.0 中,工程師可以在幾乎沒有變化的情況下部署其應用程序。
實際上,並非所有的 zk-EVM 都是等效的。它們在可組合性(與原始EVM合約的接近程度)和高性能(zk-Rollups 的運行速度)之間存在著明顯的權衡[6]。在這種權衡中, zk-Sync 選擇了高性能,從而犧牲了可組合性。
在 Vitalik 看來,目前主要有四種不同類型的 zk-EVM,這四種類型如下圖所示:

正如 Vitalik 所述,在目前的狀態下, zk-Sync 2.0 是第 4 類 zk-EVM。與 EVM 不同,zk-Sync 2.0 能夠使用自己的編譯器編譯,可以使用 Solidity 和高級語言編寫智能合約。由於 zk-Sync 可以完全控制其編譯器的設計,因此他們能夠積極優化速度和吞吐量。但這樣做的代價是,一些 DApps 和 EVM 調試工具鏈可能與 zk-Sync 2.0 不兼容。從本質上看, zk-Sync 與 Ethereum 有相同的“汽車外殼”,但換了一個引擎[5]。
事實上,在 zk-Sync 開發者文檔中, Matter Labs 聲稱,雖然智能合約”讀取”操作可以在不改變代碼的情況下集成,但智能合約的”寫入”操作需要”附加代碼”,因為 ” Layer1 和 Layer2 之間存在根本差異” [6]。實際上,這略有誤導。與其說是由於 Layer1 和 Layer2 之間的”根本差異”,不如說是由於 Matter Labs 所追求的第 4 種 Rollups。因為 zk-Sync 本質上是使用不同的編譯器和字節碼,基於第 4 種的 Rollups 意味著智能合約有不同的地址,但依賴於字節碼分析的調試器基礎設施可能無法在 zk-Sync 2.0 上運行[7]。
在未來, zk-Sync 可能會加入更多對 EVM 字節碼的本地支持,允許系統慢慢過渡到支持更廣泛的”邊緣情況”,也就是指第 3 類的 Rollups 。但是,對於 zk-Sync 的第 3 類和第 4 類的 zk-Rollup 來說,與 Polygon Hermez 和 Scroll Labs 的第2類的 Rollups(基本上是以速度換取更廣泛的兼容性)相比,必須有兩個重要的前提條件才能成功。首先,只有一小部分不重要的項目與zk-Sync的自定義編譯器不兼容。其次,與第 2 類 zk-EVM 相比, zk-Sync 的執行速度需要有質的區別。
不幸的是,我個人認為這種情況不太可能發生。任何先進的開發生態系統都依賴於成熟”框架”的基礎設施,包括便捷性、模塊化、調試和測試工具。如果像 Vitalik 假設的那樣,由於字節碼的不同,大部分 EVM 原生調試工具將無法移植到 zk-Sync ,那麼 zk-Sync 將不得不開發自己的測試和調試工具套件。與 Polygon Hermez 和 Scroll 等可組合性更強的第 2 類 zk-EVM 相比,這是會增加額外的開銷,最終可能會影響 zk-Sync 作為 Layer2 解決方案的採納進度。
zk-Rollups 的未來
目前,zk-EVM 競爭已經白熱化,我們看到一個全功能的 zk-EVM 只是時間問題。但下一步是什麼?一條路只有在路上有建築物時才有用;zk-Rollups 的長期力量來自使用該解決方案的項目。
目前,DeFi、GameFi 和移動應用是 zk-Rollups 基礎設施的主要受益者。DeFi 和 GameFi 從根本上說都是規模經濟,因為它們在有很多用戶使用的環境中發展。移動錢包等移動應用,也為懶惰或買不起台式電腦的用戶打開了閘門。因此,基於這些實現情況,使用 zk-Rollups 有很大的實際意義。
但這絕不是 zk-Rollups 使用的極限,這僅僅是開始,zk-Rollups 之於以太坊的意義就如5G之於互聯網。正如 5G 可以實現物聯網應用和系統的新世界一樣,zk-Rollups 也可能打開通往”物聯網”的閘門,讓我們物理世界的數字設備如冰箱、手錶、交通信號燈等,與以太坊上的智能合約集成。
反對 “物聯網” 的最大觀點之一是,它將允許大科技公司越權進入我們的日常生活。但有了”物聯網”,我們可以享受物聯網帶來的便利,而不必擔心我們的智能產品在集中數據庫受到損害。我們可以同時擁有便利和隱私,而不是只能選擇其一。這就是 Zk-Rollups 可以向我們承諾的世界。
參考資料:
- [1] https://blog.matter-labs.io/baby-alpha-has-arrived-5b10798bc623
- [2] 改編自 https://pages.cs.wisc.edu/~mkowalcz/628.pdf
- [3] https://vitalik.ca/general/2021/01/05/rollup.html
- [4] https://www.coindesk.com/tech/2022/07/20/the-sudden-rise-of-evm-compatible-zk-rollups/
- [5] https://cryptobriefing.com/the-race-scale-ethereum-zkevm-rollups/
- [6] https://docs.zksync.io/dev/contracts/#porting-smart-contracts
- [7] https://vitalik.ca/general/2022/08/04/zkevm.html