原文標題:《科普 | OptimismPBC vs Arbitrum》
作者: Kris Kaczor
現在正是將 @optimismPBC 和 @arbitrum 拉出來較量一下的時候了。久等了各位,我們現在就開始!🔥🔥🔥
我們先來看一下 Optimism 和 Arbitrum 之間的共同點:
- 都屬于 Rollup,是貨真價實的 Layer 2 方案,將所有交易數據都存儲在 Layer 1 上
- 都是 “樂觀型(optimistic)”,即,使用欺詐證明
- 都使用定序器來實現即時 “確定性”
- 都具備通用的跨鏈消息傳遞功能,可以用來構建高級代幣橋,如 @MakerDAO 的快速取款橋:https://forum.makerdao.com/t/announcing-the-optimism-dai-bridge-with-fast-withdrawals/6938
接下來是重頭戲 —— 不同點。Optimism 和 Arbitrum 之間最大的不同點在于欺詐證明機制的實現,即,一筆交易執行完后,如果狀態引起爭議該如何解決?Optimism 采用單輪欺詐證明,也就是說,Layer 1 會在鏈上執行整個 Layer 2 交易,來驗證狀態根。這使得欺詐證明具有即時性,這是優點,但是,這里面也存在一些問題:
- 你需要監督交易執行,為此需要使用 OVM(即為了避免副作用而重新編寫的EVM)
- Layer 2 交易的 gas 使用量不得超過 Layer 1 區塊的 gas 上限
- 每執行一筆交易,你都需要在鏈上生成狀態根 —— 導致成本上升:(
- 存在安全隱患
Arbitrum 采用多輪欺詐證明。簡單來說,就是通過二分查找,找到引起分歧的那個區塊的第一個操作碼。找到之后,只需在鏈上執行這個操作碼。多輪欺詐證明的優點如下:
- 它只需為一整批交易生成一個狀態證明,并發布到鏈上
- Layer 1 區塊 gas 上限并不重要,因為 Layer 2 交易不完全在 Layer 1 上執行
缺點如下:
- 需要 EVM -> AVM 翻譯(幸好是自動的)
- 速度很慢 —— 最壞情況下,需要長達 2 周時間才能完成欺詐證明,實際上是一周時間。
- 需要原始提款人在線并配合
從另一種角度來思考,Optimism 是集裝箱化的,而 Arbitrum 是虛擬化的,
Optimism 的方法有一個很大的缺點。想象一下,如果出現硬分叉,導致以太坊共識規則改變,操作碼被刪除/重新定價或修改,這時,突然在 Layer 1 上重新執行過去的交易會得到截然不同的最終狀態,我不知道 Optimism 團隊會如何解決這個問題,但是我想真到了那一天他們會想出辦法的。Arbitrum 完全控制 AVM 規范,因此不用擔心這種問題。
這兩個項目都試圖盡可能貼近以太坊生態系統,但是這里面有一些不同。總的來說,你依然可以使用你所知道的與 EVM 相關的工具(solidity、hardhat 和 waffle 等),但實際上沒那么簡單,
Optimism 需要一個特殊的 solidity 編譯器來生成 OVM 字節碼,因此,它只與 Solidity,而且是特定版本的 Solidity 兼容,另一方面,Optimism 的 Layer 2 節點只是經過了修改的 geth 客戶端,修改的目的是為了提高兼容性。
從表面上來看,Arbitrum 完全兼容 EVM/JSON RPC 規范,但是它的節點是自定義實現,Arbitrum 通過自動化的EVM-> AVM 翻譯來支持欺詐證明。因此,它支持任何 EVM 語言(vyper、YUL+ 等)。
Optimism 使用 weth,而且內置錢包抽象。Arbitrum 自帶 ETH 支持。
Arbitrum 提供統一的免許可橋,來實現任意代幣和 Layer 2 之間的橋接(它部署了一個通用 ERC20 合約作為 Layer 2 對手方)Optimism 更喜歡專用橋,不過在 Optimism 上構建通用橋也是有可能的。關于這點,@dmihal 知道得更詳細;)
最后一個差別是上線實現。Arbitrum 將在本月底上線 “面向開發者的主網”,Optimism 則要等到 7 月,
如果你想要了解更多內容,我建議你觀看這場由 @stonecoldpat0 主持的 @karl_dot_tech 和 @hkalodner 之間的友好辯論,
就我個人而言,這兩個項目我都很支持,我已經等不及看到它們主網上線了,整個以太坊社區都亟需合適的 Layer 2 方案,而不是什么可擴展側鏈,
如果你想要了解 Optimism 橋的例子,可以查看 https://github.com/makerdao/optimism-dai-bridge。我們準備在下周發布兼容 Arbitrum 的版本,