比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

簡析以太坊礦池拒絕打包攻擊原理_CELO

Author:

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

本文發布于NEST愛好者,作者:Yuheng&Yuyi。

與單純基于可信任第三方的中心化預言機不同,NEST分布式預言機希望能夠讓盡可能多的鏈上用戶參與到價格轉換關系確定的過程中來,從而進一步提升預言機輸出數據結果的可靠性以及整個預言機系統的安全性。

而正是因為這種特性,分布式預言機往往會遇到數據無法得到有效驗證的問題,比如有惡意礦工提供惡意報價來影響價格。為了解決這種問題,NEST設計了報價—吃單的提交驗證機制,即允許驗證者根據報價的價格進行交易得到報價者所抵押的資產,并重新提出一個報價進行修正。通過這種方式,NEST分布式預言機能夠在一定程度上有效地對惡意報價進行限制,同時也能夠及時地對惡意報價進行修正。

Beosin:sDAO項目遭受攻擊事件簡析:金色財經報道,根據區塊鏈安全審計公司Beosin旗下Beosin?EagleEye 安全風險監控、預警與阻斷平臺監測顯示,BNB鏈上的sDAO項目遭受漏洞攻擊,Beosin分析發現由于sDAO合約的業務邏輯錯誤導致,getReward函數是根據合約擁有的LP代幣和用戶添加的LP代幣作為參數來計算的,計算的獎勵與用戶添加LP代幣數量正相關,與合約擁有總LP代幣數量負相關,但合約提供了一個withdrawTeam的方法,可以將合約擁有的BNB以及指定代幣全部發送給合約指定地址,該函數任何人都可調用。而本次攻擊者向其中添加了LP代幣之后,調用withdrawTeam函數將LP代幣全部發送給了指定地址,并立刻又向合約轉了一個極小數量的LP代幣,導致攻擊者在隨后調用getReward獲取獎勵的時候,使用的合約擁有總LP代幣數量是一個極小的值,使得獎勵異常放大。最終攻擊者通過該漏洞獲得的獎勵兌換為13662枚BUSD離場。Beosin Trace追蹤發現被盜金額仍在攻擊者賬戶,將持續關注資金走向。[2022/11/21 7:53:09]

然而,這種針對于價格修正方式的順利運行基于的是吃單交易以及新的報價交易能夠在驗證期內及時地出現在鏈上的新區塊當中。眾所周知,目前整個區塊鏈網絡中的礦工群體早已不是像最開始那樣單獨工作了,為了保證收益的穩定性,礦工們會組織在一起形成礦池來達到算力的整合,因為在工作量證明的共識下,更大的算力也就代表著獲得收益的概率越高。

安全團隊:獲利約900萬美元,Moola協議遭受黑客攻擊事件簡析:10月19日消息,據Beosin EagleEye Web3安全預警與監控平臺監測顯示,Celo上的Moola協議遭受攻擊,黑客獲利約900萬美元。Beosin安全團隊第一時間對事件進行了分析,結果如下:

第一步:攻擊者進行了多筆交易,用CELO買入MOO,攻擊者起始資金(182000枚CELO).

第二步:攻擊者使用MOO作為抵押品借出CELO。根據抵押借貸的常見邏輯,攻擊者抵押了價值a的MOO,可借出價值b的CELO。

第三步:攻擊者用貸出的CELO購買MOO,從而繼續提高MOO的價格。每次交換之后,Moo對應CELO的價格變高。

第四步:由于抵押借貸合約在借出時會使用交易對中的實時價格進行判斷,導致用戶之前的借貸數量,并未達到價值b,所以用戶可以繼續借出CELO。通過不斷重復這個過程,攻擊者把MOO的價格從0.02 CELO提高到0.73 CELO。

第五步:攻擊者進行了累計4次抵押MOO,10次swap(CELO換MOO),28次借貸,達到獲利過程。

本次遭受攻擊的抵押借貸實現合約并未開源,根據攻擊特征可以猜測攻擊屬于價格操縱攻擊。截止發文時,通過Beosin Trace追蹤發現攻擊者將約93.1%的所得資金 返還給了Moola Market項目方,將50萬CELO 捐給了impact market。自己留下了總計65萬個CELO作為賞金。[2022/10/19 17:32:31]

礦池的出現所引發的本質問題是其對交易打包權的壟斷。因為在公有鏈中只有挖到區塊的礦工或者礦池能夠決定下一個區塊中應該包含哪些交易,而礦池相較于單一的個體礦工又往往具有壓倒性的算力優勢,在這種情況下那些具有算力規模更大的礦池會選擇打包一些對自己有利的或者交易費較高的交易,即使這些交易可能并不是最先被公布到鏈上的。

