原文:《 zk-Sync v2.0 and the Future of zk-Rollups

作者:@0xfishylosopher,Web3.com Ventures

翻譯:SHL,PANews

簡介

"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本質上是一種"插件",為以太坊提供指數級別的可擴展性,從而修復它G as的現狀。這個想法背後的邏輯很簡單。想像一下,你需要從A點到B點攜帶5件物品。 "常規"的方式是攜帶物品1、物品2等,一個接一個地攜帶。但這顯然效率緩慢且繁瑣,"Rollups "本質上是將5件物品“打包”到一個袋子中,因此你可以一次就把它們都攜帶完成,而不是分開5次來攜帶。

在這個過程中,有兩點是需要注意的:

1. 如何確保"Rollups "能夠"容納"所有的東西?

2. 如何確保"Rollups "不被欺騙?

zk-Rollups是利用"零知識證明"來解決這兩個問題的領先rollup技術類型之一(另一種是Optimistic Rollups)。為了解決這些問題,Zk-Rollups會將一定數量的交易捆綁在一起,在Layer2上進行計算,並將狀態變更,且將"有效性證明"提交給Layer1上的驗證者,以表明計算是完整完成的。這個"有效性證明"是以"零知識證明"的形式出現的,這是一種告訴他人你知道什麼而不告訴他人你怎麼知道的數學方法。

從技術原理解讀:zk-Sync 2.0和zk-Rollups的未來

簡化的ZK-Rollup 架構
Source:https://immutablex.medium.com/ground-up-guide-zkevm-evm-compatibility-rollups-787b6e88108e

零知識證明的一個簡單例子是一個代碼自動生成器(用於CS作業)。自動生成器是一個"驗證者",給你一堆隨機生成的測試代碼,而你是一個"證明者",必須能夠通過所有的測試代碼來證明你有正確的代碼。同時,你不會直接與自動交易器分享你的代碼。你看,你剛剛就進行了一次"零知識證明",你證明了你知道的東西,但你沒有說你是怎麼知道的。 [2]

從技術原理解讀:zk-Sync 2.0和zk-Rollups的未來

零知識證明案例,Source:Gradescope

上面的代碼自動生成器是使用"交互式零知識證明"的方式,自動生成器和代碼提供者直接"交互"。相比之下,大多數zk-Rollups使用的是數學上更複雜的非交互式證明(如zk-SNARK,即零知識簡潔的非交互式知識證明)。與交互式證明相比,非交互式證明既節省時間又節省空間。雖然zk-SNARKs的技術細節超出了本文的範圍,但測試代碼通過的基本原理是相通的。

zk-Rollups的聖杯在於零知識以太坊虛擬機( zk-EVM ),它允許開發人員在不修改以太坊智能合約的情況下對DApps進行轉移但這是存在一定難度的,因為每個"問題"都需要不同的"測試代碼",所以開發一個"證明算法"來解決所有可以想像的測試代碼的“證明算法”,是零知識證明和zk -Rollups的技術瓶頸。

正如V italik所說的:總的來說,我認為在短期內optimistic rollup可能會在通用的EVM計算中勝出,而ZK R ollup可能會在簡單的支付、交易和其他特定應用案例中勝出。但從中長期來看,隨著ZK-SNARK技術的改進,ZK R ollup將在所有案例中勝出。 [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選擇了高性能,從而犧牲了可組合性。

在V italik看來,目前主要有四種不同類型的zk-EVM,這四種類型如下圖所示:

從技術原理解讀:zk-Sync 2.0和zk-Rollups的未來

zk-EVMs的類型,改編自: https://vitalik.ca/general/2022/08/04/zkevm.html

正如V italik所述,在目前的狀態下,zk-Sync 2.0是4zk-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所追求的4Rollups。因為zk-Sync本質上是使用不同的編譯器和字節碼,基於4的Rollups意味著智能合約有不同的地址,但依賴於字節碼分析的調試器基礎設施可能無法在zk-Sync 2.0上運行[7]

在未來,zk-Sync可能會加入更多對EVM字節碼的本地支持,允許系統慢慢過渡到支持更廣泛的"邊緣情況",也就是指第3Rollups 。但是,對於zk-Sync的3類和第4的zk-Rollup來說,與Polygon Hermez和Scroll Labs的2的Rollups(基本上是以速度換取更廣泛的兼容性)相比,必須有兩個重要的前提條件才能成功。首先,只有一小部分不重要的項目與zk-Sync的自定義編譯器不兼容。其次,與2zk-EVM相比,zk-Sync的執行速度需要有質的區別。

不幸的是,我個人認為這種情況不太可能發生。任何先進的開發生態系統都依賴於成熟"框架"的基礎設施,包括便捷性、模塊化、調試和測試工具。如果像Vitalik假設的那樣,由於字節碼的不同,大部分EVM原生調試工具將無法移植到zk-Sync,那麼zk-Sync將不得不開發自己的測試和調試工具套件。與Polygon Hermez 和Scroll 等可組合性更強的2zk-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] Adapted from 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