買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > USDT > Info

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

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]

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

慢霧:DEUS Finance 二次被黑簡析:據慢霧區情報,DEUS Finance DAO在4月28日遭受閃電貸攻擊,慢霧安全團隊以簡訊的形式將攻擊原理分享如下:

1.攻擊者在攻擊之前先往DeiLenderSolidex抵押了SolidexsAMM-USDC/DEI的LP。

2.在幾個小時后攻擊者先從多個池子閃電貸借出143200000USDC。

3.隨后攻擊者使用借來的USDC在BaseV1Pair進行了swap操作,兌換出了9547716.9個的DEI,由于DeiLenderSolidex中的getOnChainPrice函數是直接獲取DEI-USDC交易對的代幣余額進行LP價格計算。因此在此次Swap操作中將拉高getOnChainPrice函數獲取的LP價格。

4.在進行Swap操作后,攻擊者在DeiLenderSolidex合約中通過borrow函數進行借貸,由于borrow函數中用isSolvent進行借貸檢查,而在isSolvent是使用了getOnChainPrice函數參與檢查。但在步驟3中getOnChainPrice的結果已經被拉高了。導致攻擊者超額借出更多的DEI。

5.最后著攻擊者在把用借貸出來DEI兌換成USDC歸還從幾個池子借出來的USDC,獲利離場。

針對該事件,慢霧安全團隊給出以下防范建議:本次攻擊的原因主要在于使用了不安全的預言機來計算LP價格,慢霧安全團隊建議可以參考Alpha Finance關于獲取公平LP價格的方法。[2022/4/28 2:37:18]

而當這種情況出現在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:ESTUSDUSDCSDCHighest Yield Savings ServiceAUSDT價格PoolTogether USDC Ticketusdc幣是誰發行的

USDT
區塊鏈:中科院軟件所團隊提出首個完全實用異步共識算法_BFT

鏈捕手消息,中國新聞網今日從中國科學院軟件研究所處獲悉,該所張振峰團隊聯合美國新澤西理工學院唐強團隊,在區塊鏈核心技術的拜占庭容錯(BFT)共識研究中取得重要突破.

1900/1/1 0:00:00
HOO:Robinhood CEO 呼吁證券行業通過創新實現實時結算_BIN

鏈捕手消息,總部位于舊金山的股票與加密貨幣交易平臺Robinhood首席執行官兼聯合創始人VladTenev發文呼吁證券行業通過創新實現實時結算.

1900/1/1 0:00:00
數字資產:HashKey:復盤2020年加密貨幣合規入場的現狀、趨勢與機會_PAY

撰文:HashKeyCapital,文章轉自鏈聞,原文標題:《全球數字資產合規入場渠道研究》數字資產合規入場渠道概述與更新我們去年中期進行了數字資產合規入場渠道商業圖景的梳理.

1900/1/1 0:00:00
NFT:簡述 NFT 流行商業模式:DeFi 治理代幣與收入分成等_DEF

本文來源:andrewsteinwold.substack.com作者:AndrewSteinwold.

1900/1/1 0:00:00
READ:黑暗森林:V神和Paradigm聯創都在玩的三體游戲_XDAI

撰文:0x13、0x26,律動BlockBeats1950年,物理學家恩里科·費米提出了一個令無數人百思不得其解的問題:以宇宙驚人的年齡和龐大的星體數量來看,地外生命應該廣泛存在.

1900/1/1 0:00:00
BLOC:BM出走之謎,EOS的權力游戲_Solidblock

本文來自深潮TechFlow。“弗吉尼亞州,弗吉尼亞州,最大ICO,EOS倒閉了,王八蛋老板BM帶著他的小姨子和比特幣跑路了……”當段子照進現實,總顯得現實有些許荒誕.

1900/1/1 0:00:00
ads