最近在研究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這個項目的意義就在于此。
分析:盡管灰度勝訴,比特幣9月份走勢仍面臨不確定性:8月30日消息,分析師表示,盡管灰度勝訴,但不太可能阻止比特幣在8月以負月回報率結束。BTC本月初時價格還在29,000美元以上,而目前在27,000美元上方徘徊。
比特幣在8月的表現給9月份的走勢帶來了不確定性。8月經歷創紀錄的低波動性、下降的交易量以及一次價格跌至25,000美元區域的閃崩。CoinShares研究主管JamesButterfill表示,8月的價格下跌凸顯了比特幣在較大交易面前的脆弱性,這在當前低交易量的情況下變得更加嚴重。
Butterfill預測,市場的猶豫不決將是9月初的特點。他預計交易者會在對ETF申請可能通過的激動與對美國證券交易委員會(SEC)批準的疑慮之間搖擺不定。盡管周三的法庭裁決有利于灰度,但Butterfill表示,這不太可能加速SEC批準的時間表,因為仍有可能上訴。[2023/8/30 13:07:17]
對于抵押LP借穩定幣這個邏輯而言最關鍵的就是LP的價格,價格估低了倒還好,只是影響LP資產的使用效率,如果是價格給估高了,則會給項目帶來非常大的損失。WarpFinance中計算LP價格的代碼正如上文所示的公式一樣:
分析:Genesis Trading的6個地址共持有3.64億美元資產,Alameda和3AC是其最大交易對手:1月6日消息,Lookonchain分析了Genesis Trading的6個地址后發現,Genesis目前持有3.64億美元的資產,包括219,749枚ETH(約合2.74億美元)、3500萬枚USDC、26,667枚BNB(680萬美元)、126,989枚COMP(400萬美元)、100萬枚APE(400萬美元)、814萬枚SAND(340萬美元)、290萬枚USDT、265萬枚USDP、40,448枚AAVE(220萬美元)、676萬枚MANA(210萬美元)和200萬枚BUSD等。
另外,Alameda Research和Three Arrows Capital(3AC)是Genesis最大的交易對手。Genesis Trading與Alameda Research和Three Arrows Capital的ETH、USDC、USDT、BUSD交易量接近70億美元。[2023/1/6 10:58:32]
公式是沒問題的,那黑客到底是怎么攻擊的呢?先看看黑客攻擊的交易,通過etherscan和ethtx.info展示的交易執行數據可以得到下面的攻擊流程:
6月24日合約行情分析:BTC下跌至9500美元附近盤整:據火幣BTC永續合約行情顯示,截至今日17:00(GMT+8),BTC價格暫報9518美元(-1.00%),20:00(GMT+8)結算資金費率為0.010000%。
昨日至今BTC在9500美元上方震蕩,以ETH為代表的部分主流幣今日中午出現上漲行情,下午大跌使漲幅被抹平。根據火幣交割合約數據,BTC當季合約成交額略減,持倉量繼續增加,精英多頭占比穩定,當季合約保持窄幅溢價。BTC目前在9500附近盤整,此次行情持倉量持續上升,投資者需控制倉位注意風險。USDT于火幣全球站OTC的報價為7.02元,溢價率為-0.79%。[2020/6/24]
每個步驟之后黑客地址上的幣種余額變化如下表所示:
黑客的操作簡單的總結就是:
通過閃電貸借ETH和DAI
添加流動性獲得LP
向WarpFinance抵押LP
大量賣ETH抬高LP的價格
分析:朝鮮可能利用KYC漏洞洗錢價值1億美元的加密貨幣:區塊鏈取證公司CipherTrace發布了有關黑客如何通過多家銀行和加密貨幣交易所盜取加密貨幣的詳細分析。根據Ciphertrace的說法,網絡釣魚者使用“剝離鏈”來隱藏大量加密存款。簡而言之,通過使用“剝離鏈”,犯罪分子可以擺脫對交易所進行的一筆大筆存款帶來的不必要的關注。該報告稱,美國國稅局(IRS-CI)調查發現,朝鮮同謀在幾個交易所使用假身份證和操縱照片來規避KYC程序。此前報道,美國財政部外國資產控制辦公室(OFAC)宣布兩名中國公民因為幫助朝鮮 Lazarus 黑客團隊洗錢而被制裁。(AMBCrypto)[2020/3/14]
從WarpFinance那里借到超過LP實際價值的穩定幣
歸還閃電貸借來的ETH和DAI
為什么LP的價格能被抬高,黑客為什么是賣ETH而不是反向操作?這個需要分析下上面那個LP的價格計算公式。根據Uniswap的AMM規則有:
分析 | coindesk分析:比特幣將在3658至3900美元之間震蕩:據coindesk分析,比特幣近期走勢可能將在3658美元至3900美元之間維持震蕩格局。若3700美元的能夠有效支撐,可能會加大買盤,促使比特幣反彈至4000美元以上;若比特幣跌破3658美元,則將引起大量的拋售,導致幣價進一步下跌至3400美元以下。[2019/3/5]
在黑客從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)
計算得到的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在反應過來的時候為時已晚。
愛的BKEXer: ?? 為回饋廣大用戶,BKEXGlobal聯合PSI舉行"迎PSI上線,三重好禮來襲"活動.
1900/1/1 0:00:00本公眾號的文章只做研究、學習和交流使用,不具有任何的操作指導意義!?幣圈唯一每天堅持視頻分析行情的公眾號!如果需要視頻行情分析的.
1900/1/1 0:00:00尊敬的庫幣合約用戶: 為應對行情大幅波動,提高合約系統性能,優化用戶交易體驗,庫幣合約將于2021年2月7日17:00:00(UTC8)進行系統升級.
1900/1/1 0:00:002月6日,CFTC公布了最新一期CME?比特幣期貨周報,最新統計周期內BTC反彈了近4000美元,并且曾在統計周期內出現短短數小時內超6000美元的驚人上漲.
1900/1/1 0:00:00尊敬的用戶: Hotbit即將在開啟MNE(Minereum)數字資產服務 具體安排如下: 充值時間:2021年02月08日14:00??(香港時間)交易時間:2021年02月08日16:00?.
1900/1/1 0:00:00Bifrost將于?2021年2月8日14:00?開啟第二期MintDrop,總計空投?500,000BNC.
1900/1/1 0:00:00