Optimistic Rollup 如何運作

柴先生的數位資產筆記
2 min readSep 28, 2020

--

節錄來自 OVM 團隊的 Kelvin Fitcher 的講解:

Optimistic Rollup 是 Ethereum Layer 2 的一個解法。”Rollup” 背後的邏輯就是捨棄在昂貴的 Layer 1 上運行智能合約,我們可以選擇在 Layer 2 上運行,然後再把結果存在 Layer 1 上。所以實際上可以執行一堆的交易,最後只記錄一次的結果回鏈上。

好處當然是把吞吐量提高了,但問題是,我們到底要如何驗證這個寫回鍊上的結果是正確的?

Optimistic Rollup 的方法就是:要允許在鍊上重新跑過這些交易,一但證明某筆交易是錯的,也可以獲得獎勵。更底層的來說, Optimistic Rollup 透過智能合約實作了 EVM,他們稱作 OVM,整個 VM 是用 Solidity 寫的

但這樣只解決了簡單的問題。

很多智能合約會使用到外部的狀態(例如 block.number )而這些值在 Layer 2 上是不存在的或是根本已經是不對的。

所以他們做了兩件事:

  • 禁止某些會有不確定效應的 EVM 指令集
  • 如果真的需要用到這些會有不確定效應的指令,則這些指令會被導到一個獨立的智能合約,稱作 Execution Manager。

第二個問題是,要是 Execution Manager 接受了錯誤的指令,要怎麼停下來。一個外部的智能合約被呼叫時,可以撤銷這個呼叫,但無法撤銷原始調用它的程序。

所以直接的解法就是,要求所有調用 Execution Manager 的呼叫都要遵照回傳的指示暫停執行且撤銷呼叫。

簡單來說,不是所有的智能合約都可以直接在 OVM 上執行,需要另外一個轉譯器 (Transpiler) 來把它轉成 OVM 支持的版本。

儘管還在測試網階段,但我們接下來有望看到 Synthetix & Uniswap 採用Optimistic Rollup。

Layer 2 的春天終於要來了嗎 🤔

參考資料:

--

--

柴先生的數位資產筆記
柴先生的數位資產筆記

Written by 柴先生的數位資產筆記

隨筆關於加密貨幣 / 資產數位化 / 去中心化金融 / 以太坊 / 比特幣

No responses yet