DeFi經濟攻擊的風險無法完全消除,通過添加約束條件來使套利空間大大小于攻擊者期望值是一種值得探討的方法。
原文標題:《DeFi經濟攻擊的一般模式分析》撰文:曹一新,就職于HashKeyCapitalResearch審核:鄒傳偉,萬向區塊鏈首席經濟學家
2020年以來,以太坊DeFi生態中有十多起利用閃電貸的大規模攻擊事件陸續被媒體曝光,而這些事件已經呈現出明顯的模式化和重復性特征。有別于技術漏洞導致的攻擊事件,其它幾起事件呈現了對DeFi生態經濟系統漏洞的攻擊手法。從表面上看,其共性是主攻協議都與某些AMM協議關聯,而攻擊者通過操縱AMM資產池內的資產價格或者資產數量使關聯協議蒙受損失,我們不妨稱之為「經濟攻擊」。至今出現的經濟攻擊分為「哄抬套利」和「操縱預言機」兩種手法,本文歸納發動經濟攻擊的必要非充分條件及一般攻擊模式,從而推斷出攻擊者攻擊DeFi系統的「命門」所在,為抵御此類安全風險提出若干警示。
表1.閃電貸攻擊事件
「哄抬套利」攻擊
「哄抬套利」攻擊的原理與CeFi常見的Pump-and-Dump市場操縱行為或者鏈上交易容易碰到的「frontrunning」攻擊本質上并無差異,都是先想辦法借助他人的資本抬高自有資產的價格再高價賣出獲利。DeFi生態中此類經濟攻擊事件之所以能夠成功,都與至少兩個核心模塊——攻擊目標和AMM有關,并且這兩個模塊通過條件一相互關聯。
條件一:攻擊目標與AMM之間存在資產轉移關系,并能由用戶自主觸發相關智能合約執行資產轉移。
這里的攻擊目標可以是機槍池、借貸平臺、杠桿交易平臺等DeFi模塊。機槍池是運行著一定投資策略的智能合約,可以把它類比于一個基金,為用戶提供代理理財業務,用戶將自有資產存入機槍池以期獲得收益,例如Yearn、Harvest;借貸平臺為出借方和貸方提供服務,賺取利息差,貸方一般要先超額抵押一部分資產,例如Compound、Aave;杠桿交易平臺允許投資者抵押一定資產作為保證金進行杠桿交易,例如bZx。AMM通過一個定價函數實現自動做市商交易,用戶可兌換資產或作為流動性提供商參與流動性挖礦,在此不再贅述。
MetaCat完成種子輪融資,HashKey等參投:1月13日消息,元宇宙數據分析平臺宣布MetaCat完成種子輪融資,參投機構包括HashKey、Zonff Partners、Digital Humanism、Metaverse Limited、Null Capital。MetaCat專注于元宇宙數據分析、內容導航、土地租賃等業務。[2022/1/13 8:46:15]
「哄抬套利」攻擊的一般步驟
條件一是DeFi系統存在被「哄抬套利」攻擊的必要非充分條件,實際攻擊過程中還要考慮到資金量、手續費、智能合約在執行交易前設置的檢查點等因素。攻擊者可通過建立優化模型找到最優參數,預測其「哄抬套利」收益來決定是否采取行動。這種攻擊手法的一般操作步驟如下:
圖1.哄抬套利攻擊的基礎模型
假設AMM資產池里的流動性資產為X、Y,流動性代幣為C。
第一步,準備。持有即將被哄抬的初始資產Y及用于觸發攻擊目標自動執行策略的初始資產A。
第二步,哄抬。將資產A發送至攻擊目標的相關智能合約,獲得代幣B,并觸發智能合約向AMM資產池投入資產X,獲得資產Y或流動性代幣C,并抬高AMM資產池內資產Y的價格。
第三步,套利。攻擊者將步驟二中的資產Y投入AMM資產池,以抬高后的價格獲得資產X或流動性代幣C。需要說明的是,第二、三步中的操作對應于swap或流動性挖礦。對于三個及以上幣種的AMM,這里的X或Y可視為資產組合。
第四步,收尾。攻擊者根據代幣B的最新凈值及后續交易計劃決策是否贖回資產D。
對于流動性充足的資產池,為了在AMM里制造可觀的價格滑點,往往需要投入很大的資金量,故攻擊者一般會從閃電貸借出初始資產。若閃電貸可供借貸的資產類別不滿足要求,攻擊者會去某些AMM或借貸平臺通過swap、流動性挖礦、借貸等方式獲得;也不排除攻擊者直接去與攻擊目標關聯的AMM獲取。若攻擊者在第一步的準備過程中采用了閃電貸,那么在第四步就還需在同一筆攻擊交易中歸還閃電貸。
Chainlink Labs 加入 Hedera Hashgraph 治理委員會:5月20日消息,Chainlink Labs加入Hedera Hashgraph治理委員會,成為委員會的第21個成員,并成為管理Hedera分布式賬本的節點之一。同時,Chainlink將被集成到Hedera代幣服務中,為Hedera提供預言機服務。[2021/5/20 22:26:55]
攻擊者贏利分析
若攻擊者不贖回頭寸代幣B,那么當初投入的資產A就是成本上限,只有當套利所得大于這一成本才能贏利,這種情況目前只在提供杠桿資金的攻擊目標中成功過,攻擊者以較少的保證金成本A撬動攻擊目標的大量資金X為其在AMM里抬高資產Y的價格。但前提是在執行交易前攻擊者要避開攻擊目標對其保證金凈值是否跌破清算線的檢查點,表1中編號為1的攻擊事件就是典型案例。
這里有兩點值得注意:
這里的關鍵是攻擊目標發行的份額代幣B為攻擊者的初始資產提供了隔離保護作用,攻擊者往往會先操縱AMM里的價格使得其中資產X大幅貶值,犧牲攻擊目標的基金資產撬動AMM內的價格滑點往有利方向偏移,使攻擊者在保證自有資產不大幅貶值的情況下實現可觀的套利,表1中編號為10的攻擊事件就是典型案例。
虧損分析
小節1.2分析了在「哄抬套利」攻擊模式下攻擊者獲利的原理,本節進一步分析誰是虧損的「冤大頭」?站在攻擊目標的視角,在整個攻擊過程中,其底層資產凈值的變化來源于:
攻擊者投入資產A獲得份額;與AMM發生資產交換的差額,即公式所示;攻擊者贖回份額。若攻擊者最終用頭寸代幣B贖回份額,則攻擊目標資產價值變化為:
NFT指數基金NFTX已上線Hashmasks指數基金MASK:2月4日,NFT指數基金NFTX創始人宣布上線NFT盲盒項目Hashmasks的指數基金MASK。據了解,MASK將是一款FloorFund,即涵蓋了所有Hashmasks,而不以其所包含的元素加以區分的基金。[2021/2/4 18:55:10]
若攻擊者沒有贖回初始資產,則相當于攻擊目標凈收入資產A,公式變為,
對于AMM而言,其恒定乘積定價方程保證兌換操作前后,其資產池內資產數量乘以資產價格的總價值保持恒定;而在注入流動性的情況下,新發行流動性代幣的每份額價值與原有流動代幣每份額代幣的價值一致。故每次攻擊者或機槍池與之交互時,都是按AMM內部價格等額交換的。即使攻擊者利用巨額資金使得AMM的價格偏離市場價格,AMM的流動性提供者只會暫時遭到價格偏差帶來的無常損失,后續會有套利者將價格搬平,而套利者獲得的受益來源于金融業務模塊損失的一部分。
案例舉例
表1中編號為1和10的事件都符合上述「哄抬套利」攻擊的一般模式,且易于復刻。在Yearn機槍池閃電貸攻擊事件中,攻擊者按照前面1.1總結的做了四個步驟:
第一步,從Aave和dYdX閃電貸借出ETH,抵押到Compound獲得大量DAI和USDC。一部分DAI留用,將另一部分DAI和USDC抵押至Curve的3Pool做流動性挖礦,獲得流動性代幣3CRV。用全部3CRV贖回USDT,這樣就準備好了資產Y和資產A。
第二步,將DAI抵押至Yearn的yDAIVault,獲得yDAI。這個合約會自動觸發將DAI投入到Curve3Pool的流動性挖礦投資策略,獲得3CRV。由于3CRV中DAI的數量變多,根據定價函數更新后DAI發生貶值,USDT增值。
LongHash:Liquid側鏈比特幣持有量超過公共閃電網絡通道:金色財經報道,根據LongHash文章,本月早些時候,Liquid上的比特幣持有量超過了閃電網絡通道。目前Liquid側鏈上有952.9435822枚BTC,公共閃電網絡通道上大約有918枚BTC。BitMEX Research曾揭示2月份閃電網絡的真實數據。根據他們的區塊鏈數據集,閃電網絡上的BTC有88%是在公共通道上的。根據這些信息,整個閃電網絡(包括專用通道)上的BTC總量可以粗略估計為1043個BTC左右,這比目前Liquid側鏈上的BTC更多。盡管如此,在不久的將來,Liquid側鏈通道的數量肯定會超過公共和私有閃電網絡通道所擁有的BTC總量。[2020/3/27]
第三步,將步驟一準備好的USDT投入Curve3Pool,高價換出流動性代幣3CRV。這時候攻擊者持有3CRV數量大于步驟一中的初始數量,套利成功。
第四步,用步驟二中的yDAI贖回DAI。雖然yDAI的凈值有所下降,但這部分虧損小于套利所得。攻擊者在一筆閃電貸交易中重復上述步驟10次,歸還閃電貸,最終累計得到大量3CRV和USDT,編號為1的bZx攻擊事件中,攻擊者從閃電貸借出ETH,先抵押一部分至Compound借出WBTC,再抵押一部分ETH至bZx觸發其5倍杠桿做空ETH交易,獲得代表杠桿頭寸的sETHwBTC5x。bZx合約為其提供杠桿資金向Uniswap賣出大量ETH獲得WBTC,將WBTC價格抬升3倍。攻擊者賣出WBTC,得ETH,一部分歸還閃電貸,另一部分用于贖回Compound里的抵押物,而沒有贖回杠桿頭寸sETHwBTC5x,因為此時早已觸發清算線,而攻擊者發現合約漏洞避開了檢查點。
聲音 | LongHash:任意時間購買比特幣并持有到上周六的人有 98.4% 的時間都是盈利的:LongHash 作者 Kyle Torpey 指出,在某一天決定購買比特幣并持幣到上周六的人有 98.4% 的時間都是盈利的,即在比特幣網絡自中本聰于 2009 年 1 月 3 日推出至 2019 年 7 月 6 日的 3837 天中,任意時間投資比特幣,只有 60 天是沒有盈利的。如果只計算過去五年比特幣交易更頻繁的時期,比特幣買家在 96.7% 的日子里仍然是盈利的。此外,在買家虧損的 60 天里,有 48 天出現在 2017 年末以及 2018 年初的加密資產泡沫時期。然而以歷史最高價 $15,000 到 $20,000 不等的價格買入比特幣的人現在仍然虧損 43%。LongHash 表示,對大多數人來說,定投是最好的選擇,因為這樣做可以幫助避免在最高價位大量買入的情況。定投的基本操作是每周或每月買入一定數量的比特幣,從而分散幣價的短期劇烈波動帶來的風險。[2019/7/9]
編號為3的攻擊事件利用了Balancer支持的一種利用銷毀自身代幣的方式來替代收取手續費行為的「通縮型」代幣STA,通過反復交易STA來使得其數量不斷減少,從而價格不斷抬升,屬于特定條件下的案例,不易復刻。
「操縱預言機」攻擊
「操縱語言機」攻擊可以認為是「哄抬套利」攻擊的一種對稱操作,其必要條件為:
條件二:攻擊目標依賴AMM提供的信息對其內部資產進行定價。
圖2.操縱預言機攻擊的基礎模型
這種情況下攻擊者雖然無法利用攻擊目標內的資產去哄抬AMM內某資產的價格,但可以考察AMM模塊作為預言機能否被操縱,從而哄抬攻擊目標內的資產。
攻擊目標依賴AMM提供信息的主要目的有兩種:
對抵押物進行估值;對頭寸代幣進行定價。我們也可將其視為「凈值計算」,而攻擊者則專門尋找在凈值計算中與實際情況出現偏差的合約進行操縱。
表1中編號為5和9的事件中攻擊者利用了同一種預言機漏洞。CheeseBank和WarpFinance這兩個機槍池都允許用戶超額抵押Uniswap的流動性代幣UNI-V2來借出穩定幣,而抵押品UNI-V2的價值通過一個自行編寫的預言機合約來計算。該合約利用相應Uniswap流動性池的資產數量、資產價格及UNI-V2的發行量計算,但資產數量和資產價格是從兩個不關聯的渠道獲取——資產數量直接從Uniswap流動性池余額獲取,而資產價格從Uniswap官方提供的一個時間加權平均預言機獲取。這使得攻擊者能夠通過改變Uniswap流動性的資產數量,在資產價格維持不變的情況下提高抵押品UNI-V2的名義價值從而借出更多的穩定幣。這種類型的攻擊主要時因為預言機合約設計不夠嚴謹導致的,但仍然重復發生兩次,足以引起DeFi項目的警惕。
表1中編號為2的事件中,攻擊者通過操縱bZx為抵押物sUSD估值的預言機,抬高sUSD的價格,從而借出更多ETH。
表1中編號為3、7的事件則通過操縱預言機報價,提高機槍池內份額代幣的凈值,從而兌換出更多資產,重復多次累計收益。
「操縱預言機」攻擊的一般步驟為:
第一步,準備。獲得用于操縱AMM預言機的資產Y及準備存入攻擊目標的資產A。
第二步,抵押。將資產A抵押至攻擊目標,獲得代表抵押物的頭寸代幣B,有些情況下,不發放頭寸代幣B,只在智能合約內部記賬。
第三步,操縱。將資產Y投入AMM兌換資產X,改變AMM流動性池內資產的比例從而改變報價,更新攻擊目標合約內資產A或頭寸代幣B的定價;第三步,收尾。若為借貸業務,則通過抬高的抵押物估值借出更多資產并不再歸還;若為機槍池業務,則通過抬高價格后的頭寸代幣B贖回資產,獲得增值收益。
討論與啟示
本文總結了DeFi系統遭受經濟攻擊的一般模式和命名所在,發現「哄抬套利」和「操縱預言機」攻擊模式本質上都是對凈值計算環節的利用和操縱行為。故而在設計DeFi系統的時候,妥善處理這一環節至關重要。最根本的預防措施就是取消用戶自動觸發交易策略鏈式執行或更新凈值的權限,從根本上阻斷攻擊者完成一整套連貫的操縱行為。
例如針對「哄抬套利」的攻擊策略,具體的做法可能是通過一個智能機器人識別用戶的投資行為,按固定時間段批量計算凈值及分配資金至策略池。但這種方法打破了原有原子交易的優勢,可能會引發用戶體驗不佳、成本抬高、機器人發送的交易被控制等新問題。另一方面,目前出現的DeFi組合模型大部分還停留在簡單的A->B模式,而生態內已經出現了C->A->B的多層嵌套關聯,這些關聯關系可能無法避免涉及到智能合約之間的自動觸發,仍然可能存在系統性的經濟漏洞。
針對「操縱預言機」所描述的攻擊風險,目前一些機槍池設置了滑點限制,約束被報價資產的價格變動范圍。但即便如此,攻擊者還是能找到一些超過成本的套利空間并通過多次實施來累積套利總額。
閃電貸在整個攻擊環節中屬于錦上添花的角色,可為攻擊者提供大量初始資金及試錯成本僅為交易gas費的攻擊機會。不過近期隨著ETH價格的增長,構建如此復雜的攻擊策略的智能合約所需花費的交易gas費已經非常昂貴,最近發生的yearn機槍池的單筆閃電貸攻擊交易就耗費了攻擊者1.933個ETH。
綜上所述,這些經濟攻擊事件表明,AMM的設計機制很容易被攻擊者利用來對關聯產品進行攻擊,并且具備特定的攻擊模式。通過破除攻擊模式依賴的必要條件可能會引發新的問題,還沒有一種萬全的策略完全消除此類風險。通過添加一定的約束條件來使得套利空間大大小于攻擊者的期望值,或許是一種值得探討的方法,這需要項目方對自己及關聯協議的經濟系統有全面且深入的研究。
免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。
本文來源于非小號媒體平臺:
HashKeyCapitalResearch
現已在非小號資訊平臺發布52篇作品,
非小號開放平臺歡迎幣圈作者入駐
入駐指南:
/apply_guide/
本文網址:
/news/9757832.html
免責聲明:
1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
上一篇:
盤點零知識證明代表性項目:如何影響和塑造區塊鏈生態系統?
Tags:AMMASHHASHBTCAMMO幣BASH價格Filecoin Standard Hashrate TokenGBTC幣
?1、三心二意 很多投資者都有這樣的經歷:原本制訂好了計劃,市場中的風險還沒有完全的釋放,操作的時候應該暫時以觀望為主,但是卻禁不住種種誘惑,草率入手.
1900/1/1 0:00:00馬來西亞已經建立了一個受監管且有保險的比特幣基金,以服務該地區的機構投資者。?根據周一的公告,BCMG創世紀比特幣基金-I受到馬來西亞納閩金融服務管理局的監督,據說是東南亞第一家投保的比特幣基金.
1900/1/1 0:00:00尊敬的用戶: WBF將在Defi上線TBCK/USDT交易對,具體時間安排如下:交易時間:2021-3-10?16:00 充提暫不開啟 項目介紹: 大數據協議(BigDataProtocol)通.
1900/1/1 0:00:00DeFi熱潮剛過,又一幣圈新詞“NFT”橫空出世,并迅速在幣圈掀起熱潮。3月6日,據BBC報道,Twitter聯合創始人、CEO杰克?多西將自己有史以來第一條推特以NFT形式上市出售,內容僅僅為.
1900/1/1 0:00:00陸百川3.10以太坊晚盤行情分析總之歲月漫長,然而值得等待,如果需要一樣東西,就不要等別人施舍,而是自己去爭取,萬物皆有裂痕,那是光進來的地方,也許過去的一年,你曾被震蕩的行情消磨,愿新的一年.
1900/1/1 0:00:00尊敬的虎符用戶, 虎符將于2021年03月09日14:00(UTC8)重磅上線DERI/USDT交易對。充值已開啟,提現將于2021年03月10日10:00(UTC8)開啟.
1900/1/1 0:00:00