比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads

EST:簡析以太坊礦池拒絕打包攻擊原理_XUSD

Author:

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

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

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

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

安全團隊:LPC項目遭受閃電貸攻擊簡析,攻擊者共獲利約45,715美元:7月25日,據成都鏈安“鏈必應-區塊鏈安全態勢感知平臺”安全輿情監控數據顯示,LPC項目遭受閃電貸攻擊。成都鏈安安全團隊簡析如下:攻擊者先利用閃電貸從Pancake借入1,353,900個LPC,隨后攻擊者調用LPC合約中的transfer函數向自己轉賬,由于 _transfer函數中未更新賬本余額,而是直接在原接收者余額recipientBalance值上進行修改,導致攻擊者余額增加。隨后攻擊者歸還閃電貸并將獲得的LPC兌換為BUSD,最后兌換為BNB獲利離場。本次攻擊項目方損失845,631,823個 LPC,攻擊者共獲利178 BNB,價值約45,715美元,目前獲利資金仍然存放于攻擊者地址上(0xd9936EA91a461aA4B727a7e3661bcD6cD257481c),成都鏈安“鏈必追”平臺將對此地址進行監控和追蹤。[2022/7/25 2:36:51]

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

慢霧:BSC項目Value DeFi vSwap 模塊被黑簡析:據慢霧區情報,幣安智能鏈項目 Value DeFi 的 vSwap 模塊被黑,慢霧安全團隊第一時間介入分析,并將結果以簡訊的形式分享,供大家參考:

1. 攻擊者首先使用 0.05 枚 WBNB 通過 vSwap 合約兌換出 vBSWAP 代幣;

2. 攻擊者在兌換的同時也進行閃電貸操作,因此 vSwap 合約會將兌換的 vBSWAP 代幣與閃電貸借出的 WBNB 轉給攻擊者;

3. 而在完成整個兌換流程并更新池子中代幣數量前,會根據池子的 tokenWeight0 參數是否為 50 來選擇不同的算法來檢查池子中的代幣數量是否符合預期;

4. 由于 vSwap 合約的 tokenWeight0 參數設置為 70,因此將會采用第二種算法對池子中的代幣數量進行檢查;

5. 而漏洞的關鍵點就在于采用第二種算法進行檢查時,可以通過特殊構造的數據來使檢查通過;

6. 第二種算法是通過調用 formula 合約的 ensureConstantValue 函數并傳入池子中緩存的代幣數量與實時的代幣數量進行檢查的;

7. 在通過對此算法進行具體分析調試后我們可以發現,在使用 WBNB 兌換最小單位(即 0.000000000000000001) vBSWAP 時,池子中緩存的 WBNB 值與實時的值之間允許有一個巨大的波動范圍,在此范圍內此算法檢查都將通過;

8. 因此攻擊者可以轉入 WBNB 進行最小單位的 vBSWAP 代幣兌換的同時,將池子中的大量 WBNB 代幣通過閃電貸的方式借出,由于算法問題,在不歸還閃電貸的情況下仍可以通過 vSwap 的檢查;

9. 攻擊者只需要在所有的 vSwap 池子中,不斷的重復此過程,即可將池子中的流動性盜走完成獲利。詳情見原文鏈接。[2021/5/8 21:37:37]

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

慢霧:Polkatrain 薅羊毛事故簡析:據慢霧區消息,波卡生態IDO平臺Polkatrain于今早發生事故,慢霧安全團隊第一時間介入分析,并定位到了具體問題。本次出現問題的合約為Polkatrain項目的POLT_LBP合約,該合約有一個swap函數,并存在一個返傭機制,當用戶通過swap函數購買PLOT代幣的時候獲得一定量的返傭,該筆返傭會通過合約里的_update函數調用transferFrom的形式轉發送給用戶。由于_update函數沒有設置一個池子的最多的返傭數量,也未在返傭的時候判斷總返傭金是否用完了,導致惡意的套利者可通過不斷調用swap函數進行代幣兌換來薅取合約的返傭獎勵。慢霧安全團隊提醒DApp項目方在設計AMM兌換機制的時候需充分考慮項目的業務場景及其經濟模型,防止意外情況發生。[2021/4/5 19:46:39]

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

