比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > BTC > Info

科普 | 可持續地實現擴容并保持去中心化,Optimistic Rollup是如何設計的?_PTI

Author:

Time:1900/1/1 0:00:00

此刻正在閱讀這篇文章的你一定已經聽說過optimisticrollup了吧。它是一個前途無量的新型擴容方案,在2019年的DevCon上引發了熱烈討論。目前已經有很多文章解釋了該技術的工作原理,卻沒有一篇文章來解釋其背后的?原因。這就導致有很多團隊都在嘗試用自己的方式來實現optimisticrollup,這種各自為政的開發模式通常不利于整個加密貨幣經濟系統的安全性。

本文聚焦于那個被大眾忽略的問題:解釋optimisticrollup為何能以安全且可持續的方式實現擴容,同時又能保持去中心化的特性。

何為OptimisticRollup?

我在2019年6月撰寫了?optimisticrollup?的首個最小可行規范,為我早些時候與?Mikerah?合著的論文《構建可擴展的去中心化支付系統》提供了一個具體的參數化高級規范。該規范旨在實現區塊鏈發展史上的第一條具有免許可性和可擴展性的免信任型側鏈。

-我說的“rollup”不是可以吃的這種-optimisticrollup的運作方式如下:任何人都可以在無需許可地提交一個側鏈區塊,將整個區塊作為有待驗證的調用數據發布到鏈上,并交納保證金。一個新的側鏈區塊只能鏈接到側鏈的末端,由鏈上合約進行追蹤。一段較長的時間過后,側鏈區塊會被確定下來,之后就會退還保證金。從側鏈中取款回到主鏈上的操作要在側鏈上發起,只需提供對一個已確定的側鏈區塊的非交互式包含證明即可。如果一個側鏈區塊是無效的,且還沒有得到最終確認,只要提交我來解釋下:為什么要這么設計OptimisticRollup?

事實證明,optimisticrollup和之前的擴容方案之間存在一些細微差異,使前者成為了最有前途的短期至中期擴容方案,讓后者成為了歷史。這一節會介紹這些重要差異背后的成因。

TRON數字錢包科普資料《波場錢包的現在過去與未來》已上線:據最新消息顯示,由TokenPocket聯合波場TRON官方,以及 TokenPocket 社區志愿者共同撰寫的《波場錢包的現在過去與未來》已正式上線。《波場錢包的現在過去與未來》又稱為波場錢包小白書,詳細介紹了當前TRON錢包與TRON生態密切結合的實例,是目前市面上最為詳細的TRON數字錢包科普資料。波場錢包作為波場公鏈生態中極為重要的入口,是波場生態的重要構成要素。波場錢包從一開始只提供權限管理、轉賬收款、節點投票等基礎功能,到如今不僅可以為用戶提供法幣交易、閃兌和去中心化交易所等方便快捷的交易服務,還能讓用戶直接在錢包上體驗波場上DApp,挖礦、DeFi、Staking等資產增值服務。詳情見原文鏈接。[2020/8/20]

合并共識

optimisticrollup最突出的一個特點是

合并共識。合并共識是一種可在鏈上驗證的共識協議。但什么是去中心化共識協議呢?

去中心化共識協議包含以下幾個相互獨立的功能:

分叉選擇規則

區塊有效性函數

領導者選舉算法

抗女巫機制

上述功能保障了區塊鏈的經濟?

安全性?:操縱歷史是要付出代價的。(注意:為了簡單起見,這里我忽略了一些事實,例如,

一些去中心化共識協議是無領導者的)。

在optimisticrollup方案中,側鏈是不會出現分叉的,因此不需要分叉選擇規則。區塊有效性是在鏈下計算的,而且可以在鏈上用錯誤性證明來證明其不正確性。剩下還有領導者選舉和抗女巫攻擊的問題需要解決。

