Arbitrum的祕密武器:交互式欺詐證明
原文標題:《 Interactive Fraud Proofs: Arbitrum's Secret Sauce 》
Arbitrum One 已經在主網开放,我們計劃推出一系列的文章,講解 Arbitrum 的內部構件。本文摘自 Inside Arbitrum,該原文深入講解了 Arbitrum 的工作原理。
圍繞 optimistic rollups,最主要的設計抉擇是,如何解決爭議。假設 Alice 斷言 Rollup 會的運行會產生某個結果,而 Bob 不同意,那協議該如何定奪,選擇誰提交的結果呢?
處理的方法基本可分兩類:交互式證明,或者重執行交易。Arbitrum 選擇了交互式證明,我們認為這種辦法效率更高,也更靈活。Arbitrum 的其它設計也基本上遵循這個原則。
從 2014 年以來,我們一直在开發交互式欺詐證明(和 Arbitrum)。基本的機制我們寫在了 2018 年出版的論文裏,雖然現在我們又做了大量的升級。
交互式證明
交互式證明的思路是讓 Alice 和 Bob 參與一個由 L1 合約引導的回合制協議,使用任何 L1 合約所需的最小开銷來解決他們之間的分歧。
Arbitrum 的方法基於對爭議的剖析。如果 Alice 的斷言涉及了 N 個執行步驟,那就讓她曝光出兩個各涉及 N/2 個步驟的斷言,然後讓 Bob 選擇一個來挑战。這樣一來,爭議的規模就縮小了一半。這個過程持續進行,每一回合都將爭議的規模縮小一半,直到爭議的範圍變成一個執行步驟。注意,直到此時為止,L1 引導合約都不必考慮實際上執行了什么。僅當爭議被縮小到單個執行步驟時,L1 引導合約才需要理解這一步要執行什么指令,以及 Alice 對該步的斷言是否為真,以此解決爭議。
交互式證明背後的關鍵原理是,如果 Alice 和 Bob 有所爭議,Alice 和 Bob 應盡可能做鏈下的工作來解決爭議,而不是讓 L1 合約承擔負擔。
重執行交易
另一個方案是,讓一個 Rollup 區塊在區塊內每一筆交易後附帶一個狀態哈希值斷言。然後,在爭議情形中,L1 引導合約將模擬一整筆交易的執行,看結果是否與 Alice 的斷言一致。
為什么說交互式證明更好?
我們堅決認為,交互式證明是個更好的方法,理由如下。
在樂觀情形下,交互式證明效率更高。因為交互式證明可以解決大於一筆交易的爭議,因此,一個 rollup 區塊可以僅包含一個斷言,斷言整條鏈在這一個區塊的所有內容執行完之後的結果狀態。相反,重執行方法需要區塊內的每個交易後面都附帶一個狀態斷言。如果一個 rollup 區塊裏面有成百上千筆交易,這兩種方法在對 L1 區塊的空間佔用上將出現顯著的區別——而這種佔用正是 rollup 成本的主要部分。
在悲觀情形下,交互式證明的效率也更高:如果出現了爭議,L1 引導合約只需檢查 Alice 和 Bob 的操作「在往正確的方向走」,比如 Alice 確實把 N 步驟的斷言拆成了兩個針對一半步驟的斷言。(引導合約無需去計算 Alice 斷言的正確性,Bob 會做,在鏈下做。)只需要重新執行一個指令。相反,在重執行交易模式下,L1 引導合約需要模擬一整筆交易的執行。
更高的交易級 gas limit:交互式證明可以擺脫以太坊對單筆交易 Gas Limit 的限制;即使一筆交易 gas 消耗量太大、無法放進以太坊區塊內,也仍有可能可以放進 Arbitrum 的區塊內。Rollup 的 Gas Limit 當然也不可能是無限的,但仍可以做到比以太坊主鏈所容許的大得多。
就以太坊而言,大 gas 容量的 Arbitrum 交易的唯一缺點是它可能需要運行更多的交互步驟(這個也僅僅是在有所爭議的情況下)。相反,重執行模式下的 rollup 交易,gas limit 必須小於以太坊的區塊 Gas Limit,否則就沒法在一筆以太坊交易內模擬執行完這筆交易了(而且模擬執行比起在以太坊中直接執行,gas 消耗量還要更大)。
合約大小沒有限制:交互式證明無需為每一個 L2 合約創建一個以太坊合約,所以也不要求合約符合以太坊合約的限制。對於 Arbitrum 的爭議合約來說,在 L2 上部署一個合約的操作也是一系列計算過程的組合,與別的操作沒有區別。相反,重執行模式下,L2 合約的大小比以太坊主鏈上所能容許的還要小,因為要模擬一個合約的執行需要能夠仿制(instrument)這個合約,而仿制的代碼必須能夠放進一個以太坊合約內。
更大的實現彈性。交互式證明允許實現上的更大靈活性,舉個例子,加入 EVM 中還不存在的指令。必要的功能無非是能在以太坊上驗證一個單步執行的證據。而重執行模式就嚴格受限於 EVM。
交互式證明方法是 Arbitrum 的設計核心
Arbitrum 的大部分設計都是由交互式證明方法所开啓的機會驅動的。如果你在學習 Arbitrum 的特性時疑惑於為什么這種它們要存在,這裏有兩個簡單的思考方向:「這個特性是用來支持交互式證明的嗎?」以及「這個功能是是如何利用交互式證明得以實現的」?大部分關於 Arbitrum 的「為什么」都跟交互式證明有關。
原文來源: Offchain Labs Medium
原文作者: Offchain Labs
原文編譯:阿劍,以太坊愛好者
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
24H熱門幣種與要聞 | Michael Saylor發布數字資產框架提案;Azuki疑似即將發幣(12.23)
24 H 熱門幣種 1、CEX 熱門幣種 CEX 成交額 Top 10 及 24 小時漲跌幅: B...