11月22日,一巨鯨在Aave抵押USDC借入CRV,賣出後做空。後被社區狙擊,從K線上看,CRV當天最高反彈超過80%。可能大家對巨鯨的背景和事情經過已經有所了解,但是鏈上借貸有抵押品,巨鯨做空CRV為什麼會導致Aave出現約170萬美元的壞賬呢?

Aave的參數設計

在區塊鏈上抵押借貸,能藉多少代幣、什麼時候清算,都是由智能合約中的一系列參數設定好的。

巨鯨做空CRV,Aave耗費百萬買單?鏈上借貸協議為什麼會產生壞賬

Max LTV:最大貸款價值比,決定借款發生時債務/抵押品價值的最大比例。

Liquidation threshold:清算門檻,是一個清算判定條件,債務/抵押品價值升至這個比例時發生清算。

Liquidation penalty:強平罰款,當清算發生時,以該資產為抵押品需要扣除的罰金比例。

比如,Aave V2中USDC的Max LTV為87%,Liquidation threshold為89%,Liquidation penalty為4.5%,就代表每有1 USDC的抵押品,最高可以藉入0.87美元其它代幣,當借入的代幣升值至0.89美元時發生清算,順利清算的情況下將被扣除4.5%的罰金。

巨鯨的CRV清算過程

當觸發清算條件時,任何人都可以通過調用liquidationCall()償還部分債務,獲得對應的抵押品+清算罰金,清算罰金的存在可以激勵大家在市場波動中及時參與清算。

Aave V2規定,每次最高可以清算負債的50%。

比如Bob存入10 ETH借入價值5 ETH的DAI。當觸發清算條件時,清算人最多可以一次性償還借入金額50%。清算人支付2.5 ETH的DAI,獲得2.5 ETH +0.125 ETH(罰金為5%)的ETH。

那麼為什麼巨鯨在Aave中的CRV債務沒有被及時清算掉呢?

最主要的原因可能是該巨鯨的頭寸過大,市場上並沒有足夠多的流動性讓清算人買入。從下圖可以看到,該巨鯨在Aave中存入了5794萬USDC,借入了8342萬CRV。

巨鯨做空CRV,Aave耗費百萬買單?鏈上借貸協議為什麼會產生壞賬

而從CoinGecko和區塊鏈瀏覽器中可以看出,CRV代幣的流通量只有6.37億,巨鯨借出的CRV數量高於所有外部賬戶持有者。例如,截至11月25日,Aave的合約中只有4212萬CRV,持幣量第8的Binance 14地址中也只有2021萬CRV。

巨鯨做空CRV,Aave耗費百萬買單?鏈上借貸協議為什麼會產生壞賬

在DEX中,Uniswap V3的相關交易對中流動性最高的ETH/CRV交易對中,流動性共176萬美元,只有148萬CRV。

巨鯨做空CRV,Aave耗費百萬買單?鏈上借貸協議為什麼會產生壞賬

因此,市場上並沒有足夠的流動性供清算人買入,完成清算。

據Blockworks統計,本次Aave上CRV的清算過程在50分鐘內通過385筆小型交易完成。

清算過程為價格波動留有一定的冗餘空間,比如本次案例中,USDC的清算門檻為89%,加上4.5%的清算罰金,仍有6.5%的波動空間。每一次清算後,剩餘的資金會補充到抵押品中,使剩餘債務的清算價格上升。但是在清算過程中,CRV的價格繼續上漲,最終導致Aave產生壞賬。

Aave V2的缺陷

與Compound相比,Aave支持更多的長尾資產,有更高的LTV,讓用戶資金利用率更高。但在更加高效的同時,也增加了風險。

在清算的判斷上,Aave V2只參考了抵押品的清算門檻,而未考慮借用代幣的風險。如A用戶抵押USDC借入CRV,B用戶抵押CRV借入USDC。由於USDC和CRV在清算門檻參數上的區別,A用戶可藉入87%的CRV,LTV達到89%時清算;B用戶僅能藉入55%的USDC,且當LTV達到61%時即被清算。理論上兩者的風險差別並不大。

Aave也沒有對每一種資產的存款和借款數量進行限制,在本次事件中,巨鯨的CRV借款量佔的比重過大,影響清算。極端情況下,不對每種資產進行限制可能導致整體的巨大虧損,如Venus中曾經出現過的。

在此之前,Aave社區中已經意識到可能遭到攻擊的風險。本次事件後,Aave也會變得更加穩健,可能會降低主流幣的清算門檻和最大LTV,禁止某些山寨幣作為抵押品。