此刻正在閱讀這篇文章的你一定已經聽說過optimisticrollup了吧。它是一個前途無量的新型擴容方案,在2019年的DevCon上引發了熱烈討論。目前已經有很多文章解釋了該技術的工作原理,卻沒有一篇文章來解釋其背后的?原因。這就導致有很多團隊都在嘗試用自己的方式來實現optimisticrollup,這種各自為政的開發模式通常不利于整個加密貨幣經濟系統的安全性。
本文聚焦于那個被大眾忽略的問題:解釋optimisticrollup為何能以安全且可持續的方式實現擴容,同時又能保持去中心化的特性。
何為OptimisticRollup?
我在2019年6月撰寫了?optimisticrollup?的首個最小可行規范,為我早些時候與?Mikerah?合著的論文《構建可擴展的去中心化支付系統》提供了一個具體的參數化高級規范。該規范旨在實現區塊鏈發展史上的第一條具有免許可性和可擴展性的免信任型側鏈。
-我說的“rollup”不是可以吃的這種-optimisticrollup的運作方式如下:任何人都可以在無需許可地提交一個側鏈區塊,將整個區塊作為有待驗證的調用數據發布到鏈上,并交納保證金。一個新的側鏈區塊只能鏈接到側鏈的末端,由鏈上合約進行追蹤。一段較長的時間過后,側鏈區塊會被確定下來,之后就會退還保證金。從側鏈中取款回到主鏈上的操作要在側鏈上發起,只需提供對一個已確定的側鏈區塊的非交互式包含證明即可。如果一個側鏈區塊是無效的,且還沒有得到最終確認,只要提交我來解釋下:為什么要這么設計OptimisticRollup?
事實證明,optimisticrollup和之前的擴容方案之間存在一些細微差異,使前者成為了最有前途的短期至中期擴容方案,讓后者成為了歷史。這一節會介紹這些重要差異背后的成因。
徐明星新書《趣說金融史》正式發布 科普金融發展之道:金色財經現場報道,9月23日,歐科云鏈創始人徐明星攜手著名財經作家李霽月、行業觀察者顧澤輝力作《趣說金融史》一書,跨越5000年金融歷史,重讀金錢故事,并預測新的金融時代。該書由中信出版社出版,將于近期正式發售。據了解,本書可以更好地呈現金融的起源與發展,幫助人們理解貨幣、金融與未來經濟。作為區塊鏈行業領軍企業——歐科云鏈的創始人,徐明星深知技術探索對經濟社會的重要推動作用,他曾先后出版過《圖說區塊鏈》、《區塊鏈:重塑經濟與世界》、《通證經濟》、《鏈與未來》等行業權威著作,解讀區塊鏈等新型技術的推動下,金融與社會的升級之道,對經濟社會發展做出了重大貢獻。其中,《區塊鏈:重塑經濟與世界》曾作為新中國70周年重點推薦圖書之一被相關書店推薦。[2021/9/23 17:00:57]
合并共識
optimisticrollup最突出的一個特點是
合并共識。合并共識是一種可在鏈上驗證的共識協議。但什么是去中心化共識協議呢?
去中心化共識協議包含以下幾個相互獨立的功能:
分叉選擇規則
區塊有效性函數
領導者選舉算法
抗女巫機制
上述功能保障了區塊鏈的經濟?
安全性?:操縱歷史是要付出代價的。(注意:為了簡單起見,這里我忽略了一些事實,例如,
一些去中心化共識協議是無領導者的)。
在optimisticrollup方案中,側鏈是不會出現分叉的,因此不需要分叉選擇規則。區塊有效性是在鏈下計算的,而且可以在鏈上用錯誤性證明來證明其不正確性。剩下還有領導者選舉和抗女巫攻擊的問題需要解決。
我所提出的規范提議采用“先到先得”機制,即在任一高度上,延長側鏈長度的首筆交易會被采納。領導者選舉是隱式的,而且事后才會見出分曉,而抗女巫攻擊是通過主鏈實現的。如此簡單的領導者選舉規則為何能起到作用?因為以太坊區塊鏈已經提供了安全性。只有出現以下三種情況之時,才能將側鏈上的某個區塊變成孤塊:1)該區塊是無效的;2)該區塊的某個祖先區塊是無效的;3)以太坊區塊鏈發生重組。因此,有效的區塊也具備與以太坊同等程度的確定性和安全性!因此,我們不需要復雜的領導者選舉算法,或是成本高昂的抗女巫攻擊機制來保障安全性。側鏈無需付出額外的成本即可獲得安全性,因此我們可以極大地簡化系統參數的設置。
歐易OKEx將于3月18日推出DeFi系列科普視頻:據歐易OKEx官方消息顯示,歐易OKEx將正式推出DeFi系列科普視頻《歐易DeFi20講》,本系列節目由歐易OKEx亞太區CEO馬克金主講。該視頻首期將于3月18日11:00(HKT)推出,用戶可以在歐易OKEx官方學院、金色財經觀看。
《歐易DeFi20講》主要包含DeFi入門指南、全景解讀DeFi生態及如何參與DeFi三個篇章,可以輕松使用戶了解DeFi原理,洞察DeFi價值,掌握DeFi熱點,更多詳情請關注歐易OKEx官方學院。[2021/3/18 18:55:59]
但是,如果我們想要一種能提前知道領導者的方案,該怎么改造呢?一個建議是,可以在鏈上運行PoS+RANDAO來進行領導者選舉。這種情況下,并不需要納入另一種代幣,否則還會產生負面影響。正如比特幣白皮書中所言:
如果一個貪婪的攻擊者所擁有的CPU算力超過了所有誠實節點的算力之和,他就能選擇發動雙花攻擊,或是生成新的代幣。他理應發現遵守規則對自己最有利,因為相比于破壞整個系統以及偽造個人資產來說,遵守規則能讓他獲得比其它礦工加起來都多的區塊獎勵。
正如中本聰所說,原生代幣的全部意義就是激勵“誠實的大多數”來保護整個系統。在optimisticrollup中沒有所謂“誠實的大多數”,也沒有獨立于主鏈的安全性概念,因此完全沒必要再納入一種原生代幣,否則非但不會有任何助益,比起僅使用以太幣來說更不方便。
要注意的是,只要是完全在鏈上運行的領導者選舉機制都可以采用,不僅限于我在本文推薦的那些。例如,燒毀證明就是其中之一。
optimisticrollup雖然與延遲狀態執行和影子鏈等提議有諸多類似之處,但是一大關鍵的區別在于合并共識的概念。optimisticrollup的共識協議是完全在鏈上的智能合約之內運行的;因此,它不會影響到主鏈的共識規則,也不需要得到其支持。相較之下,延遲狀態執行和影子鏈實行的是鏈上自動狀態轉換,需要得到主鏈共識協議和協議內獎懲機制的明確支持。
動態 | 幣安科普MimbleWimble算法:幣安官方推特今日發布隱私算法Mimblewimble的科普貼,在下方留言區大量網友留言猜測是否是基于 Mimblewimble算法的隱私幣Grin或者Beam即將登陸幣安交易所,其中猜測Grin的呼聲更高。[2019/9/2]
可持續擴容
現在我們已經明白optimisticrollup是如何通過合并共識實現免許可性及其背后的原因了,那么它是如何實現可持續擴容的呢?
在撰寫本文之時,未壓縮的以太坊狀態大小在45GB左右。不同于歷史數據,狀態是不能夠被刪除的——必須由全節點完整地保存下來,以便驗證新區塊中的新交易。更糟糕的是,為了驗證交易,必須對狀態進行很多次隨機訪問,因此需要將狀態存儲在RAM——大多數消費級硬件都達不到這個條件——或一個快速的NVMe固態硬盤上。狀態增長是以太坊遇到的最大的擴容瓶頸。
我們當然可以為狀態大小設定一個硬性上限,這樣就可以不用擔心狀態增長問題了,真正的解決方案是實行狀態租賃機制,持續向狀態的使用者收取費用。然而,在以太坊上部署該機制比想象中更為困難,已經被無限期推遲了。
有一個很實用的解決方案,可以通過減緩狀態增長的速度來解決這一問題。zkrollup?推廣使用的:將側鏈交易數據作為調用數據發布到主鏈上,然后使用有效性證明或錯誤性證明來確保該數據的正確性。結果證明,存儲歷史數據的成本比存儲狀態要低得多。之后,可以通過主鏈來確保數據可用性,追蹤rollup鏈的區塊頭,處理存取款,并驗證有效性證明/錯誤性證明,這些都不需要大量使用狀態。通過減緩狀態增長,擴容就可以實現長期可持續性。Vitalik之前寫過一篇很好的文章,總結了如何將鏈上數據可用性運用到zkrollup和optimisticrollup上。
要注意的是,雖然有人指出影子鏈是完全等同于optimisticrollup的,這顯然是不對的。
現在,我的想法是創建一條完整的“影子鏈”,把計算放到鏈下進行,但是會在生成100個區塊之后向主鏈提交狀態轉換的承諾。預言機可以將新的區塊添加到這條鏈的末端,其中每個區塊內都包含一個由交易組成的列表和一個由這些交易引發的狀態轉換?,...]?組成的列表。一個區塊生成之后,會有一個長達100個區塊的挑戰期,在此期間都沒有遭到挑戰的話,狀態轉換會被自動應用到主鏈上。
科普時報:區塊鏈與云計算長期發展目標不謀而合:據《科普時報》今日報道,區塊鏈與云計算兩項技術的結合,從宏觀上來說,一方面,利用云計算已有的基礎服務設施或根據實際需求做相應改變,實現開發應用流程加速,滿足未來區塊鏈生態系統中初創企業、學術機構、開源機構、聯盟和金融等機構對區塊鏈應用的需求。另一方面,對于云計算來說,“可信、可靠、可控制”被認為是云計算發展必須要翻越的“三座山”,而區塊鏈技術以去中心化、匿名性,以及數據不可篡改為主要特征,與云計算長期發展目標不謀而合。[2018/5/4]
除了未被明確定義,影子鏈還會自動在鏈上執行狀態轉換,不會促進狀態增長。optimisticrollup不會執行任何狀態轉換,除非有用戶為此付費。
非交互性FTW
對于optimisticrollup來說,非交互型錯誤性證明非常重要。為什么?
非交互型錯誤性證明之所以如此重要,是因為要避免?PlasmaCash?存在的缺陷之一,即,針對無效歷史的交互型退出挑戰機制。這種交互型多步驟挑戰機制導致PlasmaCash?對鏈擁堵攻擊的抵御能力較低。所謂的鏈擁堵攻擊指的是攻擊者為了竊取Plasma合約內的全部資金,向主鏈發送大量“退出”交易。只需要一個非交互型錯誤性證明就可以將任意數量的無效optimisticrollup區塊變成孤塊,使系統更能抵御鏈擁堵攻擊。注:由于optimisticrollup使用了錯誤性證明,如果主鏈不具備抗審查性的話,依然存在資金遭竊的風險。
在optimisticrollup中,提款也是通過非交互型的方式處理的:先是在側鏈上發起提款,然后針對主鏈上一個已得到最終確定的區塊生成非交互型包含證明,再利用這個證明來完成提款。然而,這就要求側鏈具有免許可性,因此需要的是合并共識,而非一個類似于Plasma的運營方。
相比交互型驗證游戲來說,非交互型錯誤性證明更有優勢。交互型驗證游戲所需的時間比較長。鑒于optimisticrollup是不會產生分叉的,攻擊者可以生成一個無效的區塊,利用驗證游戲造成側鏈停擺,從而對系統發動DoS攻擊。有了非交互型錯誤性證明,就可以立即證實欺詐行為。
財政部副部長朱光耀:數字經濟還處在發展的過程中,要以科普、推動的態度來推進數字經濟發展:今日,在中國發展高層論壇2018年會上,財政部副部長朱光耀表示:“數字經濟還處在發展的過程中,要以科普、推動的態度來推進數字經濟發展。也要關注數字經濟的其他影響,包括稅收征管、反洗錢監管措施等要跟上。”[2018/3/25]
交易延遲問題
Optimisticrollup并不會降低交易延遲。每一個側鏈區塊都需要被提交到主鏈上,因此出塊時間不會低于主鏈。除了使用足額質押的狀態通道之外,
暫無其他安全且免信任的方式可以減低這種延遲。
不過,你不一定要等到側鏈區塊得到最終確定之后才接受它的交易。由于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為什么要這么設計?》
來源:加密谷Live 作者:Howard 突如其來的一場新冠肺炎疫情打亂了大部分人的工作與生活節奏,我們似乎一下子從快車道進入冰河時期,其實,進入2020以來.
1900/1/1 0:00:00韓國國民議會整屆會議于今天下午通過了《關于特定金融交易信息的報告與利用等法律》修訂案。該修正案的通過標志著加密貨幣交易正式納入韓國政府的法律體系.
1900/1/1 0:00:00一、市場成交概況 作為區塊鏈生態體系中重要的參與者與建設者,加密貨幣交易所一直與加密貨幣的發展息息相關.
1900/1/1 0:00:00本文僅作討論,不作為任何投資建議。比特幣有非常高的風險,投資需謹慎。你已經知道了比特幣是什么,你對投資比特幣有一些心動,但你又不知道應該怎么做.
1900/1/1 0:00:002月15日消息,開放式金融借貸協議bZx遭遇到攻擊,造成部分ETH已經丟失。據bZx聯合創始人KyleKistner表示,雖然目前具體損失的ETH數量尚不清楚,但丟失一事確實存在.
1900/1/1 0:00:00美聯儲正在圍繞發行數字貨幣的可行性,研究數字支付和數字貨幣政策、法規制定等相關的一系列問題。2月5日,美聯儲理事布雷納德表示,美聯儲正在研究與數字支付和數字貨幣法規和保護有關的一系列問題,包括發.
1900/1/1 0:00:00