作者:斯坦福TseLab的DavidTse、ErtemNusretTas,KamillaNazirkhanova,
編譯:DeFi之道
Babylon是一個新的Layer1區塊鏈,它的愿景是利用比特幣PoW的安全性來增強其他PoS區塊鏈的安全性。在第一部分中,我們將簡單介紹一下該項目,然后在文章的其他部分,我們將深入研究它的原理以及各種用例。
Babylon背后的團隊是誰?
Babylon的團隊由來自斯坦福TseLab的共識協議研究人員以及來自世界各地經驗豐富的Layer1區塊鏈開發人員組成。值得一提的是,TseLab團隊成員還與以太坊基金會合作提高權益證明以太坊信標鏈的安全性,他們確定了一些關鍵攻擊,并設計了?goldfish協議來實現PoS以太坊的目標。今年一月份,Babylon獲得了由IDG領投的620萬美元種子輪融資。
譯者注:Babylon主要嘗試解決的是Cosmos等PoS區塊鏈的長程攻擊問題,而短程攻擊可通過Cosmos的鏈間安全性解決方案解決,兩者可以是互補的。
一、比特幣作為信任的來源
比特幣是世界上最安全的區塊鏈,它由比特幣礦工網絡的巨大算力保護。目前,這種安全性主要用于支持一種加密貨幣:BTC。而Babylon項目的愿景是利用比特幣網絡作為信任來源,使更廣泛生態系統中的其他區塊鏈受益。這種信任來源的價值可以進一步細分為兩個方面:
比特幣基于工作量證明,而目前絕大多數的區塊鏈都基于權益證明。PoS鏈與PoW鏈相比具有一定的安全限制,而利用比特幣網絡設計合理的架構可能會消除這些限制。事實上,PoS和PoW優勢可以互補,一個設計合理的架構可以兩全其美。
區塊鏈的安全性在很大程度上取決于支持它的資源的價值。在PoW鏈中,它是算力的成本。而在PoS鏈中,成本則是質押的加密貨幣價值。從這個角度來看,不同安全級別的區塊鏈種類繁多。在比特幣礦工網絡巨大的算力支持下,比特幣處于區塊鏈安全頻譜的一個極端,而較小的區塊鏈,則位于區塊鏈安全頻譜的另一端。利用比特幣設計合理的架構,可以在不損害其自主性的情況下增強這些PoS鏈的安全性。
1、1比特幣作為可靠的時間戳服務
在中本聰的白皮書?中,比特幣區塊鏈引入了一種由工作量證明提供支持的時間戳服務器。它為事件提供了不可逆的時間順序。在其原生應用中,事件是在比特幣賬本上執行各種交易。在目前增強其他區塊鏈安全性的應用中,比特幣也可用于對其他區塊鏈中發生的事件添加時間戳。每個此類事件都會觸發發送給礦工的交易,礦工隨后將其插入比特幣賬本,從而為事件添加時間戳。比特幣上的這些時間戳可用于解決區塊鏈的各種安全問題。在父鏈上為子鏈中的事件加時間戳的一般概念稱為?checkpointing,而為事件加時間戳的交易稱為檢查點。
1、2Babylon架構
圖1:Babylon架構
Babylon的架構如上圖所示。它由三個部分組成,然后具有兩級檢查點:
比特幣,作為時間戳服務層;
Babylon鏈,作為中間層;
作為安全消費者的PoS區塊鏈;
一個重要的設計考慮是,比特幣能夠承載的數據能力是非常有限的。在這種情況下,Babylon鏈具有多種功能:
它聚合了很多PoS消費鏈的檢查點流,因此只需要將一個檢查點流插入比特幣網絡中,即可同時為所有消費者PoS鏈中的事件加上時間戳。
它在比特幣網絡中的檢查點可以使用密碼學技術變得緊湊。
它通過IBC協議從消費者PoS鏈接收檢查點。
它檢查PoS消費者鏈的檢查點的數據可用性,以便攻擊者無法為不可用的數據加時間戳。
1、3用例
快速的質押解鎖:權益證明鏈需要社會共識來阻止長程攻擊,這帶來了長時間的質押解鎖期。例如,在Cosmoshub的例子中,這需要21天的時間。而比特幣的安全性取代了社會共識,從而將PoS質押的解鎖期縮短至1天之內。
Neutrino關于將USDN轉變為具有軟錨定的多抵押資產的提案已獲投票通過:12月27日消息,Waves生態穩定幣協議Neutrino關于將USDN轉變為具有軟錨定的多抵押資產的提案以99%的支持率獲得投票通過。根據提案,項目不僅會得到WAVES的支持,還將通過接受WX、SWOP、VIRES、EGG和WEST作為抵押品,Waves生態系統團隊將把每個項目的代幣總計1500萬美元直接捐贈給Neutrino作為支持,稍后可以通過投票在抵押品中添加其他生態系統代幣。此外,該項目將重新激活USDN和WAVES生態系統代幣之間的交換以激勵用戶銷毀USDN。
Chainlink數據顯示,USDN價格目前跌至0.4720美元,脫錨狀況加劇。
此前12月22日消息,Waves發布USDN恢復錨定計劃提案,擬將WX、VIRES、SWOP、EGG和WEST作為抵押品。[2022/12/27 22:10:38]
引導新鏈:比特幣安全性可用于引導代幣估值較低的新鏈。
保護重要交易:比特幣安全性可用于保護重要交易,而普通交易可以快速完成。
提高審查抗性:被審查的交易可以使用Babylon作為備份進入賬本。
二、為什么PoS鏈的質押解鎖這么慢?
Cosmoszone等采用權益證明共識機制的區塊鏈允許快速確認交易,但它們的質押解鎖卻非常緩慢,這顯然對用戶體驗以及區塊鏈的流動性會產生影響。那為什么會這樣?
2、1權益證明鏈和質押解鎖期
權益證明(PoS)區塊鏈因其能源效率而受到了廣泛關注。為了保護系統,PoS鏈要求區塊鏈的驗證者在提議或對區塊進行投票之前質押代幣。這使PoS協議能夠追究違反協議的人的責任,并罰沒他們質押的代幣來作為懲罰。除了區塊獎勵之外,這為誠實參與提供了另一種激勵。
除了能源效率之外,PoS鏈的一個重要優勢是快速確定性:交易被快速確認,大約幾秒鐘。但隨之而來的問題是,質押解鎖會非常緩慢,多數PoS鏈的質押解鎖需要數周的時間,如下表所示。
表1:Cosmoszone、PoS以太坊、Avalanche、Algorand以及Cardano等不同PoS區塊鏈的質押解鎖期。
很多PoS協議需要很長的質押解鎖期,然后退出的驗證者才能收回其質押的資金。在解鎖期間,驗證者不能參與PoS協議,也不會產生任何區塊獎勵或權益利息。他們也無法移動質押的資金并將其用于其他目的。長時間的質押解鎖,不僅會降低用戶體驗并造成財務摩擦,而且還會降低PoS系統中代幣的流動性。有趣的是,工作量證明鏈卻完全相反:交易確認緩慢,但算力可以隨意離開網絡。
2、2流動質押方案可以幫忙嗎?
流動質押解決方案旨在緩解權益被鎖定在PoS鏈中的問題。為了進行流動質押,用戶需要將他們的資金存到托管機構,然后托管機構代表用戶質押這些資金。作為回報,用戶會收到代表質押權益的對應token,然后他們可以在市場上自由交易這種token。例如,通過在流動質押合約中質押ETH,用戶可以獲得一個“stEth”,它可以作為借貸和流動性挖礦的抵押品。
盡管流動質押方案在DeFi中創造了新的機會,但它也有自己的缺點:
由于網絡問題或負責保管質押權益的驗證者的對抗性行動,這可能會造成罰沒的情況。然而,這種超出流動代幣所有者控制范圍的事件可能會降低發生概率,在最糟糕的情況下,會完全破壞代幣的價值。
如果通過智能合約處理流動質押,則可能存在導致質押資金被盜的漏洞。
上述風險可能反映在實際質押權益與相應代幣之間的價差上。例如,Lido提供的stEth代幣與ETH之間最近有了8%的價差。
將存入大型流動質押服務的權益集中起來會損害PoS鏈的去中心化,并降低用戶對其資金的主權。例如,最大的流動質押池Lido目前擁有以太坊信標鏈中所有質押ETH的32.1%的市場份額,該值略低于足以讓對手雙花或停止區塊鏈的33%質押比例。這種質押卡特爾化對以太坊意味著的風險,這仍然是社區擔憂的根源。
Acala更新aUSD異常增發事件鏈上追蹤結果,共有30.22億枚aUSD被16個地址認領:8月17日消息,Acala發推更新aUSD異常增發事件鏈上追蹤結果,共有30.22億枚aUSD被16個地址認領。Acala公投#21銷毀了12.92億枚。事件發生后獲得的iBTC/aUSD LP代幣中的16.82億枚aUSD留在16個Acala地址上,從事件中獲得的iBTC、ACA和DOT等其他代幣仍然保留在這16個Acala地址上。一個地址聲稱有29億枚aUSD增發代幣,已經銷毀12.67億枚。
之后,Acala將發布一系列跟蹤報告,以識別Acala上與aUSD錯誤鑄幣廠相關的交易活動,詳細說明這16個已識別地址中的每一個的交易跟蹤。社區可以使用info&script驗證鏈上數據,并提出解決aUSD異常增發事件的建議。[2022/8/17 12:31:01]
2、3為什么PoS鏈質押解鎖期那么長?
流動質押解決方案的風險凸顯了縮短質押解鎖期的重要性,而不是為流動性問題找到解決辦法。為了實現這個目標,我們必須首先了解質押解鎖期的目的是什么,以及為什么它會這么長。因此,我們首先要了解長程攻擊,這也是Cosmoszone等PoS鏈采用長時間質押解鎖期的原因。
對權益證明鏈的長程攻擊
圖2:規范鏈。舊的驗證者顯示為深綠色,新的驗證者顯示為藍色。在提取他們的質押權益后,舊的深綠色驗證者將被新的藍色驗證者取代。
圖3:對規范鏈的長程攻擊。在提取他們的質押權益后,舊的深綠色驗證者遭遇對手攻擊,然后攻擊者創建了一條沖突鏈,其從過去的一個區塊處分叉規范鏈。在沖突鏈上,他們啟動了一組新的紫色驗證者,這些驗證者處于攻擊者的控制之下。對于稍后觀察系統的客戶端來說,這兩條鏈看起來同樣有效。
Cosmoszone的安全性依賴于它們是否有能力追究協議違反者的責任,并罰沒他們的質押權益作為懲罰。例如,如果驗證者對兩個沖突區塊進行簽名并最終確定,從而在客戶端之間造成混淆,則可以通過將沖突的簽名作為證據來將其識別為協議違反者,并隨后對其罰沒。然而,一旦驗證者解除質押,即從鏈中提取他們的權益,他們就不再因違反協議而受到懲罰。因此,攻擊者可以激勵這些舊驗證者進行長程攻擊。長程攻擊的一個突出例子是下面描述的創始人攻擊。
在攻擊開始之前,區塊鏈的創始人,提取他們的權益。然后,使用他們的舊密鑰,他們構建了一條與現有規范鏈沖突的新區塊鏈。沖突鏈從過去的一個區塊處分叉規范鏈,其中創始人構成了驗證者集的大部分。在沖突鏈上,這些創始人再次退出,并將他們的投票權轉移給具有不同密鑰的新驗證者,而這些驗證者實際上是由攻擊者控制。這使攻擊者能夠在假設的創始人退出后繼續在沖突鏈上進行構建。
長程攻擊對區塊鏈的安全構成了嚴重威脅,因為它們會混淆后來的客戶端,使其采用與早期客戶端采用的規范鏈不同的鏈。不幸的是,這些攻擊是PoS所固有的,因而存在?nothing-at-stake問題。當可以多次使用相同的權益來產生多個沖突的區塊時,就會出現這個問題,就像長程攻擊的情況一樣。相比之下,比特幣等工作量證明鏈不易受到nothing-at-stake或長程攻擊,因為攻擊者無法使用“相同”的計算來構建多個單獨的區塊。
減輕長程攻擊:社會共識?
為了防止長程攻擊,很多PoS鏈要求新加入的客戶端和驗證者在可信源的幫助下識別規范鏈上的檢查點區塊。例如,引導Cosmos輕客戶端的建議來源包括受信任的網站、包含檢查點區塊列表的Discord通道或用于下載客戶端代碼的受信任對等節點。收到檢查點區塊后,客戶端可以安全地忽略舊驗證者構建的沖突鏈。
圖4:新加入的客戶端向其對等節點詢問規范鏈上的弱主觀性檢查點。通過觀察檢查點,客戶端可以區分沖突的攻擊鏈和規范鏈。
數據:1000枚BTC從Bitfinex轉移至Binance交易所:金色財經報道,據Whale Alert數據顯示,1000枚BTC從Bitfinex轉移至Binance交易所。[2022/8/14 12:24:46]
客戶端對外部可信來源的依賴稱為社會共識,以強調識別規范、正確鏈過程的主觀性。事實上,不同的對等節點可能很容易對規范鏈產生分歧,因為鏈的“正確性”沒有基本事實,而比特幣則總是選擇計算量最大的鏈作為“正確”鏈。
盡管社會共識是減輕長程攻擊的第一步,但它也有其自身的問題:
社會共識沒有具體說明如何識別受信任的對等方。由于這些對等方對于不同的驗證者可能不同,因此通常很難量化對它們的信任。
對于網站等公共信任源,社會共識會將單點故障暴露給潛在的攻擊者。例如列出檢查點的網站被黑了怎么辦?
社會共識引入了圍繞透明度的問題,并可能導致圍繞區塊鏈生態系統的強大參與者的區塊鏈決策中心化。
質押解鎖如何適應這一切?
在社會共識方法的缺點中,最大的問題就是會引入令人沮喪的延遲:所有受信任的對等節點可能需要數天或數周才能就檢查點達成一致。這是由于協議過程的主觀和社會方面。例如,對等方可能通過Telegram進行通信,其中鏈上的協商將花費比共識協議的確認延遲更長的時間。這就是為什么圖4中規范鏈上的最后一個檢查點比鏈的頂端要老得多。
如果舊驗證者可以在社會共識仍在進行時提取權益并創建沖突鏈,則應作為可信來源的對等方可能無法就檢查點達成一致。這就是為什么包括Cosmoszone在內的很多PoS鏈會采用一個很長的質押解鎖期。較長的質押解鎖期意味著舊的驗證者必須等到社會共識終止,并在規范鏈上檢查一個區塊,然后才能收回他們的質押資金。這反過來又可以防止惡意驗證者混淆客戶端,因為客戶端會立即將沖突的惡意鏈識別為沒有檢查點的鏈。舊的驗證者當然可以選擇在收回他們的質押權益之前建立一個沖突鏈,但在這種情況下,由于雙重簽名,他們的權益可能會被罰沒,并且在實踐中極不可能發生這種攻擊。
2、4小結
設置長時間的質押解鎖期會降低用戶體驗以及PoS系統的流動性。盡管緩解長程攻擊需要一段時間的質押解鎖期,但如果社會共識可以更快地做出決策,那么時間就可以大大縮短。因此,在下一節中,我們將研究是否可以通過用更快的信任來源來取代社會共識,以實現更短的質押解鎖期。
三、使用Babylon實現更快的PoS鏈質押解鎖
3、1使用比特幣作為檢查點的來源
幸運的是,通過使用比特幣作為關于提款請求的確定性協議,我們可以加快和自動化社會共識的過程。為此,PoS區塊上的弱主觀性檢查點會被比特幣上這些區塊的實際檢查點所取代。這些檢查點的順序決定了規范的PoS鏈。
一旦PoS區塊的檢查點在比特幣中變得足夠深,該檢查點就無法被回滾,這意味著任何攻擊鏈的檢查點都會稍后出現在比特幣上,并且隨后可以被忽略。因此,要批準提款請求,包含請求的PoS區塊的檢查點出現早于比特幣上的沖突檢查點就足夠了,并且確保K值要足夠大。由于這需要數小時而不是數周,因此使用比特幣作為檢查點,可以將質押解鎖延遲從數周減少到數小時。
圖5:頂部PoS鏈是規范的PoS鏈。帶提款請求的頂部鏈上的PoS區塊在比特幣上具有一個較早的檢查點。一旦這個檢查點變得足夠深,提款就會被批準。此時,如果提款驗證者進行長程攻擊,則底部長程攻擊鏈的檢查點必然晚于頂部規范鏈的檢查點,因為比特幣上的k深度檢查點無法被回滾。沖突的檢查點可以被識別為來自攻擊鏈,隨后可以被忽略。
3、2我們可以直接向比特幣發送檢查點嗎?
讓我們考慮一個Cosmoszone向比特幣發送檢查點,以減輕長程攻擊并減少其提款延遲。檢查點可以通過使用比特幣的?OP_RETURN?操作碼來實現,該操作碼允許在不可花費的比特幣交易中發布80字節的任意數據。
京東全場景數字人民幣交易額達9億元:金色財經報道,據京東科技金融科技群企業支付產品與解決方案總經理、數字人民幣項目負責人彭飛透露,截至2022年7月底,京東全場景數字人民幣子錢包推送數量達750萬,交易筆數超400萬筆,交易累計金額達到9億元。[2022/8/2 2:52:35]
每個檢查點必須至少包含要檢查的PoS區塊的哈希以及最終確定該區塊的簽名。在這里,哈希用于識別被檢查點的PoS區塊。需要簽名來防止對手發送任意哈希并假裝其正在比特幣上檢查Cosmos區塊。
由于每個Cosmos區塊都可能包含一個提款請求,因此該Cosmoszone可能必須為每個新的Cosmos區塊發送一個新的檢查點。通常Cosmoszone每10秒就有一個新區塊,但比特幣大約每10分鐘才有一個新區塊,這意味著每個比特幣區塊至少要檢查60個Cosmoszone區塊的數據。
然后,即使該Cosmoszone由單個驗證者運行,這意味著在每個新的比特幣區塊上至少要檢查3840字節的總大小,每個區塊至少需要48筆?OP_RETURN?交易,僅僅用于檢查單個Cosmoszone!在這一點上,我們甚至沒有考慮由多個驗證者運行的Cosmoszone,或者為多條PoS鏈提供檢查點服務。
總的來說,由于三個主要原因,直接在比特幣上檢查Cosmoszone可能是不可行的:
有必要檢查每個包含提款請求的PoS區塊,這可能是Cosmoszone中的所有區塊。
有必要在每個檢查點發布足夠多的簽名,以防止弱對手發送任意哈希并假裝它正在檢查比特幣上的Cosmos區塊。不幸的是,Cosmoszone所使用的Tendermint簽名是不可聚合的,并且占用了大量空間。
可能有很多Cosmoszone或其他PoS鏈發送檢查點。在這種情況下,比特幣有限的區塊空間意味著檢查點解決方案會面臨基本的可擴展性問題。
為了減少檢查點的占用空間,并開發可同時支持多個Cosmoszone的可擴展檢查點解決方案,我們需要聚合檢查點以適應每個比特幣區塊提供的有限空間。此外,我們需要使這些檢查點盡可能緊湊。
而這就是Babylon要做的事。
3、3Babylon的架構
Babylon是一個PoSCosmoszone區塊鏈,它接收來自多條PoS鏈的檢查點流作為交易數據,并代表它們將單個檢查點流發布到比特幣。通過使用Babylon驗證者的聚合簽名來最小化檢查點大小,并且這些檢查點的頻率通過允許Babylon驗證者在很多區塊時間的每個epoch僅更改一次來控制。
例如,完整的Babylon架構由三條區塊鏈組成:消費者PoS鏈、Babylon以及比特幣。
為了盡量減少對Babylon的信任以準確檢查PoS區塊,各個PoS鏈的驗證者下載Babylon區塊,并觀察其PoS檢查點是否包含在比特幣檢查的Babylon區塊中。這使PoS鏈能夠檢測到差異,例如,如果Babylon驗證者創建了一個由比特幣檢查的不可用區塊,并對不可用區塊中包含的PoS檢查點撒謊。協議的主要組成部分描述如下:
1)Checkpointing:只有Babylonepoch的最后一個區塊被比特幣檢查。檢查點由區塊的哈希以及單個聚合BLS簽名?組成,該簽名對應于已簽署區塊以進行最終確定的2/3驗證者集的簽名。Babylon檢查點也包含epoch編號。
PoS區塊可通過Babylon檢查點分配比特幣區塊的時間戳。例如,圖6中的前兩個PoS區塊由Babylon區塊設置檢查點,而Babylon區塊又由時間戳為?t_3?的比特幣區塊設置檢查點。因此,這些PoS區塊被分配了比特幣時間戳?t_3。
2)規范PoS鏈:當PoS鏈上出現分叉時,第一個區塊具有較早比特幣時間戳的鏈就被視作規范PoS鏈。如果兩個分叉具有相同的時間戳,則平局被打破,有利于具有Babylon上較早檢查點的PoS區塊。
Web3基礎設施提供商NodeReal完成1600萬美元A輪融資,Sky9 Capital領投:5月19日消息,web3一站式基礎設施提供商Nodereal宣布完成1600萬美元A輪融資,Sky9 Capital領投。NodeReal是一家區塊鏈和Web3技術初創公司,成立于2021年,總部位于新加坡。它旨在授權開發人員、創新的Web3應用程序和大型Web2應用程序以可擴展的解決方案探索區塊鏈。[2022/5/19 3:27:35]
圖7:使用Babylon從PoS鏈中提取質押權益。提款的k深度規則防止提款驗證者進行成功的長程安全攻擊。
3)提款規則:要提款,驗證者向PoS鏈發送提款請求。包含提款請求的PoS區塊由Babylon檢查,然后再由比特幣檢查,并分配時間戳?t_1。一旦時間戳為?t_1?的比特幣區塊深度變為k,就在PoS鏈上授予提款。此時,如果已提取質押權益的驗證者進行長程攻擊,則攻擊鏈上的區塊只能被分配一個晚于?t_1的比特幣時間戳。這是因為,一旦時間戳為t_1的比特幣區塊變為k深度,它就無法回滾。然后,觀察比特幣上這些檢查點的順序,PoS客戶端可以區分出規范鏈和攻擊鏈,隨后可以將攻擊鏈忽略掉。
圖8:一種短程安全攻擊,導致在圈內對沖突的PoS區塊進行雙重簽名的對抗性PoS驗證者的權益被罰沒。
4)罰沒規則:如果驗證者在檢測到攻擊時沒有撤回其質押,則可以對具有雙重簽名沖突PoS區塊的驗證者進行罰沒。惡意的PoS驗證者知道,如果他們等到提款請求被批準后再進行長程安全攻擊,他們將無法迷惑客戶端,客戶端可以查看比特幣來識別規范鏈。因此,他們可能會在為規范PoS鏈上的區塊分配比特幣時間戳時分叉PoS鏈。
然后,這些PoS驗證者與惡意Babylon驗證者以及比特幣礦工合作,將Babylon和比特幣分叉,并將時間戳?t_2?的比特幣區塊替換為另一個時間戳?t_3的區塊。在后來的PoS客戶端看來,這將規范PoS鏈從頂部鏈更改為底部鏈。雖然這是一次成功的安全攻擊,但它會導致惡意PoS驗證者的權益被罰沒,因為他們有雙重簽名的沖突區塊,但尚未提取其質押權益。
圖9:Babylon上不可用PoS檢查點的停止規則。
5)不可用PoS檢查點的停止規則:PoS驗證者在觀察到Babylon上不可用的PoS檢查點時必須暫停他們的PoS鏈。在這里,一個不可用的PoS檢查點是由2/3的PoS驗證者簽名的哈希,其假定對應于無法觀察到的PoS區塊。
如果PoS驗證者在觀察到不可用的檢查點時沒有停止PoS鏈,那么攻擊者可以揭示以前不可用的攻擊鏈,并在后來的客戶端視圖中更改規范鏈。這是因為稍后顯示的陰影鏈的檢查點出現在Babylon的早期。
上面的暫停規則揭示了我們要求作為檢查點發送的PoS區塊哈希由PoS驗證者集簽名的原因。如果這些檢查點沒有簽名,那么任何攻擊者都可以發送任意哈希,并聲稱它是Babylon上不可用的PoS區塊檢查點的哈希。然后,PoS驗證者將不得不暫停檢查點。請注意,創建不可用的PoS鏈是困難的:它需要破壞至少2/3的PoS驗證者,以便它們用簽名完成PoS區塊,但不向誠實的驗證者提供數據。
然而,在上面假設的攻擊中,惡意對手在沒有攻擊任何一個驗證者的情況下,就停止了PoS鏈。為了防止此類攻擊,我們要求PoS檢查點由2/3的PoS驗證者驗證。因此,只有當2/3的PoS驗證者確實被攻擊者控制時,Babylon才會有不可用的PoS檢查點。由于破壞PoS驗證者的成本,這種攻擊極不可能發生,并且不會影響其他PoS鏈或Babylon本身。
圖10:比特幣上不可用Babylon檢查點的暫停規則。
6)不可用Babylon檢查點的暫停規則:PoS和Babylon驗證者必須在觀察到比特幣上不可用的Babylon檢查點時暫停區塊鏈。在這里,不可用的Babylon檢查點是具有2/3Babylon驗證者的聚合BLS簽名的哈希,據推測它對應于無法觀察到的一個Babylon區塊。
如果Babylon驗證者沒有停止Babylon區塊鏈,那么攻擊者可以揭示一條以前不可用的Babylon鏈,從而在后期客戶端的視圖中更改規范的Babylin鏈。類似地,如果PoS驗證者沒有停止PoS鏈,那么攻擊者可以揭示以前不可用的PoS攻擊鏈以及以前不可用的Babylon鏈,從而在后期客戶端的視圖中規范PoS鏈。這是因為后來揭示的深色Babylon鏈在比特幣上具有較早的時間戳,并且包含后來揭示的PoS攻擊鏈的檢查點。
就像不可用PoS檢查點的暫停規則一樣,上述規則揭示了為什么我們要求作為檢查點發送的Babylon區塊哈希必須附有一個聚合BLS簽名,以證明2/3的Babylon驗證者的簽名。如果Babylon檢查點沒有簽名,那么任意對手都可以發送任意哈希,并聲稱它是比特幣上不可用Babylon區塊檢查點的哈希。
然后,PoS驗證者和Babylon驗證者將不得不等待一個在其原像中沒有任何不可用Babylon或PoS鏈的檢查點!創建不可用的Babylon鏈需要破壞至少2/3的Babylon驗證者。然而,在上述假設的攻擊中,攻擊者停止了系統中的所有鏈,甚至沒有破壞單個Babylon或PoS驗證者。
為防止此類攻擊,我們要求Babylon檢查點通過聚合簽名進行證明;因此只有當確實有2/3的驗證者被損壞時,才會有不可用的Babylon檢查點。由于破壞Babylon驗證者的成本,這種數據可用性攻擊極不可能發生。不幸的是,一旦發生這種情況,它就會通過迫使它們停止來影響所有PoS鏈。
3、4小結
通過使PoS鏈能夠使用比特幣作為時間戳服務,Babylon將PoS鏈的質押解鎖時間從幾周縮短到幾個小時。由于比特幣區塊內空間不足,無法直接在比特幣上對PoS區塊進行檢查,Babylon作為單獨的PoS鏈聚合PoS鏈所發送的檢查點,并代表它們發布到比特幣。Babylon架構通過其針對未綁定驗證者的K深度提取規則防止長程攻擊,并保證在發生短程安全攻擊的情況下罰沒攻擊者的質押權益。
四、通過Babylon提高審查抗性
4、1審查抗性
Cosmoszone等PoS區塊鏈通常要求持有超過2/3的質押權益的驗證者誠實地遵循協議,以便在鏈中包含新交易。當持有超過1/3質押權益的驗證者變得惡意時,他們可以任意阻止區塊的最終確定,從而選擇性地審查交易。例如,惡意驗證者可以進行勒索攻擊,他們通過向時間敏感的交易用戶索取賄賂。
不幸的是,1/3審查攻擊并不是Cosmoszone設計的缺點,而是?PoS協議的基本限制?,它能夠罰沒行為不端的驗證者。這個可罰沒保證阻止攻擊者創建沖突鏈,然而,這導致審查抗性從比特幣的1/2下降到Cosmoszone的1/3。
4、2Babylon如何提升PoS鏈的審查抗性
Babylon可以幫助具有可罰沒保證的PoS鏈實現1/2的審查抗性。為了實現這一目標,Babylon將PoS鏈連接到比特幣,使它們能夠以rollup的模式運行,其中比特幣被用作PoS交易的排序服務。在rollup模式下,PoS驗證者只負責驗證PoS區塊內數據的可用性,而區塊的規范順序由它們在Babylon上的檢查點的順序決定。規范的Babylon鏈依次使用比特幣上Babylon區塊的檢查點構建,因而比特幣是PoS區塊排序的最終權威。
進入Rollup模式
圖11:Babylon的審查投訴
如果PoS鏈的一個用戶認為某筆交易tx被PoS鏈審查,可以通過向Babylon發送審查投訴來提示該鏈進入rollup模式。審查投訴是一筆Babylon交易,其中包含審查交易tx的哈希。
圖12:審查投訴的檢查點在比特幣的深度變為K,此時,驗證者停止執行PoS協議。
在觀察到關于Babylon的審查投訴后,PoS驗證者會等到投訴的檢查點在比特幣中達到k深度。此時,如果一名驗證者尚未看到tx在PoS鏈中最終確定,它將停止提出新的PoS區塊或簽署新的提案。相反,它會向Babylon發送一個用于查看PoS鏈的檢查點。
圖13:審查投訴的檢查點在比特幣的深度變為了2k。驗證者和用戶進入rollup模式。
一旦審查投訴的檢查點在比特幣的深度達到了2k,如果比特幣上的所有檢查點都沒有證明PoS區塊在其前綴中包含tx,則驗證者進入rollup模式。
在rollup模式期間
圖14:在rollup模式下,驗證者創建捆綁包并簽署他們視圖中可用的捆綁包。具有足夠多簽名的捆綁包在Babylon上通過發布它們的哈希以及相關簽名進行檢查。
在rollup模式中,任何驗證者都可以提出一個PoS交易捆綁包。在收到一個bundle時,進入rollup模式的每個驗證者都會對bundle的哈希進行簽名,如果其事務在驗證者視圖中可用。從擁有超過1/2質押權益的驗證者那里收集簽名的捆綁哈希被發布到Babylon。這些哈希和相關聯的簽名稱為捆綁檢查點。如果捆綁檢查點附有持有超過1/2質押權益的驗證者的簽名,則捆綁檢查點有效。
捆綁包簽名需要防止對手向比特幣發布任意哈希,并假裝它們是不可用PoS交易的檢查點。回想一下,當觀察到不可用的檢查點時,驗證者會停止輸出新的PoS區塊,以防止數據可用性攻擊。因此,在沒有簽名的情況下,攻擊者可以發布類似于不可用檢查點的任意哈希,并阻止PoS鏈。有了簽名,攻擊者必須按比例破壞一半以上的驗證者,以獲得由這些驗證者簽名的不可用檢查點。
為了在rollup模式下構建PoS鏈,鏈的用戶首先識別時間戳在比特幣審查投訴檢查點2k區塊內的PoS檢查點。他們隨后確定了這些檢查點證明的最長PoS鏈。最后,他們按照檢查點出現在Babylon上的順序,將帶有有效檢查點的bundle捆綁包附加到該鏈的頂端。
退出Rollup模式
驗證者在觀察到建立在比特幣審查投訴檢查點上的T>2k區塊后退出Rollup模式。這里,T是一個協議參數,表示Rollup模式的持續時間。在觀察這些T區塊后,PoS鏈的驗證者和用戶都將添加到他們的鏈視圖中的最后一個捆綁包視為新的創世區塊,該區塊用作PoS協議的錨點重啟或引導。
4、3抗審查的限制
通過rollup模式,只要有足夠的誠實驗證者簽署捆綁哈希,PoS鏈就可以減輕審查攻擊。這意味著審查抗性為1/2,與比特幣的抗性百分比相當。不幸的是,即使在比特幣的幫助下,也不可能設計出一個審查抗性超過1/2的協議,除非所有PoS區塊數據都發布到比特幣,然而這是不可行的。鑒于這種不可能的結果,Babylon的設計實現了針對Cosmoszone的審查攻擊的最佳抗性。
五、共享安全性
Cosmoszones等PoS鏈可以使用具有緩慢確定性規則的Babylon來實現比特幣級別的交易安全。為了通過慢速確定性規則確認交易,PoS鏈的客戶端等到包含該交易的PoS區塊的時間戳在比特幣上變為k深度。
通過這種方式,客戶端可以保護高價值交易的安全性,防止雙花攻擊。使用比特幣保護高價值交易的可能性,使得Cosmoszone即使在代幣估值較低的情況下也能支持高價值交易,從而促進新zone用于NFT轉移等高價值用例。通過聚合多個Cosmoszone的比特幣時間戳,Babylon使這些zone能夠同時享受慢確定性規則提供的比特幣級別的安全性。
5、1比特幣慢確定性帶來的安全性
圖15:時間戳變為k深度的PoS區塊用綠色復選標記表示。這些區塊通過慢確定性規則確認。任何與這些區塊沖突的PoS鏈都將被識別為攻擊鏈并被拒絕,因為它的時間戳將出現在通過慢確定性規則確認的PoS區塊的時間戳之后。
在上文中,我們已經看到Babylon如何通過在比特幣上為PoS鏈的質押解鎖請求加時間戳來幫助縮短解鎖時間。一旦為解鎖請求加時間戳的比特幣區塊被確認,即在比特幣最長鏈中的深度變為k,攻擊者就無法通過分叉比特幣來覆蓋攜帶質押解鎖請求的PoS區塊的時間戳。因此,PoS鏈一旦在比特幣上得到確認,就可以授予解鎖請求,而不會使其遭受攻擊。
將上述觀察推廣到所有PoS區塊以及交易,我們就可以得到一種更強的PoS交易確定性概念:如果客戶端等到PoS區塊的時間戳在比特幣上的深度變為k,則該時間戳不能被任何沖突區塊取代。這一概念使客戶端能夠在此類區塊內獲得比特幣級別的交易安全,但代價是更長的延遲,因此被稱為慢確定性。這種延遲來自于對PoS交易加時間戳的比特幣區塊的確認延遲。
5、2慢確定性的用例
1、保護重要交易
Cosmoszone的客戶端可選擇使用慢確定性來為關鍵的高價值交易實現比特幣級別的安全性。考慮購買一輛昂貴的汽車。如果商家在發貨前等到付款被比特幣上的k深度區塊打上時間戳,這可以避免買家的任何雙花風險。這是因為這種攻擊不僅要求買方分叉底層Tendermint鏈,而且還要分叉比特幣本身,以移除包含支付交易的Tendermint區塊的時間戳。
2、引導新的區塊鏈
緩慢確定性的一個重要用例,是支持具有低代幣估值的新Cosmoszone進行高價值交易。在上面的雙花示例中,惡意買家可能會毫不猶豫地賄賂驗證者以分叉該Cosmoszone,由于代幣估值較低時,罰沒的財務影響會很小,這導致了自舉困境:由于安全攻擊風險,區塊鏈的低初始估值阻礙了用戶進行高價值交易,這反過來又因交易量低而阻礙了代幣價值的任何增長。而有了Babylon以及緩慢確定性,進行雙花交易的攻擊者還需要支付攻擊比特幣的費用,而這需要購買大量的算力。因此,通過阻止惡意者進行雙花攻擊,緩慢確定性可通過確保鏈上的高價值資產來打破引導困境,進而推高代幣的價值。
5、3為Cosmos生態分享比特幣的安全性
通過緩慢的最終確定性,Cosmoszone可以為重要交易提供比特幣級別的安全性。然而,如果這些鏈選擇直接向比特幣發送時間戳,則帶寬要求會非常高。在這種情況下,通過代表多個Cosmoszone聚集和發送檢查點,Babylon可以使整個Cosmos生態能夠受益于比特幣提供的安全性。
Tags:POS比特幣ABYBABImpossible Finance什么是比特幣BABYADA幣baby幣上線哪個交易所
原文標題:《SmartContractDevelopment—Movevs.Rust》作者:Kre?imirKlas,Move語言創始人 編譯:郭倩雯,鏈捕手 1.?介紹 最近.
1900/1/1 0:00:00撰文:PaulVeradittakit,PanteraCapital合伙人編譯:Amber,ForesightNewsOptic正在建立一個人工智能的NFT驗證協議.
1900/1/1 0:00:00作者:7O’ClockCapital 前言 互聯網的核心精神在于:平等、開放、分享、互動、創新。這是互聯網的技術精髓,也是這個時代知識經濟的魅力.
1900/1/1 0:00:00原標題:SecurityStack-Up:HowBridgesCompare原作者:JonathanClaudius,AnirudhSuresh,EricWong.
1900/1/1 0:00:00鏈捕手消息,Solana生態錢包Slope更新攻擊調查進展表示,在調查和多方審查期間除此前Sentry服務器實施問題外未發現其他漏洞.
1900/1/1 0:00:00整理:AChai,鏈捕手“過去24小時都發生了哪些重要事件”?1、以太坊合并主網TTD已確定,預計9月15日舉行加密KOLGucci.eth發推特表示.
1900/1/1 0:00:00