自下而上解釋以太坊 layer 2 擴展方案——Optimistic Rollup

2020-12-03 中金網資訊

外匯天眼APP訊 : 本文將通過簡單的例子,自下而上地闡述Optimistic Roll-Up (ORU)的運作方式;為了讓我們能 「看得見摸得著」 ORU 鏈所有的意涵,本文舉的示例也會比較特殊。

ORU 是以太坊 layer 2 擴展方案中的佼佼者,既能把可擴展性的蛋糕做大,也能讓你吃到 —— 至少是吃到一部分吧。大家之所以對 ORU 如此興奮,是因為它及它的表親—— ZK-Rollup,克服了側鏈、 plasma、狀態通道等方案都沒有解決的 layer 2 難題。

ORU 要解決什麼問題?

某所高中正面臨這樣的問題:每隔幾天,就會出現小情侶的爭吵事件,通常是因為其中一方劈腿。

典型的場景如下:

Alice 看到男朋友 Bob 親吻 Cathy,她感到非常生氣。但 Bob 可能會辯解 「我發誓我沒這麼做!」 或 「我倆早就分手了!」......但 Alice 根本聽不進去,抓起椅子就朝 Bob 扔去;這種在走廊上演的小劇場,正破壞著整個校園的環境。

解決方法 v1

校園裡的超級書呆子 Jamal 提出了一種解決方案:

每天晚上,要求所有學生選擇以下信息之一,並籤署自己的密碼學籤名——

「我單身,勿擾」「我單身,待配對」「我正在與 X 約會(只和 X)」「我正在和多個人約會(還沒安定)」這裡的籤名和用於密碼學貨幣轉帳的籤名類型是一樣的。

學校會在布告欄張貼 「學生與其對應公鑰」 的公告,所以任何人都能用籤名驗證的方法來確實誰籤了什麼消息。

為了方便同學們使用,Jamal 開發了一款 app ,每個同學只要在 app 上選擇四條內容之一,然後點擊 「籤名 & 發送」 按鈕就行,之後籤名消息會從後端向以太坊 P2P 網絡廣播 —— 事實上,這些消息會先發到 Jamal 家裡的伺服器,由他代表同學們向以太坊發送消息,這樣同學就不需要操心以太坊 Gas 的設置。Jamal 通過一些智能合約高級技巧(CREATE2 操作碼),就可以自己先替同學們支付 Gas ,然後再按月度向學校報銷 Gas 費用。

學校裡有 1000 位同學,每人每天都要籤署發送 1 條消息,平均每條消息要花費 $ 0.1 的 Gas;所以每個月學校用在 Gas 上的費用為:

(1000 學生) x (1 信息/天/學生) x( $.1 gas/信息) x (30 天/月)

= $3000 gas/月.

肉疼!

解決方法 v2

對於財政吃緊的學校來說,每個月 $ 3k 的支出顯然是不合適的。

這時候 ORU 就派上用場了。Jamal 告訴校方,使用 ORU 可以降低約 99% 的 gas 費用 ,以下是改進的方案:

和 v1 方法一樣,當每位學生點擊 「籤名 & 發送」 之後,信息會先發送至 Jamal 家的伺服器。然後 Jamal 將所有的籤名疊加成一串字符串數據WiSWho (也就是 「誰在和誰約會」)的信息 。

WiSWho 的信息格式是 [ Alice 的 ID、Alice 的消息、Alice 的籤名 ]、 [ Bob 的 ID、Bob 的消息、Bob 的籤名 ] ……

接著,Jamal 用自己的私鑰籤署這一筆交易,並廣播之。交易信息為:

「我,Jamal,檢查過這筆交易附帶的 WiSWho 數據,WiSWho 代表截至 dd/mm/yyyy 所有學生的交往關係,我對天發誓這些數據包含了完整的事實,無任何人工添加。」

用行話來說,Jamal 充當了 layer 2 「執行者」 的角色。

如果你曾經用以太坊進行交易,你可能注意過附加數據 —— 也就是以太坊瀏覽器中 「Input date」 那一欄。如下圖所示,簡單交易中大多數人會將附加數據留空;如果交易中調用了如 Uniswap 的 swap 函數,則調用的函數名和傳入的參數就會附加上作為交易的 Input Data ;Jamal 的交易會調用 layer 1 的 ORU 合約, WiSWho 就是 Jamal 廣播的交易的 Input Data 。

左圖:簡單交易,沒有附加數據。右圖:Uniswap 函數和入參(例如 min_tokens 是收到的以太坊數量 )作為附加數據。

