最近在研究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這個項目的意義就在于此。
數據:本周5種代幣將迎來解鎖,總計釋放價值超1.67億美元:5月15日消息,Token.Unlocks數據顯示,本周有5個加密項目將進行代幣解鎖,總計釋放價值超1.67億美元。
BitDAO(BIT)將于5月15日8時解鎖187,499,999.36枚代幣,價值約9185萬美元,占總供應量的1.951%。
ApeCoin(APE)將于5月17日8時解鎖15,601,325枚代幣,價值約5164萬美元,占總供應量的1.56%。
1inch(1INCH)將于5月18日8時解鎖21429枚代幣,價值約8891美元,占總供應量的0.001%。
Oasis Network(ROSE)將于5月19日0時解鎖199,500,000枚代幣,價值約1065萬美元,占總供應量的1.995%。
ImmutableX(IMX)將于5月20日18時解鎖18,075,990.71枚代幣,價值約1357萬美元,占總供應量的0.904%。[2023/5/15 15:02:57]
對于抵押LP借穩定幣這個邏輯而言最關鍵的就是LP的價格,價格估低了倒還好,只是影響LP資產的使用效率,如果是價格給估高了,則會給項目帶來非常大的損失。WarpFinance中計算LP價格的代碼正如上文所示的公式一樣:
CPI數據公布后美聯儲6月加息25個基點的概率從20.1%降至14.2%:金色財經報道,美國4月CPI數據公布后,CME“美聯儲觀察”顯示,美聯儲6月維持利率不變的概率從79.9%增至85.8%,加息25個基點的概率從20.1%降至14.2%;到7月維持利率在當前水平的概率從59.1%降至55.6%,累計降息25個基點的概率從27.7%增至36.2%,累計加息25個基點的概率從13.1%降至8.2%。[2023/5/10 14:55:24]
公式是沒問題的,那黑客到底是怎么攻擊的呢?先看看黑客攻擊的交易,通過etherscan和ethtx.info展示的交易執行數據可以得到下面的攻擊流程:
每個步驟之后黑客地址上的幣種余額變化如下表所示:
Cosmos Hub將于3月15日進行V9 Lambda升級,將激活Replicated Security功能:3月8日消息,Cosmos Hub發推稱,v9 Lambda升級提案已經投票通過,支持率達99.48%。V9 Lambda升級將于3月15日進行。
根據該提案,本次升級旨在激活Replicated Security功能,這將強制執行鏈間安全性(ICS)的良好運行規則。Replicated Security功能可將Cosmos Hub的安全性復制到消費者鏈,并監控對規則的遵守情況,消費者鏈可以從Cosmos Hub的安全性中受益,而不必維護自己的驗證者。[2023/3/8 12:49:01]
黑客的操作簡單的總結就是:
通過閃電貸借ETH和DAI
添加流動性獲得LP
向WarpFinance抵押LP
大量賣ETH抬高LP的價格
從WarpFinance那里借到超過LP實際價值的穩定幣
歸還閃電貸借來的ETH和DAI
為什么LP的價格能被抬高,黑客為什么是賣ETH而不是反向操作?這個需要分析下上面那個LP的價格計算公式。根據Uniswap的AMM規則有:
SBF:FTX與幣安達成協議,獲得幣安戰略投資:11月9日消息,FTX創始人SBF發布推特稱,事情又回到了原點,FTX的第一個也是最后一個投資者是一樣的:我們已經與幣安就FTX的戰略投資達成協議。[2022/11/9 12:34:35]
在黑客從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上的日志信息看到
Bitfinex延長結算負ETHW余額的最后期限:10月13日消息,Bitfinex宣布,延長結算負ETHW余額的最后期限至10月23日12:00 pm(UTC)。[2022/10/13 14:26:42]
UniswapWETH-DAI.Sync(reserve0=60911018344037202213498302,reserve1=94928655114461712381666)
計算得到的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。
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:ETHFINNCEDAIEthereumPoWBoosted FinanceVox FinancePANDAI
情走勢莫測,就像未卜是人生,總有跌宕起伏的時候,交易如同攀爬,只有登上絕頂,才能享受奇觀勝景;若遇難而退,中途放棄,只會與機會擦肩而過,在交易中,最重要的就是要敢于出手,面對機會,果斷出擊.
1900/1/1 0:00:00晚間資訊: 美國非農數據公布,美國1月失業率錄得6.3%,為去年3月以來新低。美國1月非農就業人數增加4.9萬人,預估為增加10萬人,前值為減少14萬人.
1900/1/1 0:00:00要點: 保護性產品的流動性挖礦是什么?OpiumFinance為DeFi中的各種風險類型提供用戶友好的代幣化保護產品.
1900/1/1 0:00:00消息面: 據TheBlock消息,由MillerValueFunds監管的MillerOpportunityTrust在周五的監管文件中表示.
1900/1/1 0:00:00文章系金色財經專欄作者幣圈北冥供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別防上當.
1900/1/1 0:00:00前言:與數字人民幣“錢包”相關的專利一共有23項,這些專利對數字人民幣錢包的設計做出了詳細的闡述.
1900/1/1 0:00:00