我所提出的規范提議采用“先到先得”機制,即在任一高度上,延長側鏈長度的首筆交易會被采納。領導者選舉是隱式的,而且事后才會見出分曉,而抗女巫攻擊是通過主鏈實現的。如此簡單的領導者選舉規則為何能起到作用?因為以太坊區塊鏈已經提供了安全性。只有出現以下三種情況之時,才能將側鏈上的某個區塊變成孤塊:1)該區塊是無效的;2)該區塊的某個祖先區塊是無效的;3)以太坊區塊鏈發生重組。因此,有效的區塊也具備與以太坊同等程度的確定性和安全性!因此,我們不需要復雜的領導者選舉算法,或是成本高昂的抗女巫攻擊機制來保障安全性。側鏈無需付出額外的成本即可獲得安全性,因此我們可以極大地簡化系統參數的設置。

人民數字FINTECH推出區塊鏈科普動畫:人民日報數字傳播發布微博稱,人民數字FINTECH出品《趣味科普|區塊鏈動畫》。[2020/3/31]

但是,如果我們想要一種能提前知道領導者的方案,該怎么改造呢?一個建議是,可以在鏈上運行PoS+RANDAO來進行領導者選舉。這種情況下,并不需要納入另一種代幣,否則還會產生負面影響。正如比特幣白皮書中所言:

如果一個貪婪的攻擊者所擁有的CPU算力超過了所有誠實節點的算力之和,他就能選擇發動雙花攻擊,或是生成新的代幣。他理應發現遵守規則對自己最有利,因為相比于破壞整個系統以及偽造個人資產來說,遵守規則能讓他獲得比其它礦工加起來都多的區塊獎勵。

正如中本聰所說,原生代幣的全部意義就是激勵“誠實的大多數”來保護整個系統。在optimisticrollup中沒有所謂“誠實的大多數”,也沒有獨立于主鏈的安全性概念,因此完全沒必要再納入一種原生代幣,否則非但不會有任何助益,比起僅使用以太幣來說更不方便。

要注意的是,只要是完全在鏈上運行的領導者選舉機制都可以采用,不僅限于我在本文推薦的那些。例如,燒毀證明就是其中之一。

optimisticrollup雖然與延遲狀態執行和影子鏈等提議有諸多類似之處,但是一大關鍵的區別在于合并共識的概念。optimisticrollup的共識協議是完全在鏈上的智能合約之內運行的;因此,它不會影響到主鏈的共識規則,也不需要得到其支持。相較之下,延遲狀態執行和影子鏈實行的是鏈上自動狀態轉換,需要得到主鏈共識協議和協議內獎懲機制的明確支持。

可持續擴容

現在我們已經明白optimisticrollup是如何通過合并共識實現免許可性及其背后的原因了,那么它是如何實現可持續擴容的呢?

在撰寫本文之時,未壓縮的以太坊狀態大小在45GB左右。不同于歷史數據,狀態是不能夠被刪除的——必須由全節點完整地保存下來,以便驗證新區塊中的新交易。更糟糕的是,為了驗證交易,必須對狀態進行很多次隨機訪問,因此需要將狀態存儲在RAM——大多數消費級硬件都達不到這個條件——或一個快速的NVMe固態硬盤上。狀態增長是以太坊遇到的最大的擴容瓶頸。

聲音 | ETC Labs主管:科普教育是未來幾年公鏈面臨的巨大挑戰:ETCLabs主管Darin Kotalik認為,科普教育是未來幾年公鏈面臨的巨大挑戰,人們必須要對區塊鏈有基本的認識,分清楚公鏈和私鏈的區別。[2019/8/25]

我們當然可以為狀態大小設定一個硬性上限,這樣就可以不用擔心狀態增長問題了,真正的解決方案是實行狀態租賃機制,持續向狀態的使用者收取費用。然而,在以太坊上部署該機制比想象中更為困難,已經被無限期推遲了。

有一個很實用的解決方案,可以通過減緩狀態增長的速度來解決這一問題。zkrollup?推廣使用的:將側鏈交易數據作為調用數據發布到主鏈上,然后使用有效性證明或錯誤性證明來確保該數據的正確性。結果證明,存儲歷史數據的成本比存儲狀態要低得多。之后,可以通過主鏈來確保數據可用性,追蹤rollup鏈的區塊頭,處理存取款,并驗證有效性證明/錯誤性證明,這些都不需要大量使用狀態。通過減緩狀態增長,擴容就可以實現長期可持續性。Vitalik之前寫過一篇很好的文章,總結了如何將鏈上數據可用性運用到zkrollup和optimisticrollup上。