以太坊(layer 1)的 ORU 合約只會驗證 Jamal 的籤名,而附加數據 WiSWho 中的其他同學的籤名,只會被視為區塊的二進位「 冷數據」(註:不會被訪問或檢索的數據)。

這就是擴展性的體現,因為這樣一來 layer 1 的全節點只要驗證 ORU 執行者的籤名並存儲附加數據,而不需要驗證WiSWho裡的所有籤名。

懸念

你可能已經注意到 Jamal 籤署的信息,強調了兩句話:

包含了完整的事實,且僅包含事實。違反規則 1 的情況稱為惡意審查(censorship),意思是 Jamal 在惡意地過濾信息,比如 Bob 和 Alice 有過節,所以 Bob 賄賂 Jamal ,讓他審查 Alice 的信息以破壞 Alice 的美好生活。違反規則 2 的情況稱為詐欺(fraud),意味著 Jamal 將一條或多條不存在的信息加到 WiSWho 。比如,數據中包含一條 Alice 的聲明 —— 「我正在和 10 位男孩及 10 位女孩約會」,而事實上 Alice 根本沒有籤署這樣的信息,所以 Jamal 在 WiSWho 中放入的 Alice 籤名是非法的(可能是 Bob 賄賂 Jamal ,以此造謠中傷 Alice ;又或是 Jamal 對 Alice 不滿,想讓她尷尬......)。因為 ORU 合約不會檢查 WiSWho內容的正確性,所以詐欺行為會嚴重影響使用 ORU 的初衷,還會讓 gas 費用上升(驗證籤名並不便宜),因為存在詐欺行為會迫使大家退而使用 v1 解決方法。雖然我們相信,Jamal 是個正直的人,他承諾絕對不會搞審查或詐欺,但從安全性的角度考慮,我們最好還是將希望寄托在 Jamal 「無法作惡」 而非 「不會作惡」。保留對 Jamal 的檢查權校方決定對 Jamal 採行胡蘿蔔加大棒(軟硬兼施)的管理方式:胡蘿蔔:Jamal 提供服務換取可觀的報酬,每天 Jamal 發送 WiSWho 交易之後,智能合約就會從授權 Jamal 向校方提領 $ 5 的權利。但 Jamal 不能立刻拿到這 $ 5 ,他只能在月末提領。Jamal 看著可提領額度每天蹭蹭往上漲,他肯定會願意繼續提供服務。避免惡意審查的柔性手段:如果 Jamal 故意無視 Alice 提交的信息,當晚她可以自行向智能合約提交籤署信息(當然,要自己負擔 gas 費用)。隔天一早, Alice 可以去找校長告狀,同時其他同學也會有所警惕,Jamal 的聲譽會因為作惡行為而下降。對於校方來說,很容易就能找到能替代 Jamal 角色的人選:智能合約已經在 layer 1 上部署運行, Jamal 的替代者只要運行 AWS lambda 服務,每天持續監聽同學們發來的信息、打包籤名、向 ORU 合約廣播單筆交易即可。實際上,任何願意在合約上鎖定保證金的人都可以成為執行者(差別只是他們要重新向學生宣傳自己而已)。避免詐欺行為的強硬手段任何人都能發現 Jamal 存在詐欺行為(如果有),並通過簡單舉證向 layer 1 的 ORU 合約證明存在詐欺。除此之外, Jamal 必須事先向智能合約鎖定一筆保證金(想成為執行者的人都需要鎖定,作惡就會被罰款),保證金增加 Jamal 進行詐欺的成本。簡單舉證包含如下內容 —— 「嘿 ORU,這個籤名是 Jamal 檢查過的數據之一,由 Alice 籤署;但我,作為舉報者,我宣布這是個無效的籤名!」智能合約會從先前發布的數據中抽取出 Alice 的籤名,並通過 Alice 的公鑰(在 ORU 合約設置之初就存好了)執行籤名驗證。如果這個籤名的確是無效的,則:清零 Jamal 的待提領獎勵,將 Jamal 的保證金一半獎勵給舉報者,另一半銷毀。更進一步剖析強硬手段強硬手段是 ORU 合約中最有趣、最具決定性的內容;事實上,它就是 ORU 成為 layer 2 解決方案的核心因素。這個手段的特別之處在於:不只是校方或學生,任何人都能舉起這監督的大棒。只要 WiSWho 數據上鏈,舉報者們就能拿到證明 Jamal 是否作惡所需要的所有材料。人人都能向 ORU 合約發出對 Jamal 交易的質疑,並有機會獲得舉報成功的獎勵。強硬手段的設計及運作,是不同 ORU 實現之間最重要的區別。來自教育部的電話「何時能得到大規模接受?」這是我們圈子裡最常見的問題。假設大家都開始採用區塊鏈技術,ORU 也能用於解決網絡擁堵 —— 但現在卻出現另一個問題。假設教育部希望 Jamal 處理全國範圍內,所有學校的籤名,這時候我們的問題就會從 「能處理多少學生?」 轉為 「你能處理多少學校?」。你可能會說,「既然可以將整個學校的所有籤名整合為一筆交易,那同理將全國的籤名整合為一筆交易不就好了?」這就牽扯到 ORU 擴展性的上限:區塊的 Gas 上限。雖然 Jamal 廣播交易的 Gas 消耗量很低,但並不是不存在。如果想要在一筆交易中包含全國範圍內的所有學生數據,很有可能會超過區塊的 Gas 限制,換言之, Jamal 需要將數據進行拆分,分批廣播。所以說,通過 ORU 能獲得的擴展性是有上限的,如果你需要無限擴展,可以考慮側鏈或 plasma 等......但這樣資金安全就沒那麼有保障。重溫一下 ORU 的好處在樂觀情況下, layer 1 的全節點無需執行 ORU 操作者發起的交易的附加數據,這樣一來:layer 1 全節點層面的執行成本更低;因為存儲數據要比在其內部運行任何邏輯便宜得多。每筆交易的 Gas 成本更低;因為與執行交易相比,存儲數據的 Gas 成本更低。ORU 與側鏈/Plasma/狀態通道有什麼區別?與側鏈不同:側鏈的理念發端於 2014 年,但從未產生很大的吸引力;而 ORU 鏈的安全性是直接由 Layer-1 來保護的。假設你在 ORU 鏈上玩撲克或交易代幣,則你的資產轉移就等同在 layer 1(例如以太坊主網)上轉移一樣安全。雖然當發生欺詐情況時,可能會遇到一些不便 —— 例如你需要等待一兩個星期才能釋放資金,但是 layer 1仍然可以保證資金的安全。另一方面,如果你在側鏈進行交易,側鏈上的礦工(PoW)或驗證者(PoS)可以竊取你的資金;因為只要他們想要,就能單方面向 layer 1 講述對他們有利的故事,而 layer 1 無從考證。與 plasma 和狀態通道不同:ORU 的詐欺證明機制非常簡單,任何人 都能提交挑戰。舉報者有 layer 1 上可用的所有數據,能夠檢測並向 ORU 合約提交詐欺行為證明,以此獲得獎勵。如果採用 plasma 或狀態通道,用戶必須承擔其資金的部分或全部的安全性責任,並且必須時刻 「監視」 layer 1 合約的情況,以防執行者或其他用戶搞欺詐。總結所謂的 optimistic rollup (ORU),其實就是 ①智能合約 —— 部署在某 layer 1 (如,以太坊主網) 上,以及 ② 區塊生產者 —— 會監聽特定 p2p 網絡的交易的,並將其匯總成一個大字符串數據,附上驗證籤名後上鏈。因為合約能夠直接接收用戶的交易,即使執行者掉線或是作惡,都能保證用戶能夠安全地將資金從 ORU 退出。更重要的是,合約能夠核實執行者是否存在詐欺行為,如有有,合約還能罰沒執行者的保證金。舉報者進行詐欺檢測及舉證所需的所有數據,都能從 ORU 交易的附加數據取得;Layer 1 的全節點不會執行附加數據的內容(除非有人舉報存在詐欺),這就是 layer 1 能夠擴展的根本因素。對於 Layer 1 來說,這些附加數據只是個二進位數據包,並會被永久存儲,僅此而已。