慢霧:GenomesDAO被黑簡析:據慢霧區hacktivist消息,MATIC上@GenomesDAO項目遭受黑客攻擊,導致其LPSTAKING合約中資金被非預期的取出。慢霧安全團隊進行分析有以下原因:

1.由于GenomesDAO的LPSTAKING合約的initialized函數公開可調用且無權限與不可能重復初始化限制,攻擊者利用initialized函數將合約的stakingToken設置為攻擊者創建的虛假LP代幣。

2.隨后攻擊者通過stake函數進行虛假LP代幣的抵押操作,以獲得大量的LPSTAKING抵押憑證。

3.獲得憑證后再次通過initialized函數將合約的stakingToken設置為原先真是的LP代幣,隨后通過withdraw函數銷毀LPSTAKING憑證獲取合約中真實的LP抵押物。

4.最后將LP發送至DEX中移除流動性獲利。

本次事件是因為GenomesDAO的LPSTAKING合約可被任意重復初始化設置關鍵參數而導致合約中的抵押物被惡意耗盡。[2022/8/7 12:07:06]

而當這種情況出現在NEST分布式預言機中時,則會導致提交的新報價無法在驗證期內得到及時地驗證,最終會導致NEST輸出錯誤的價格數據,從而使得部分礦池捕捉到套利機會,進而威脅到整個DeFi生態的環境安全。本文接下來會具體介紹這種針對NEST分布式預言機的礦池拒絕打包攻擊的詳細內容。

慢霧:Avalanche鏈上Zabu Finance被黑簡析:據慢霧區情報,9月12日,Avalanche上Zabu Finance項目遭受閃電貸攻擊,慢霧安全團隊進行分析后以簡訊的形式分享給大家參考:

1.攻擊者首先創建兩個攻擊合約,隨后通過攻擊合約1在Pangolin將WAVAX兌換成SPORE代幣,并將獲得的SPORE代幣抵押至ZABUFarm合約中,為后續獲取ZABU代幣獎勵做準備。

2.攻擊者通過攻擊合約2從Pangolin閃電貸借出SPORE代幣,隨后開始不斷的使用SPORE代幣在ZABUFarm合約中進行`抵押/提現`操作。由于SPORE代幣在轉賬過程中需要收取一定的手續費(SPORE合約收取),而ZABUFarm合約實際接收到的SPORE代幣數量是小于攻擊者傳入的抵押數量的。分析中我們注意到ZABUFarm合約在用戶抵押時會直接記錄用戶傳入的抵押數量,而不是記錄合約實際收到的代幣數量,但ZABUFarm合約在用戶提現時允許用戶全部提取用戶抵押時合約記錄的抵押數量。這就導致了攻擊者在抵押時ZABUFarm合約實際接收到的SPORE代幣數量小于攻擊者在提現時ZABUFarm合約轉出給攻擊者的代幣數量。

3.攻擊者正是利用了ZABUFarm合約與SPORE代幣兼容性問題導致的記賬缺陷,從而不斷通過`抵押/提現`操作將ZABUFarm合約中的SPORE資金消耗至一個極低的數值。而ZABUFarm合約的抵押獎勵正是通過累積的區塊獎勵除合約中抵押的SPORE代幣總量參與計算的,因此當ZABUFarm合約中的SPORE代幣總量降低到一個極低的數值時無疑會計算出一個極大的獎勵數值。

4.攻擊者通過先前已在ZABUFarm中有進行抵押的攻擊合約1獲取了大量的ZABU代幣獎勵,隨后便對ZABU代幣進行了拋售。

此次攻擊是由于ZabuFinance的抵押模型與SPORE代幣不兼容導致的,此類問題導致的攻擊已經發生的多起,慢霧安全團隊建議:項目抵押模型在對接通縮型代幣時應記錄用戶在轉賬前后合約實際的代幣變化,而不是依賴于用戶傳入的抵押代幣數量。[2021/9/12 23:19:21]

攻擊流程及分析

為了方便講解這種攻擊方式,我們首先假設所有參與挖礦的成員都是礦池,各個礦池具有不同大小的算力占比,且彼此之間都知道各自的算力占比。

首先在發動攻擊之前,惡意礦池可以通過閃電貸等方式預先囤積好之后用于套利的加密貨幣。例如,惡意礦池會預先囤積大量的ETH,緊接著操縱ETH和USDT之間的價格比例來實現套利。

接下來,惡意礦池會向NEST提出一個報價,該報價會和當前的實際市場價格存在著巨大的差別。由于該報價和實際市場價格之間存在著巨大的差別,也就代表著存在著巨大的套利空間。因此在持續時間為S個區塊的驗證期內,根據NEST本身的吃單驗證的協議,必然會有驗證者提出吃單的交易并對該報價進行最合理的修正以獲得最大的收益。