要注意的是,雖然有人指出影子鏈是完全等同于optimisticrollup的,這顯然是不對的。

現在,我的想法是創建一條完整的“影子鏈”,把計算放到鏈下進行,但是會在生成100個區塊之后向主鏈提交狀態轉換的承諾。預言機可以將新的區塊添加到這條鏈的末端,其中每個區塊內都包含一個由交易組成的列表和一個由這些交易引發的狀態轉換?,...]?組成的列表。一個區塊生成之后,會有一個長達100個區塊的挑戰期,在此期間都沒有遭到挑戰的話,狀態轉換會被自動應用到主鏈上。

除了未被明確定義,影子鏈還會自動在鏈上執行狀態轉換,不會促進狀態增長。optimisticrollup不會執行任何狀態轉換,除非有用戶為此付費。

非交互性FTW

對于optimisticrollup來說,非交互型錯誤性證明非常重要。為什么?

聲音 | 中科院姚建銓:要加快推進區塊鏈與物聯網融合的科普 培訓:據新華網消息,日前,在區塊鏈與物聯網融合發展峰會上,中國科學院院士姚建銓說,關注區塊鏈技術里面的大數據,跟區塊鏈技術結合起來進行測量和檢測,能更好地提升激光清洗技術。姚建銓建議,無錫今后要加快推進區塊鏈與物聯網融合的科普、培訓,正確引導廣大人民群眾對技術的認知;同時,建立專業、權威,但又普適、成套的理論體系和標準,以此切入區塊鏈的實際應用。[2018/9/18]

非交互型錯誤性證明之所以如此重要,是因為要避免?PlasmaCash?存在的缺陷之一,即,針對無效歷史的交互型退出挑戰機制。這種交互型多步驟挑戰機制導致PlasmaCash?對鏈擁堵攻擊的抵御能力較低。所謂的鏈擁堵攻擊指的是攻擊者為了竊取Plasma合約內的全部資金,向主鏈發送大量“退出”交易。只需要一個非交互型錯誤性證明就可以將任意數量的無效optimisticrollup區塊變成孤塊,使系統更能抵御鏈擁堵攻擊。注:由于optimisticrollup使用了錯誤性證明,如果主鏈不具備抗審查性的話,依然存在資金遭竊的風險。

在optimisticrollup中,提款也是通過非交互型的方式處理的:先是在側鏈上發起提款,然后針對主鏈上一個已得到最終確定的區塊生成非交互型包含證明,再利用這個證明來完成提款。然而,這就要求側鏈具有免許可性,因此需要的是合并共識,而非一個類似于Plasma的運營方。

相比交互型驗證游戲來說,非交互型錯誤性證明更有優勢。交互型驗證游戲所需的時間比較長。鑒于optimisticrollup是不會產生分叉的,攻擊者可以生成一個無效的區塊,利用驗證游戲造成側鏈停擺,從而對系統發動DoS攻擊。有了非交互型錯誤性證明,就可以立即證實欺詐行為。

交易延遲問題

Optimisticrollup并不會降低交易延遲。每一個側鏈區塊都需要被提交到主鏈上,因此出塊時間不會低于主鏈。除了使用足額質押的狀態通道之外,

科普時報:區塊鏈與云計算長期發展目標不謀而合:據《科普時報》今日報道,區塊鏈與云計算兩項技術的結合,從宏觀上來說,一方面,利用云計算已有的基礎服務設施或根據實際需求做相應改變,實現開發應用流程加速,滿足未來區塊鏈生態系統中初創企業、學術機構、開源機構、聯盟和金融等機構對區塊鏈應用的需求。另一方面,對于云計算來說,“可信、可靠、可控制”被認為是云計算發展必須要翻越的“三座山”,而區塊鏈技術以去中心化、匿名性,以及數據不可篡改為主要特征,與云計算長期發展目標不謀而合。[2018/5/4]

暫無其他安全且免信任的方式可以減低這種延遲。