相關焦點

  • Optimistic Rollup 為什麼要這麼設計?|火星技術貼
    它是一個前途無量的新型擴容方案,在 2019 年的 DevCon 上引發了熱烈討論。目前已經有很多文章解釋了該技術的工作原理,卻沒有一篇文章來解釋其背後的 原因。這就導致有很多團隊都在嘗試用自己的方式來實現 optimistic rollup ,這種各自為政的開發模式通常不利於整個加密貨幣經濟系統的安全性。
  • 以太坊重要擴容方案:Optimistic Rollup現狀報告(上)
    不過,以太坊的擴展性的確是一個重要且熱門的話題,現有的解決方案包括 Optimistic Rollup、Zk Rollup,而 Optimistic Rollup 則是一個提出時間並不長的新興方案,它被認為是最有前途的擴容方案。那麼時至今日它的發展情況如何?前景又如何?本文作者 Daniel Goldman 通過大量的調研完成了此份報告,現在,DAOSquare 將這份成果分享給大家!
  • 以太坊重要擴容方案:Optimistic Rollup 現狀報告(中)|火星號精選
    小編:記得關注哦來源:DAOSquare本文是《以太坊重要擴容方案: Optimistic Rollup現狀報告》的第二部分,第一部分請查看我們的上一期文章《以太坊重要擴容方案: Optimistic Rollup現狀報告(上)》。
  • 科普丨一分鐘了解以太坊layer2擴容
    Ethereum二層(layer2)擴容是怎麼回事?Optimism、xDai、OMG和Loopring等項目之間又有什麼區別?接下來我們將回答這些問題。擴容的必要性自以太坊網絡推出以來,以太坊的擴容是討論最多的話題之一。關於擴容的爭論總是在以太坊網絡出現重大擁堵後上演。
  • 什麼是layer2 ?一文讀懂以太坊擴容方案的投資機會 |幣小寶區塊鏈...
    layer2 是一個為提升以太坊網絡(layer1)性能的整體解決方案,眾所周知,由於以太坊網絡經常出現擁堵情況,並且手續費奇高不下,導致許多大規模應用無法在以太坊網絡實現。例如今年的Defi浪潮中,動輒手續費高達數百美元,非常不利於項目推廣;此外,受限於以太坊網絡的TPS,導致去中心化交易所難以普及,甚至衍生品等業務無法進一步擴張。
  • Layer2若取得成功,對以太坊和公鏈格局有什麼影響?
    以太坊擴展的迫在眉睫在過去的一段時間,DeFi向我們展示了以太坊的擁堵,gas費用之高讓人難以置信。這只是從用戶體驗的層面展示出來的表象。它深層的意義在於不同DeFi協議在爭奪以太坊的區塊空間,這是零和遊戲。
  • 以「狀態」 視角理解以太坊及其未來
    而 「狀態」 視角,作為理解以太坊本身的視角,正好能幫助我們廓清這些方案的設計,並揭示我們的所得和所失。本文將從解釋 「狀態」 的含義開始,揭示以太坊的終極之矛和阿喀琉斯之踵,然後探討各種改進方向。「富狀態性」 是以太坊智能合約 「可組合性」 的來源,但也是以太坊網絡最大的弱點。由此,我們可以見出現在常被人提起的哪些方案會影響 「可組合性」,哪些 「可擴展性」 的意義更明顯。
  • 德鄰資本研究院:淺析以太坊Layer-2 擴容解決方案
    一般而言,在考慮區塊鏈或者以太坊擴容方案時,有兩種主要辦法:擴展基礎層本身(第1層)或通過將一些工作分流另一層(第2層)來擴展網絡。目前以太坊每秒可在其基礎層「 Layer 1」上處理約15筆交易。Layer 2擴展後可以顯著增加同等時效內處理的交易數量。根據現有不同的解決方案,我們認為理想的處理速度應該為2000-4000 tx/s。以太坊2.0引入了權益證明和分片機制,這將顯著提升基礎層上的交易吞吐量。
  • 為什麼我們如此需要以太坊2.0? | 火幣尖峰對話
    根據最新的rollup中心路線圖,數據分片將在以太坊2.0階段1 (Phase 1) 實現,作為rollup或是其他layer2方案的數據可用性層,目的在於擴展鏈上存儲空間,以實現較優的layer1+layer2擴容性能。  在PoW系統中,擴展基礎層的數據吞吐量需要根據系統的硬體和帶寬設置安全的區塊大小。
  • 孤矢:「以太坊2.0」只是假高潮
    三、核心技術問題遇到瓶頸以太坊2.0的核心技術難題是分片技術,而近期以太坊基金會最近的更新的路線圖已經講的很明確:(1)暫時不再強調Phase2 的重要性,Phase 1 致力於實現數據分片(shard data),供rollup 使用;(2
  • 以太坊的 Layer 2 生態,現在發展得怎麼樣了?
    不過擁堵的以太坊和高額的 Gas 費用卻給其他領域帶來了新的機遇,公鏈賽道和以太坊 Layer 2 賽道變得引人注目。不少基於以太坊的項目選擇了集成 Layer 2 技術,用以解決當前的擁堵問題。8 月 21 日,Compound 也透露正在考慮轉移到 Layer 2 或其他公鏈,因為 Gas 費用實在過高。
  • 簡單談談CellETF的layer2方案!
    Layer2成為市場新的風口和熱點12月1日晚,以太坊2.0信標鏈正式開啟,以太坊2.0是以太坊的計劃升級方案,大家都明白2.0升級會將POW挖礦轉為POS,主要是解決以太坊的擴展性問題和共識問題以太坊創始人VitalikButerin近期表示,搭建階段0其本身所做的工作遠遠超過將以太坊執行引擎集成到這其中的工作。所以,採用以rollup為中心的方法,將「階段1」簡化為僅用於分片數據便於採用rolllups的內容,能使其更容易實現。
  • 簡單談談CellETF的Layer2方案!
    Layer2成為市場新的風口和熱點12月1日晚,以太坊2.0信標鏈正式開啟,以太坊2.0是以太坊的計劃升級方案,大家都明白2.0升級會將POW挖礦轉為POS,主要是解決以太坊的擴展性問題和共識問題。以太坊創始人VitalikButerin近期表示,搭建階段0其本身所做的工作遠遠超過將以太坊執行引擎集成到這其中的工作。所以,採用以rollup為中心的方法,將「階段1」簡化為僅用於分片數據便於採用rolllups的內容,能使其更容易實現。
  • Layer2 方案將是衍生品 DEX 爆發的催化劑?
    加密貨幣衍生品市場在其初期,加密貨幣資產類別僅為比特幣、萊特幣和以太坊等基礎加密資產提供現貨敞口。然而,隨著該資產類別在2016-2017年左右開始成熟,BitMex等交易所推出了以永續掉期和期貨合約的形式提供比特幣的衍生品,交易者可以通過這些衍生品獲得對波動性資產的槓桿敞口。
  • Layer2、以太坊與公鏈格局
    (阿爾附近的吊橋,梵谷)以太坊擴展的迫在眉睫在過去的一段時間,DeFi向我們展示了以太坊的擁堵,gas費用之高讓人難以置信人們提出了Layer 2、分片、跨鏈等解決方案,其中Layer 2是提及次數最高的方向之一。做個假設,如果未來以太坊就是巨無霸,那麼基於以太坊上的Layer 2會是重要的發展趨勢。在Layer2中,會呈現什麼樣的演化趨勢?Layer2會出現百花齊放的狀態嗎?還是一枝獨秀?如果Layer2取得成功,它對以太坊和公鏈格局又有什麼影響?
  • 麥子瀏覽器插件錢包已支持以太坊 Layer2: Optimistic Ethereum
    關於 Optimism EthereumOptimism Ethereum 可能會是最早上主網的方案之一,已經吸引 Synthetix 和 Uniswap 這兩個頭部項目和 Coinbase Wallet 錢包的支持。
  • 科普|Rollup 為何能成為當下最火的 Layer2 方案
    除非躲進深山老林,否則很難不知道這波由以太坊二層可擴展方案 Rollup 掀起的熱潮。 背景知識:構建在以太坊上且無需對底層 Layer 1 協議進行任何修改的可擴展性方案被稱為 Layer 2 方案。這些方案無需與以太坊網絡交互即可處理交易,並通過智能合約將其安全性錨定在以太坊的 Layer 1 上。
  • 從拓展性出發:認識Optimistic Rollup與ZK-Rollup
    什麼是Optimistic RollupOptimistic Rollup是一種在L2上使用OVM(Optimistic Virtual Machine)擴展以太坊通用智能合約的技術。OVM的功能很齊全,可以與EVM(Ethereum Virtual Machine)兼容執行環境,其主要用於第2層系統。
  • 市場熱度再起,Layer2 能否解決以太坊擁堵問題
    受限於 TPS,價高者得的交易處理機制使 DeFi 熱潮時以太坊網絡貴且擁堵,最擁堵時 gas 值突破了 1000 gwei,單筆交易花費幾十上百美元成為家常便飯。這樣的交易代價也將很多人拒於 DeFi 門外。面對當前可拓展性極其有限的難題,以太坊社區和開發者提出了兩個方向的解決方案,Layer2 和分片(Eth2 的一個重要升級)。
  • 以太坊2020年的六大成就和五個失望瞬間
    第1階段,將引入數據存儲的第一種分片形式;第2階段,將使基於以太坊的去中心化應用完全可以使用分片技術。在這一過程中的某個階段,現有的以太坊 1.0區塊鏈將被合併為一個分片,PoW機制將被逐步淘汰。在2020年期間,以太坊開發社區匯聚了另一種願景:以rollup為中心的路線圖。