Optimisitic Rollup 到底哪裡不如 ZK Rollup?
原用標題:《Optimistic Rollups 的勝負手》
作者:IOBC Capital
Vitalik 在 2021 年曾說:
In general, my own view is that in the short term, optimistic rollups are likely to win out for general-purpose EVM computation and ZK rollups are likely to win out for simple payments, exchange and other application-specific use cases, but in the medium to long term ZK rollups will win out in all use cases as ZK-SNARK technology improves.
(總的來說,我自己的觀點是,在短期內,Optimistic Rollups 可能會在通用 EVM 計算方面勝出;而 ZK Rollups 可能會在簡單的支付、交易和其他特定用途的應用場景中勝出。但隨著 ZK-SNARK 技術的改進,中長期來講 ZK Rollups 會在所有應用場景中勝出。)
現在名聲最響的 ZK Rollups 項目都還沒有發幣,比如 zkSync、StarkEX、StarkNet、Aztec 等,而 Optimistic Rollup 的絕代雙驕中 Optimism 的代幣已經在各大主流交易所流通交易,而且最近隨著加息落地、ETH2.0 臨近、OP 空投的拋壓盤消化殆盡等各方面因素影響,OP 價格也有不錯的表現。面對這強勢的幣價表現,許多人不由得就會想問:OP 到底哪裡不如 ZK?
我先列一下 Optimisitic Rollup 與 ZK Rollup 的幾個最關鍵的區別:
- 第一,安全性,ZK Rollup 優於 Optimistic Rollup。zk Rollup 提交給 L1 的新狀態隨附了 Proofs,可繼承 L1 的安全保證;而 Optimistic Rollup 提交給 L1 的新狀態沒有隨附證明,當 TVL 增長到一定量時,礦工可能被賄賂從而導致錯誤發生後的欺詐證明不被納入區塊中,繼而發生被盜風險;
- 第二,拓展性,ZK Rollup 優於 Optimistic Rollup。Optimistic 的實際吞吐量上限為 500TPS,而 ZK 超過 2000TPS,StarkEx 甚至可達到 9000TPS;
- 第三,可驗證最終性,ZK Rollup 優於 Optimistic Rollup。zk Rollup 的最終確定性時間很短,比如 zkSync 是 10 分鐘;而 Optimistic Rollup 的最終確定性時間最少為一週。兩者相比資本效率相差很大;
- 第四,EVM 兼容性,Optimistic Rollup 優於 ZK Rollup。Optimistic Rollup 兼容 EVM,他們可以非常快速、便捷地將現有的 Ethereum Layer1 上的各種 Dapps 吸引過去,所以目前 Optimistic Rollup 系列的 Layer2 項目的 TVL 排名靠前。不過,隨著 zkVM 的研發,Optimistic Rollup 的這個優勢也將被削弱。
要搞清楚為什麼 Optimistic 安全性不如 ZK、資本效率低,需要了解 Optimistic Rollup 的工作原理,接下來以 Arbitrum Rollup 為例:
Arbitrum Rollup 是一種 Optimistic Rollup。其基本架構如下圖:
Arbitrum 是作為 Ethereum 的 Layer2 協議,EthBirdge 是 Arbitrum 鏈中正在發生的事情的最終權威來源,也需要維護鏈的 Inbox/Outbox。Aribtrum 的執行環境是 AVM,AVM 的設計起點是 EVM,在許多方面都沒有改變,所以 Arbitrum 支持 EVM 編寫或編譯的程序。Offchain Labs 給 Arbitrum 編寫的操作系統是 ArbOS,ArbOS 為智能合約提供了與 EVM 兼容的執行環境,所以 ArbOS 這個操作系統中可以運行 EVM 兼容的 Dapps,也就意味著 Ethereum 鏈上的各種 Dapps 可以直接遷移過來。
Arbitrum 在 Arbitrum Rollup 鏈上發生的所有交易都是記錄在 Rollup 鏈上的。在 Arbitrum 上執行交易也需要 ETH Gas Fee,但比 Layer1 上更便宜很多。提交到 Ethereum 鏈上的是原始交易數據,合約的計算執行和存儲是在 Arbitrum Rollup 鏈上。優化交易壓縮以最大限度地減少需要在 Ethereum 鏈上發布的內容,對於 Layer2 降低成本和提高吞吐量至關重要。對於不攜帶自己的 Calldata 的簡單轉賬交易,基準測試表明:Arbitrum 允許每秒最多 4500 筆轉賬交易。
如何達成共識?
Arbitrum Rollup 是一種樂觀的 Rollup,也就是說先默認大家都是誠實的,所以在發布斷言時,不要求隨附證明其有效性。而是採取欺詐證明的機制來確保 Layer2 網絡的正確共識。
Arbitrum 的欺詐證明(Fraud Proofs):當斷言(Assertion)在鏈上發布時,做出該斷言的驗證者會發布保證金,並且有一個時間窗口,如果他們認為這是錯誤的,任何人都可以發布自己的保證金並質疑斷言。在挑戰窗口期,斷言者和挑戰者可以來回交互協議,鏈上合約充當協議的裁判。最後,裁判確定一方提出了虛假索賠,沒收保證金來懲罰該方。
那麼 Arbitrum 究竟是怎麼解決挑戰期內的爭議的?
核心是交互式證明(Interactive Proving)。這實際上是一種對爭議做細化剖析,來尋找關鍵爭議點,並通過 Layer1 Referee(L1 裁判)來判斷的方案。
舉例說明:假設 Alice 提交了一個斷言(承諾 93 是正確的),而 Bob 不同意並發起了挑戰(並承諾 95 才是正確的)。如果 Alice 的聲明涵蓋了 N 個執行步驟,則她發布兩個大小為 N/2 的聲明,它們結合起來產生她的初始 N 步聲明,然後 Bob 選擇 Alice 的 N/2 步聲明中的一個來挑戰。現在爭議的規模已經減少了一半。這個過程繼續進行,在每個階段將爭議減半,直到他們對一個執行步驟產生分歧。將爭議縮小到一個步驟時,L1 裁判才需要通過查看指令實際執行的操作以及 Alice 關於它的聲明是否正確來解決爭議。
Arbitrum 採用的交互式證明與 Ethereum Layer1 採用的重新執行交易(Re-executing Transaction)相比,區別在於:重新執行交易是需要模擬整個交易的執行,而交互式證明是讓 Alice 和 Bob 兩個人自己把爭議縮小到一個步驟,從而使得 L1 裁判只需要模擬 1 個交易的執行。Arbitrum 和 Optimism 的區別也體現在爭議的解決上,Optimism 是把整個有問題的交易都通過 EVM 運行。
由上可知,Optimistic Rollups 之所以安全性不如 ZK、資本效率低,關鍵在於證明機制不同。
回歸到擴容的初心,相對於以太坊 L1 的性能,Optimistic Rollup 其實已經實現了擴容的主要目的,而且因為 Optimistic Rollups 有 EVM 兼容的優點,發展情況還不錯。在 Layer2 項目的 TVL 排行榜上,Optimistic Rollups 的絕代雙驕 Arbitrum 和 Optimism 分別以 2.48B 和 1.04B 的 TVL 位列前 2。Arbirum 生態入駐了 21 種分類的 249 個應用協議,Optimism 生態也有 179 個項目。