最近在研究Defi衍生品價值評估的問題,比如Uniswap的Liquitidyprovidor(LP)Token該如何估值呢?直觀的感覺就是LPToken的價格等于Pair中代幣數量的總價值除以LPToken的總量。
其中r(token)是指Pair中代幣的reserve數量,p(token)是指代幣的價格,totalSupply是指LP的總量。這個公式貌似沒有問題,但在實踐中卻遇到了大問題。
WarpFinance被黑
2020年12月17號一個名為WarpFinance的Defi項目被黑了,黑客通過閃電貸操縱Uniswap的ETH-DAI代幣數量大幅提高了LP價格,然后黑客從WarpFinance借走了超過770萬美元的穩定幣,而黑客抵押的LP最終兌換的價值僅為586萬美元。
WarpFinance是一個抵押借貸項目,它的抵押品是Uniswap的LP,通過超額抵押LP能借出DAI、USDC等穩定幣。如果你持有ETH這樣資產,你可以將ETH放到Compund或者Aave這樣的抵押借貸平臺吃利息,也可以放到Uniswap中做市獲取交易手續費。在Uniswap中做市得到的LP流動性很差,如果你持有LP但是又需要穩定幣咋辦呢,可以拿LP去WarpFinance中抵押借穩定幣,WarpFinance這個項目的意義就在于此。
慢霧:JPEG'd攻擊者或已將全部6106.75枚ETH歸還給項目方:8月4日消息,慢霧MistTrack監測顯示,JPEG'd攻擊者或已將全部6106.75枚ETH歸還給項目方。[2023/8/4 16:18:46]
對于抵押LP借穩定幣這個邏輯而言最關鍵的就是LP的價格,價格估低了倒還好,只是影響LP資產的使用效率,如果是價格給估高了,則會給項目帶來非常大的損失。WarpFinance中計算LP價格的代碼正如上文所示的公式一樣:
公式是沒問題的,那黑客到底是怎么攻擊的呢?先看看黑客攻擊的交易,通過etherscan和ethtx.info展示的交易執行數據可以得到下面的攻擊流程:
每個步驟之后黑客地址上的幣種余額變化如下表所示:
數據:交易員在TrueUSD上建立400萬美元空頭頭寸:金色財經報道,根據鏈上數據,一名以太坊用戶利用Aave的V2借貸平臺,存入了750萬USDC作為抵押品。然后他們借用400萬TUSD并迅速將其出售給USDC。這種借入并立即賣出的策略經常被用來建立對特定資產的空頭頭寸。由于發行人停止造幣和贖回,交易員在TrueUSD上建立了400萬美元的空頭頭寸。
本月早些時候,信托公司Prime Trust發布了關于暫停新TUSD鑄造的公告。隨后,內華達州工商部門的金融機構部門(FID)對Prime Trust發布了停止令。[2023/6/24 21:57:32]
黑客的操作簡單的總結就是:
通過閃電貸借ETH和DAI
添加流動性獲得LP
向WarpFinance抵押LP
大量賣ETH抬高LP的價格
從WarpFinance那里借到超過LP實際價值的穩定幣
歸還閃電貸借來的ETH和DAI
為什么LP的價格能被抬高,黑客為什么是賣ETH而不是反向操作?這個需要分析下上面那個LP的價格計算公式。根據Uniswap的AMM規則有:
美股三大指數收盤漲跌不一,標普500指數平收:金色財經報道, 美股三大指數收盤漲跌不一,納指漲0.32%,標普500指數平收,道指跌0.15%。大型科技股多數上漲。[2023/5/31 11:49:24]
在黑客從WarpFinance借穩定幣之前只對ETH-DAI池進行了賣ETH操作,這個操作不會影響totalSupply。另外一方面在WarpFinance的實現中p(token)的價格采用的是Uniswap的X-USDC池子ETH-USDC和DAI-USDC的代幣價格,而且是時間加權平均價(TWP),這個價格是黑客沒法操控的。再加上price(DAI,USDC)的價格可以認為是1,因此LP的價格公式(忽略掉totalSupply)可以簡化為:
在兌換發生前ETH-DAI池的k值我們可以通過ethtx.info上的日志信息看到
UniswapWETH-DAI.Sync(reserve0=60911018344037202213498302,reserve1=94928655114461712381666)
NFT租賃市場Double Protocol將擴展至公鏈Thunder Core:金色財經報道,NFT租賃市場Double Protocol與公鏈Thunder Core達成合作,將把NFT租賃服務擴展至Thunder Core上的NFT,其中Flappy Machine將作為首個使用Double Protocol允許玩家租賃NFT的生態項目。[2022/12/27 22:09:45]
計算得到的k值大概是5.7*10^12,而兌換前p(ETH,DAI)的價格為640左右,而在受攻擊前p(ETH,USDC)跟p(ETH,DAI)的值應該是差不多的。因此根據給定的k和p(ETH,USDC)可以繪制LP的價格與DAI的數量的函數關系曲線圖,如下所示:
這個曲線是存在一個最低點的,從圖中可以看到當r(DAI)的值在6.04*10^7的時候LP的價格最低,而黑客在攻擊的時候池子中的r(DAI)為6.09*10^7恰好就在最低點附近。從曲線上看最低點左側的曲率更大,因此減少池子中的DAI就是一個更優的選擇,這也是為什么黑客選擇賣ETH。
環保人士呼吁紐約州州長簽署PoW加密挖礦暫停法案并拒絕礦企Greenidge許可證:6月5日消息,近日美國紐約州參議院通過了為期兩年的PoW加密挖礦暫停法案。環境保護主義者和州議員Anna Kelles在周五的新聞發布會上呼吁紐約州州長Kathy Hochul簽署該法案成為法律,并且拒絕比特幣礦企Greenidge Generation的空氣許可證。
Greenidge Generation隨即宣布該法案不適用于其運營情況,還引用了《華爾街日報》4月的一篇報道中的Kelles本人的話。
法案主要發起人Kelles在新聞發布會上表示,從本質上講,這是一項發電廠法案。該法案表示,在未來兩年內,我們將不允許加密貨幣礦企購買使用化石燃料的發電廠,并將它們用于加密貨幣挖礦。這是該法案的關鍵所在。(CoinDesk)[2022/6/5 4:03:33]
AlphaFinanceLab的做法
在WarpFinance被黑客攻擊后,AlphaFinanceLab在twitter上指出了WarpFinance計算LP價格的問題:
AlphaFinanceLab計算LP價格的代碼如下圖所示:
從代碼中可以看到
這個公式是怎么來的呢?實際上這個公式依然基于WarpFinance所采用的公式,但是AlphaFinanceLab認為不能使用ETH-DAI池中的r值,應該使用一個所謂公允的值r`。假定ETH-USDC和DAI-USDC中的價格都是公允的,那么
上面這個公式中LP的價格受p(ETH,USDC)和p(DAI,USDC)的影響,假定p(DAI,USDC)的值始終是1,如果要使LP的價格翻一倍則p(ETH,USDC)需要翻4倍,而這個操縱是很容易的只需要往ETH-USDC池子中投入跟r(ETH)相同數量的ETH然后換出r(USDC)數量一半的USDC就能達成。回頭看看WarpFinance攻擊過程中的第6步,黑客賣出大量的ETH使得ETH-DAI中ETH的價格由最開始的640降到30左右,即使最開始ETH-DAI池有大概6100萬美元的DAI,但顯然這個池子的深度在黑客借來的ETH面前還非常不夠看。
不過AlphaFinanceLab采用的公式確實比WarpFinance要好一點,它的LP價格曲線是一個拋物線,并不存在像WarpFinance中有某個最低點,因此不會被精準攻擊。另外要攻擊也只能執行買入ETH的操作。
更優解?
給資產進行估值的時候本質上是在干什么?本質上是在看資產能賣多少錢,比如ETH的價格是100USD,那么1個ETH的價值就是100USD。但是如果是給10000個ETH進行價值評估就不能以100USD的價格進行計算,因為100USD只是市場當前的盤口價格或者是TWP,而真正將10000個ETH賣出得到的實際成交價往往比報價要低。
市場的流動性分散在多個地方,有中心化交易所也有去中心化的交易所,如果Defi項目對資產的評估依賴的是鏈上的報價那么資產的流動性也只能依賴鏈上。以WarpFinance為例,在第6步中黑客往ETH-DAI池注入了341217個ETH來交換DAI,此時第5步黑客抵押的94349份LP也會對應大量的ETH,這么大量的ETH能以p(ETH,USDC)的價格賣出嗎?顯然是不可能的。
實際上Uniswap本身就提供了更精確的接口來幫助我們評估賣出一定數量的ETH到底能得到多少個USDC:
functiongetAmountsOut(uintamountIn,addresscalldatapath)externalviewreturns(uintmemoryamounts);
而且這個接口還會把實際交易過程中收的手續費算進去,因此會非常準確。
結束語
以資產作為抵押的項目被攻擊的手段一般都是抬高資產價值然后借出比資產價值實際上高的多的穩定幣,而鏈上價格非常容易被閃電貸操控,而且操控的幅度會超出你的想象,比如WarpFinance攻擊中把ETH-DAI池中的ETH價格從640打到30。評估資產的價值要以資產實際被賣出時能值多少錢為準,也許實際上做不到這一點,但是要往這個方向努力。
但最重要的還是要有足夠高的抵押率,WarpFinance的抵押率就不高所以才被攻擊成功,這種項目在最開始啟動的時候最好設置高額的抵押率確保安全,即使用戶的資產利用率低一點也沒關系。
如果WarpFinance能在受攻擊后第一時間從ETH-DAI池把ETH取出來然后在中心化交易所上以合適的賣出也是不會遭受損失的,但實際上當ETH-DAI池出現30這樣的低價后,無數的套利機器人就像聞到血腥味的鯊魚一樣撲了上來,很快就會填平這個差價。WarpFinance在反應過來的時候為時已晚。
來源:金色財經
Tags:ETHUSDFINANCSaveTheWorldGUSD幣FINO DAOSunder Goverance Token
黃金技術面:價格下破1802,那么1959三段ABC走勢形成,看下跌已經臨近結束,后續向上至少回到1875一線.
1900/1/1 0:00:00--前言 人生,至少要有兩次的沖動,奮不顧身的愛情,說走就走的旅行,很多事情就像旅行一樣,當你做出決定,并且邁開腿的時候,就已經變得不那么困難了,不必太在意目的地.
1900/1/1 0:00:00相信很多新手投資者剛開始進行現貨黃金投資的時候,都曾因為看不準行情,而在交易的過程中出現了一定的交易錯誤,甚至導致投資損失不斷擴大.
1900/1/1 0:00:00熱點事件一覽: 1.YearnFinanceyDAI機槍池遭攻擊,損失1100萬美元。2.加密支付平臺MetalPay已申請美國全國性銀行執照.
1900/1/1 0:00:00M神---一個底層區塊鏈技術開發者,從區塊鏈底層角度分析幣圈行情,每天提供更加靠譜的行情資訊,也是一個曾經抄幣虧掉30萬的韭菜.
1900/1/1 0:00:002021年珠海市《政府工作報告》指出,爭取數字人民幣在跨境場景試點使用。前不久,中國人民銀行數字貨幣研究所、跨境銀行間支付清算有限責任公司、環球銀行金融電信協會等機構合資成立金融網關信息服務有限.
1900/1/1 0:00:00