不過,你不一定要等到側鏈區塊得到最終確定之后才接受它的交易。由于optimisticrollup不會產生分叉,成功上鏈的有效區塊必然會得到最終確認,而且該區塊的所有數據均可獲得,用戶可以執行客戶端驗證,立即接受該區塊內的交易。

乍看之下,取款延遲似乎也是個問題,但事實并非如此。通常情況下,用戶不需要等待其提款得到最終確認。事實上,較長時間的挑戰期主要是為了確保加密貨幣經濟安全性,一般來說都不會用得上。一種能夠立即取款的簡單方法是,在主鏈或另一條鏈上與流動性提供者進行原子交換?。

-Optimisticrollup可以讓你在無需支付gas費用的情況下實現即時交易!-

數據可用性挑戰

一開始的論文提出了解決數據可用性問題的三種方法:

始終將所有數據都發布到鏈上

利用數據可用性挑戰,只在必要之時將數據發布到鏈上

利用數據可用性證明

數據可用性挑戰似乎是個比較簡單靠譜的解決方案。遺憾的是,如果是由被攻擊方來負擔挑戰費用的話,他們就會蒙受損失;如果是由攻擊方來負擔挑戰費用的話,整個系統就會每時每刻將所有數據都發布到鏈上。因此,在設計規范之時,optimisticrollup的選擇是始終將所有數據都發布到鏈上,并以高效率低成本的方式來實現。不過后來,在?

optimisticrollup上使用數據可用性證明也變得可行了。

進一步改進

我已經基于

最小規范的初始版本撰寫了性能改進方案,并總結如下。請注意,重點圍繞的是基于UTXO的支付,而非一般的智能合約執行。

以太坊1.0上的多線程數據可用性?——數據驗證和其它預處理步驟都是純函數,因為它們根本不涉及任何狀態。因此,這些步驟都是可以并行的。按照這種方式來使用以太坊將極大減少狀態的使用和增長,如果使用的是四核計算機,那么數據可用性吞吐量可以增加四倍。我的計劃是通過幾個EIP來實現這一點,第一個就是?EIP-2242:交易Postdata。

無需將中間狀態序列化的UTXO鏈緊湊型錯誤性證明?——針對以太坊智能合約的通用型錯誤性證明成本很高。在UTXO數據模型內,每個UTXO最多只能創建并消耗一次,每個交易都會完整描述狀態轉換。區塊生產者可以將元數據添加到每個輸入上,聲明這個輸入是由一個特定的輸出生成的。如果這種聲明有錯,則這種錯誤性是可以通過非交互的方式來證明的。我在另一篇文章中重新分析了BIP-141中提到的錯誤性證明機制。

使用默克爾累加器的無狀態查詢平行交易驗證——狀態查詢是非常昂貴的。無狀態客戶端就是通過消除對狀態的使用來降低成本。但我們可以搞簡單一點:只需免去狀態查詢即可。“見證數據”是不會立即過期的,其有效性會持續幾個區塊。這些“見證數據”必須根據最新幾個區塊的狀態轉換進行比較,而狀態轉換可以在UTXO數據模型中通過無狀態計算得出。

鏈上非交互型數據可用性證明——如果自始至終都將數據上鏈的話,會帶來巨大的成本,還會導致optimisticrollup只能實現線性擴展。我們可以將共識節點進行可用性檢查的能力通過一個FFI函數表示出來,就可以在無需進行分片的情況下獲得二次方的可擴展性。這是?通過停擺實現免信任型雙向橋側鏈——使用錯誤性證明的雙向橋側鏈必須一直保持在線,這點對用戶來說可能有些不便。雖然瞭望塔不適用于PlasmaCash?,但它可以應用到optimisticrollup上。但是,我們可以做得更好:可以在側鏈運行一段時間后完全停擺,然后向用戶提供一個較長的窗口期,以便用戶提交錯誤性證明來決定有效的區塊。這段用戶必須在線的窗口期是已知且有限的。等窗口期結束之后,才允許取款。如果用戶想要早一點取款的話,可以與流動性提供者進行原子交換。

構建OptimisticRollup的團隊