而此時,在組裝每一個驗證期的區塊時,所有的挖礦礦池面對著兩個相同抉擇,將該交易打包進自己組裝的下一個正在組裝區塊當中或者不將該報價打包進下一個正在組裝的區塊中。由于各個礦池都知道彼此之間的算力占比以及彼此之間所能夠采取的策略選擇,因此在驗證期內,每個礦池是否選擇對該報價進行修正實際上可以看成所有礦池所一起進行的多次相互獨立的完全信息靜態博弈。而能夠決定整博弈最終結果的,也就是所謂的納什均衡點,則是每個參與者在各種決策組合情況下的收益,因為每個參與者都會選擇在各種情況下自己收益都最大化的決策。囚徒困境就是一種典型的完全信息靜態博弈。

如果一個礦池選擇對于該報價進行修正,那么很明顯該礦池能夠立即得到收益,我們假設修正報價對應的收益為a。而如果一個礦池不選擇對于一個報價進行修正,看似該礦池無法立刻得到收益,但是該礦池也可以根據該惡意報價所涉及到的加密貨幣進行囤積,最終在報價成立之后進行套利,我們可以設這個最終的收益為b并且通常有b>a。

但是我們需要注意到,在區塊鏈中只有挖到新區塊的礦池能夠獲得記賬權,也就是說即使一個礦池選擇立刻修正該惡意報價,它也只能在一定概率下獲得a的收益,并且這個概率是和該礦池的算力成正比的,因此我們可以將一個礦池選擇修正報價的收益表示為Pia。同樣的如果不修正報價,在報價成立之后,一個礦池所能夠得到的收益也為Pib。但是由于一旦報價被修正,那么之后的博弈也就不再存在,意味著所有的礦池都不會獲得b收益,因此實際上在驗證期礦池決定每個區塊的交易內容時,其所考慮的兩種收益實際如下:

其中T代表礦池的決策,Y代表修改該報價,N代表不修改該報價;Pn代表接下來所有驗證期區塊都不會出現修改報價的概率。

在組裝驗證期內對應的每一個區塊時,所有的礦池都會比較這兩種收益來選擇自己的決策。最后根據自己的算力占比,以及兩種收益a、b之間的比例關系選擇是否對于該報價進行修正,從而最終達到納什均衡狀態。

分析總結

正如上述所說,礦池有可能會憑借著自身算力的優勢對于報價的修正更新進行延遲和阻礙,從而利用NEST預言機進行套利。但是這也不僅僅是NEST預言機所面臨的問題,實際上整個區塊鏈的去中心化理念都在受到礦池這一現象的沖擊,因此如何解決好礦池所帶來的問題,是我們在走向真正的去中心化道路中不可避免的一個挑戰。

Tags:ABUPORCELCELOAbura Farmesportstokencell幣最新消息CeloLaunch

以太坊價格
500彩票網確定股份定增細節,約1150萬美元認購款以BTC結算_POL

鏈捕手消息,美股上市公司500彩票網今日宣布,根據與好運信息技術有限公司于2020年12月21日簽訂的最終股份認購協議,其已確定認購款項的50%應以美元結算,其余50%的認購價格通過比特幣結算.

1900/1/1 0:00:00
Continue Capital匹馬:關于加密市場和項目邏輯的15個看法_DEFI

匹馬,著名區塊鏈項目投資人、KOL,ContinueCapital聯合創始人。根據公開資料,匹馬在2013年5月進入數字貨幣投資領域,2015年投身以太坊社區并成為堅定布道者,主導過Cosmos.

1900/1/1 0:00:00
Dovey Wan:USDT的發展邏輯與歷史_ETHER

本文于2020年5月7日發布于DoveyWan微博。穩定幣是信用變現流動性的生意,關鍵字是信用與流動性.

1900/1/1 0:00:00
The Graph暴漲:加密數據索引市場的邏輯與價值_GRAP

12月18日凌晨1點,去中心化數據索引項目TheGraph宣布主網上線,10分鐘后CoinbasePro即宣布將上線其代幣GRT,很快幣安宣布兩個小時上線該代幣.

1900/1/1 0:00:00
從投資視角解析以太坊經濟模型_以太坊

本文作者為LynAlden,由Rachel、陳一晚風翻譯。比特幣創始人中本聰在2008年通過白皮書解決了數字稀缺相關的難題,并于2009年推出了比特幣.

1900/1/1 0:00:00
建行數字債券與背后Fusang交易所是如何運作的_ICE

一、建行數字債券的四點解讀11月11日,《華爾街日報》等多家媒體報道稱,中國建設銀行計劃通過發售一只籌資不超過30億美元、基于以太坊網絡發行的數字債券.

1900/1/1 0:00:00
ads