當我們向一種新的擴容范式轉變時,回顧被拋棄的舊范式是一種很好的做法。
這篇文章旨在讓讀者相信,“以rollup為中心”的方法并不會背離分片,并且有望構建對整個系統更直觀的理解。
OptimisticRollup的定義
出于本文的目的,我們先詳細說明最簡單的OptimisticRollup(ORU)實現。
ORU需要具備以下幾個特性:
將所有交易數據提交到鏈上
將狀態根提交到鏈上
假設狀態根是正確的
一些節點負責驗證ORU的狀態轉換
設有鏈上欺詐證明執行程序,可以撤銷無效狀態轉換
分片為什么不可行
在證明ETH2.0分片只是一種復雜的ORU系統之前,我們先來探究一下為什么原生分片系統并非安全的可擴展性解決方案。其背后原因不是特別直觀。
從數學角度證明分片的安全性
假設一條區塊鏈上有16384個驗證者和64條分片鏈,每條分片鏈都由128名驗證者組成的委員會負責驗證。委員會成員選舉是不可預見的:每個slot結束后,所有委員會都會解散,并隨機從全體驗證者中重新選出64個委員會,因此每個驗證者都不知道其他驗證者所在的委員會。假設一個區塊需要獲得委員會中2/3成員的認可才能被添加到分片鏈上,這就意味著在全體驗證者中包含1/3惡意驗證者的情況下,通過隨機的方式選出惡意委員會的概率是:
持有超10000枚ETH的地址數量再創歷史新高:金色財經報道,據Glassnodes數據顯示,持有超過10000枚ETH的地址數量剛剛達1216個,再次創下歷史新高。[2022/12/20 21:55:04]
請注意,我們可以通過調整委員會的規模來按比例放大或縮小該參數,從而達到理想的安全級別。
由于選出惡意委員會的概率極低,以及對不作為驗證者的反向激勵,該分片系統理應繼承其非分片協調系統的安全性和活性保障。但是,就像現實世界中的大多數系統那樣,實現這一點并非易事。由于委員會成員是提前選好的,惡意參與者就有機會賄賂理性參與者。如果可以輕而易舉地創建從驗證者公鑰到IP地址的映射,就會出現更多行賄現象。此外,在免許可型系統中,可驗證投票從本質上來說無法防止行賄。綜上,分片的實際安全性相比理論上來說低至少一個數量級。
與Plasma一樣,分片同樣存在數據可用性問題
雖然分片的安全性低于整體協議,但是我們依然能夠確保其安全性,即,采用欺詐證明來撤銷無效狀態轉換。但是,如果不為我們這個設想中的簡單分片鏈引入額外的設計,那么惡意驗證者完全可以扣住數據、不放出來,使得他人沒有足夠的數據來生成欺詐證明。接下來,我們將講解如何實現這種攻擊。
假設有一條簡單分片的區塊鏈B,上面有X和Y兩條分片鏈。區塊鏈B在兩個委員會中運行傳統的拜占庭容錯共識算法來幫助運行分片X和Y,分別是C~x~和C~y~。B上的每個區塊都包含兩個門限簽名,即,C~x~和C~y~兩個委員會中2/3的成員對各自分片鏈的當前區塊的狀態根的見證。
派盾:FTX黑客將約1.5萬枚ETH轉入新地址,并將1萬枚ETH兌換為renBTC:11月21日消息,據派盾監測數據,0x59ab開頭的FTX黑客地址將約1.5萬枚ETH轉入0x8059開頭新地址,并開始將1萬枚ETH兌換為renBTC。
據昨日報道,FTX黑客通過renBTC將資金橋接至比特幣網絡,該比特幣地址擁有約2444枚比特幣(約4040萬美元)。[2022/11/21 7:52:27]
假設每條分片鏈的每秒數據和交易處理量與非分片系統相同,那么引入分片鏈應該能提供大約兩倍的吞吐量。在樂觀情況下,事實確實如此。
現在,讓我們對B發起數據不可用攻擊。假設一個惡意實體能夠迫使C~x~中2/31的成員簽署無效的狀態根,并且不公開對應區塊的輸入數據。之后,這個無效的狀態根會包含在下一個即將被添加到B上的區塊內。這時候,并沒有合理的機制可以讓B回到有效狀態,我們可以舉一些機制例子看看:
C~x~中剩余的1/3-1位成員可以在B上發出數據不可用警報。遺憾的是,這不是一個可明確歸屬方的錯誤,因此B無法確定是哪一方在作惡。懷有惡意的少數派有可能會借此發起零成本的DDOS攻擊。
網絡中的其它節點可以發出數據不可用警報。但他們很可能做不到,因為在錯誤發生期間,只有C~x~的成員在密切關注這個時間。
BTC多空持倉人數比0.84 ETH多空持倉人數比0.84:AOFEX交易大數據顯示,截至12月15日14:00,BTC永續合約多空持倉人數比為0.84,市場做空人數占優,基差小于0.5USDT,24小時成交約5.42億張;ETH永續合約多空持倉人數比為0.84,市場做空人數占優,基差小于0.05USDT,24小時成交約1.95億張;BTC千倍合約多空持倉人數比為0.72,市場做空人數占優,基差小于1USDT,24小時成交約1.56億張。
AOFEX數字貨幣金融衍生品交易所,旨在為用戶提供優質服務和資產安全保障。[2020/12/15 15:15:39]
由整個社區來發現錯誤,并主動介入將B回滾到最新的有效狀態。這種處理模式顯然是糟糕的。
執行類似Plasma的批量退出機制,從X批量退出到B上,會產生相關的負面影響。
就像Plasma一樣,這里真正的問題是數據可用性。
安全地提高數據可用性
希望上述分析能讓你明白一個道理:我們首先應該將關注點放在擴展基礎層的數據可用性上。否則,系統仍將遭受數據不可用攻擊。
從傳統上來說,提高區塊鏈上的數據吞吐量需要就系統所支持的最低硬件/帶寬要求達成社會共識——得出一個可以接受的區塊大小。MustafaAl-Bassam和VitalikButerin最近的研究提供了一種概率性機制來確保數據可用性。M.Yu等人進一步擴展了該研究,提出了CodedMerkleTree累加器這一概念,給出了最優階數的指標。
分析 | TokenGazer:ETH交易量縮水較大:據TokenGazer數據分析顯示,截止5月5日0時,以太坊24H價格區間為$160.07—$169.65,交易量為$6,452,901,460,總市值為$17,068,349,995,以太坊總市值環比昨日下跌了4.0%,而交易量減少了25.23%。當下ERC20代幣總市值約為以太坊總市值的73.8%,較昨日提升0.3%。期貨方面,目前Bitfinex和BitMEX總多單量占比60.99%,總空單量占比39.01%。另,ERC20代幣中活躍地址數排名前五的代幣依次為:NPXS,CRO,AOA,USDC,DAI,其中最高值為9706,最低值為957。[2019/5/5]
上述機制主要放寬了網絡中參與者下載所有數據的要求。Vitalik的提議是,讓網絡中的參與者隨機選取區塊中的小部分數據進行驗證,以確保區塊提議者公開了數據。風險在于,區塊提議者只需要隱藏少量數據即可發動數據不可用性攻擊。因此,參與者必須多次對區塊進行抽樣驗證,才能對區塊的可用性建立起足夠的信心。為了減少抽樣次數,Vitalik提議采用二維Reed-Solomon編碼來對區塊數據進行編碼。
在這個結構中,區塊被分割成N個份額,然后進行編碼,生成M個份額,只要擁有M中任意N個份額即可重新構建區塊。假設2N=M,區塊提議者需要影響1/2的區塊數據,才能成功發動數據不可用攻擊。CodedMerkleTree采用類似的結構,只不過使用O(b)的解碼成本和O(1)的哈希承諾來代替二維Reed-Solomon編碼所提供的O(b^1.5^)解碼成本和O($\sqrt{b}$)哈希承諾。
聲音 | Ran NeuNer:如今評論ETH就像撥號網絡時期評論互聯網:CNBC加密貨幣主持人Ran NeuNer在其社交媒體轉發了諾貝爾經濟學家Nouriel?Roubin稱由于缺乏活躍的dApp,ETH現在很糟糕的新聞。對此,NeuNer表示,如今評論ETH就像撥號網絡時期評論互聯網,我們從五分鐘才能下載一張圖片已經過渡到可以順暢播放影片。經過兩次變革的人們都見證了這一點吧?V神稱在更新之后,ETH將會達到1m?tps。[2018/9/12]
關于該技術的詳解,可以參見這篇文章。
分片就是Rollup
ETH2.0的分片設計模糊了它們是信標鏈的ORU這樣一個事實。如果將重點從分布式處理轉向有序的數據可用性層,就變得一目了然了。
如上圖所示,驗證者集起到以下4種作用:
驗證并執行信標鏈
對分片所提供的數據進行抽樣驗證
組成分片委員會
提交關于無效狀態轉換的欺詐證明
我們已經作了兩個假設:i)數據具有可用性,ii)區塊鏈會從最近一個具有數據可用性的區塊開始進行分叉。則要么人們可以構建欺詐證明,要么系統將缺乏數據可用性歸咎于簽署該區塊的分片委員會,并回滾狀態轉換。
從定義上來說,ETH2.0是一種ORU
這時,考慮到我們之前對ORU的定義,我們應該能夠證明分片實際上就是rollup:
1.所有交易數據都提交到鏈上
分片區塊數據被集中到數據可用性層上,在一定概率上會由全網進行驗證。
2.狀態根被提交到鏈上
分片委員會為包含在信標鏈區塊中的分片狀態根提供證明。
3.狀態根被假定為有效的
信標鏈在沒有進行額外驗證的情況下,假定分片委員會的證明是有效的
4.一些節點負責驗證ORU的狀態轉換
分片委員會驗證分片的狀態轉換。
5.有一個可以撤銷無效狀態轉換的鏈上欺詐證明執行器
信標鏈支持分片狀態轉換欺詐證明。
解構ETH2.0
既然我們已經解釋了ETH2.0和ORU系統之間不可思議的相似性,我們能夠如何利用這一信息來更好地理解整個系統的設計?讓我們通過ORU系統的角度來探索ETH2.0的一些設計決定:
數據吞吐量
在當前設計中,系統的數據吞吐量與分片機制緊密耦合。
這里可以采用的一種方法是,將數據可用性檢查視為協議中的頭等公民。這樣可以對數據層進行獨立優化,執行層也可以更細的粒度控制硬件要求。
例如,ETH2.0可以提供64個數據中心和一個在信標鏈上的ORU合約,以此代替分片鏈。ORU合約可以讓rollup決定領導者選舉機制,它們想要將數據發送到多少個數據中心上,以及它們是否想與其它rollup綁定。使用的數據中心越多,驗證rollup所需的硬件要求就越高。
嚴格來說,上述系統是當前分片設計的超集。除了由協議定義的64個分片之外,還會有其它具有自己特征的rollup構建在安全數據層上,并且獨立于協議分片。
回滾最小化
在簡單的ORU中,當選的領導者有權提交無效狀態轉換。雖然這不會影響系統的安全性,因為無效狀態轉換是可以通過欺詐證明撤銷的,但這確實會破壞rollup的進程。單獨來看,這種破壞對作惡者來說通常是不劃算的。然而,在ETH2.0中,跨分片通信讓這個問題變得特別棘手。處于slotN的分片預期自己可以獲得其它分片在slotN-1時的狀態。假設分片S~i~提交了一個無效的狀態轉換,除了單方面發起回滾之外沒有其它合理的方法來撤銷該狀態對分片S~j~的負面影響。
為避免災難性事件,必須有適當的機制來防止這類回滾。其中最明顯的兩個機制是分片委員會和托管比特檢查。正如“從數學角度證明分片的安全性”一節中所述,即使考慮到各種攻擊向量,賄賂分片委員會中2/3以上成員的概率也很低。托管比特可以確保誠實的驗證者不會因為懶惰而被騙簽署無效的狀態轉換。
如果我們認為這些機制的目的是防止無效狀態轉換,而非維護系統安全,就能選擇既有實用價值,又能實現相同效果的參數。例如,將分片委員會的規模減少到64人,隨機組成惡意委員會的概率依然低至3.1×10-8。但是從網絡和簽名聚合的角度來看,這樣能夠極大減輕負擔。
以rollup為中心的以太坊路線圖
本文最初撰寫于斯坦福區塊鏈大會2020期間。那時,我開始充分領會到ETH2.0和ORU之間的相似性。在看過Vitalik的文章后,我決定發布這篇文章,來表示對以太坊將來采用以rollup為中心的擴容方案的支持。但是,如本文所述,“以rollup為中心”的擴容方案沒有讓我們偏離方向,而是一個超集。我們在分片設計中遇到的問題與我們在整合跨rollup通信時遇到的問題是同構的。這就意味著,已經開展的大部分工作都可以繼續進行,不會被中斷。
以rollup為中心的路線圖會降低分片執行所必需的協議復雜性。這使得我們能夠不斷迭代類似分片的復雜的rollup機制。這樣可以讓更多開發者為不同的rollup格式做貢獻,讓現有核心開發者和研究者可以專注于構建一個健壯的數據可用性層。
可以說,通往功能完善的ETH2.0的道路從未如此清晰。
如果你對文中所述內容感興趣,想要進行深入討論,請在推特上聯系我@lightclients。我也在將幫助各種有影響力的項目尋找優秀的研究者和工程師。如果你需要幫助,請私信我。
尊敬的中幣用戶: 中幣將于香港時間2020年10月16日12:30開啟FIL/QC五倍杠桿交易,香港時間10月16日14:00開啟FIL/USDT交易.
1900/1/1 0:00:00這10個數據分析工具值得你收藏,我們還補充了一個鏈聞編輯之選工具。鏈聞編輯根據Messari分析師JackPurdy的推文和發表的報告整理并補充活在加密貨幣世界,最不缺的是數據,最缺的,也是數據.
1900/1/1 0:00:00尊敬的用戶: 為了優化用戶交易體驗,幣虎交易平臺已于2020年10月15日16:00上線期貨板塊.
1900/1/1 0:00:00尊敬的用戶: Hotbit即將開啟RAK(RakeFinance)數字資產服務. 具體安排如下: 充值時間:2020年10月30日16:00交易時間:2020年10月30日17:00(香港時間).
1900/1/1 0:00:00據消息,歐洲男子化名以投資為名,詐騙受害者100萬歐元等值BTC。受害者稱,對方在獲得BTC后找知名OTC承兌商銷贓。目前賈已在Coinbase、Bithumb幫忙銷贓37個BTC.
1900/1/1 0:00:00YFI是本輪DeFi大潮中的明星項目,而YFI的創始人AndreCronje則是DeFi界的大明星.
1900/1/1 0:00:00