自從幾個月之前第一版OptimisticRollup最小化規范撰寫完成以來,我欣然發現很多開發團隊都開始構建OptimisticRollup的實現了,其中經歷了很多波折和修改。下面是一張不完全列表,列舉了我們目前看到的正在構建OptimisticRollup的開發團隊。

Fuel?——聚焦于穩定幣支付的UTXO數據模型。可以用來進行任意的ERC-20代幣或ETH轉賬,或是進行原子交換,未來還可以用來進行“斷言”腳本撰寫。該模型即將上線長期公共測試網。

PlasmaGroup?——在?OVM?環境下的通用型類EVM智能合約,已經在Devcon5上宣布與Uniswap達成合作。

Arbitrum?——使用了交互型驗證游戲機制的通用型智能合約。除此之外,新的?Arbitrumrollup?設計與optimisticrollup大致相同。

InterstateNetwork?——使用錯誤性證明的通用型類EVM智能合約。

SKALE?——使用?BLSsignature?聚合的Optimisticrollup。

NutBerry?——使用了交互型驗證游戲機制的通用型類EVM智能合約。

IDEX?——為IDEX交易所構建了“優化型OptimisticRollup”。

結論

隨著各種各樣的optimisticrollup實現項目上線,接下來的一年以太坊將發生巨大改變,其吞吐量將得到大幅提高,并在數據可用性方面進一步實現可持續擴容。

我在本文中沒有將optimisticrollup與zkrollup進行對比。如果你對此感興趣的話,可以看一下?AlexGluchowski?寫的這篇文章。

感謝?MikerahQuintyne-Collins、JamesPrestwich、RobertDrost?和?JosephChow?的審校。

(完)

原文鏈接:?https://medium.com/@adlerjohn/the-why-s-of-optimistic-rollup-7c6a22cbb61a作者:?JohnAdler翻譯&校對:?閔敏&阿劍

來源:以太坊愛好者,原題《科普|OptimisticRollup為什么要這么設計?》

Tags:ROLROLLPTIMISHydroLinkroll幣是什么意思Encryption AISangkara MISA

BTC
觀點 | 韓國金融服務委員會成員:缺乏實際使用是阻礙加密貨幣發展的最大障礙_ORN

據Decrypt3月3日報道,韓國金融服務委員會區塊鏈咨詢委員會的一名關鍵成員表示,缺乏真實世界的使用案例是阻止加密貨幣增長的最大問題.

1900/1/1 0:00:00
揭開加密貨幣世界「Coinbase 黑幫」的秘密_OIN

來源:鏈聞 該文為「ProofofValue」區塊鏈數據解讀系列文章之一,用數據科學解讀區塊鏈。本文由「X-Order?×?鏈聞」?聯合呈現.

1900/1/1 0:00:00
澄清!德國正式將數字資產歸類為金融工具,不具備貨幣法律地位_NAN

周一,德國聯邦金融監管局公布了監管指南,將數字資產歸類為金融工具。 圖片來源:PixabayBinance澄清10億美元恢復基金來自自有資產:金色財經報道,在轉移錢包的細節引起質疑后,加密貨幣交.

1900/1/1 0:00:00
火幣金融公鏈的前哨,看懂HBTC與DeFi的火花_DEF

交易所瘋搶DeFi生態,HBTC之于火幣是聰明的決定?新的營銷花樣?還是布局新的賽道?2018年到2019年不知道多少公鏈項目被證明是偽需求,而剩下的公鏈項目看到以太坊生態DeFi的健壯.

1900/1/1 0:00:00
礦工持續投入資金,比特幣全網算力再創歷史新高_ASH

據外媒?3月3日報道,本周一,礦工們在比特幣網絡上處理區塊的算力超過了該網絡的歷史最高記錄,總哈希速率達到每秒136exahash?.

1900/1/1 0:00:00
與其宅著變胖,不如用7天14個小時,構建區塊鏈知識圖譜 | 巴比特產業迎新大課重磅上線_IVO

今年春節,我還是去外婆家拜了年。撤掉碗筷,在小學教了30多年數學的舅舅把我拉到一旁,看著我說:“你跟我講一講什么是區塊鏈吧。”那誠懇的樣子,像極了暑假在他家補課的那些學生.

1900/1/1 0:00:00
ads