Harvest.Finance被黑事件簡析:10月26號,據慢霧區消息 Harvest Finance 項目遭受閃電貸攻擊,損失超過 400 萬美元。以下為慢霧安全團隊對此事件的簡要分析。

1. 攻擊者通過 Tornado.cash 轉入 20ETH 作為后續攻擊手續費;

2. 攻擊者通過 UniswapV2 閃電貸借出巨額 USDC 與 USDT;

3. 攻擊者先通過 Curve 的 exchange_underlying 函數將 USDT 換成 USDC,此時 Curve yUSDC 池中的 investedUnderlyingBalance 將相對應的變小;

4. 隨后攻擊者通過 Harvest 的 deposit 將巨額 USDC 充值進 Vault 中,充值的同時 Harvest 的 Vault 將鑄出 fUSDC,而鑄出的數量計算方式如下:

amount.mul(totalSupply()).div(underlyingBalanceWithInvestment());

計算方式中的 underlyingBalanceWithInvestment 一部分取的是 Curve 中的 investedUnderlyingBalance 值,由于 Curve 中 investedUnderlyingBalance 的變化將導致 Vault 鑄出更多的 fUSDC;

5. 之后再通過 Curve 把 USDC 換成 USDT 將失衡的價格拉回正常;

6. 最后只需要把 fUSDC 歸還給 Vault 即可獲得比充值時更多的 USDC;

7. 隨后攻擊者開始重復此過程持續獲利;

其他攻擊流程與上訴分析過程類似。參考交易哈希:0x35f8d2f572fceaac9288e5d462117850ef2694786992a8c3f6d02612277b0877。

此次攻擊主要是 Harvest Finance 的 fToken(fUSDC、fUSDT...) 在鑄幣時采用的是 Curve y池中的報價(即使用 Curve 作為喂價來源),導致攻擊者可以通過巨額兌換操控預言機的價格來控制 Harvest Finance 中 fToken 的鑄幣數量,從而使攻擊者有利可圖。[2020/10/26]

攻擊流程及分析

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

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

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

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

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

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

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

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

分析總結

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

Tags:ESTUSDSWAPVEST電競幣estXUSDFenixSwap TokenCovesting

火必交易所
HER:Cypherium加入法國興業銀行Startup-Flow合作探索CBDC_Cypherium

深潮TechFlow消息,據彭博社,混合區塊鏈平臺Cypherium現已加入法國興業銀行Startup-Flow,成為其成員之一.

1900/1/1 0:00:00
DEFI:DeFi初學者指南:現狀、走向和Dapp應用_DAPEPE價格

本文于2020年1月15日首發于金色財經,作者ETH中文網加密貨幣誕生的使命,就是要使得全世界的普羅大眾都能輕松使用貨幣和支付方式.

1900/1/1 0:00:00
DCG:起底巨鯨DCG:控制灰度、Genesis等幕后的神秘機構_dcg幣圈信息

一、DCG的加密帝國之路在比特幣近幾個月的上漲行情中,連續增持BTC的灰度信托被認為是該行情最重要的支撐力量之一,每天都出現在公眾視野不斷刺激加密貨幣用戶的神經,也引發了市場對其巨大的興趣.

1900/1/1 0:00:00
WEB:波卡生態 DeFi 協議 Bifrost 完成數百萬美元天使輪投資_Web3游戲

鏈捕手消息,波卡生態DeFi基礎協議Bifrost宣布完成由SNZHolding、CMSHoldings、DFG、Altonomy、SevenXVentures、ZonffPartners、PA.

1900/1/1 0:00:00
THE:合成資產協議 Synthetix 將于今年開發 V3 版,并遷移到 Optimistic Ethereum_HET

1月12日,合成資產協議Synthetix在發布的2021年路線圖中指出,2021年的優先事項包括遷移到OptimisticEthereum、開發SynthetixV3版本、改進授權治理委員會S.

1900/1/1 0:00:00
TER:五分鐘讀懂 Terra 生態:LUNA 、Mirror 與 Anchor_MIR

本文發布于區塊鏈研習社,作者為區哥,原文標題為《看懂Terra生態:LUNA算法穩定幣、Mirror合成資產、Anchor儲蓄協議》。穩定幣賽道空間巨大,競爭也異常激勵,參與者眾多.

1900/1/1 0:00:00
ads