作者:GaryMa 吳說區塊鏈

Curve 協議近期由於以太坊編程語言Vyper 的特定版本存在的Bug,導致了四個資金池的資金被盜;除此之外,還由於Curve 創始人將巨量CRV 作為抵押品在多個借貸平台上進行借款,也使得CRV 陷入了潛在的清算危機。本文便從Bug 危機以及CRV 危機這兩個角度出發,幫助讀者梳理一下每個危機的現狀以及未來潛在的解決方案。

Bug 危機:已解除,部分資金已追回

這次Curve 的漏洞危機本質是由於以太坊編程語言Vyper 的幾個特定版本(0.2.15、0.2.16 和 0.3.0)存在一個Bug,導致了重入鎖保護失效。

對於此次漏洞,受影響的資金池以及對應被盜的金額分別是:

  • pETH/ETH | 6,106.65 WETH (~$11m)
  • msETH/ETH| 866.55 WETH (~$1.6m) 以及959.71 msETH (~$1.8m)
  • alETH/ETH|7,258.70WETH (~$13.6m) 以及4,821.55 alETH (~$ 9m)
  • CRV/ETH | 7,193,401.77 CRV (~$5.1m 以被盜時價格計算),7,680.49 WETH (~$14.2m)以及2,879.65 ETH (~$5.4m)
  • 另外,還有Arbitrum 上的Tricrypto(USDT+WBTC+ETH) 也受影響,不過目前尚不存在能獲利的攻擊,資金安全不受影響,但官方建議用戶也先取出資金。

前四個受影響的資金池目前的存款和質押功能已禁用,同時也已在資金池界面下架,接下來官方將會停止這幾個池子的CRV 排放,然後為alETH、msETH 以及pETH 開設新的資金池,新的資金池將與WETH 進行配對或者採用其他新的ETH 池進行實現,而對於CRV,目前已經通過與crvUSD+ ETH 進行配對組成新的Tricrypto 池,不再受重入漏洞影響。

本次攻擊受影響的主要是這五個使用了上文提及的特定 Vyper 版本並且與原生 ETH 配對的池子, Curve 上的其他池子本質上是安全不受影響的,所以現在棄用這些受影響的池子並開設新池子後(與WETH 配對或用安全的Vyper 版本編譯),本次Curve 漏洞危機便可視為已解除了(假設新的Vyper 版本沒有未知漏洞的話lol)。

而對於被盜資金,此前Mev Bot 部署者c0ffeebabe.eth 已返還了2,879.54 ETH。對於其他被盜資金,目前鏈上偵探 @zachxbt 似乎也發現了部分潛在嫌疑人,希望後續能夠嘗試追回部分資金,減輕被盜用戶的損失。

CRV 清算危機:大概率解除,OTC 賣幣還債

CRV 的清算危機主要是來自Curve 創始人Michael Egorov 在Frax Finance 和Aave 等借貸平台上的抵押借貸。

雖然漏洞事件後,CRV 鏈上價格曾瞬間被暴跌至$0.08 附近,不過由於鏈上預言機的餵價是參考多數據源多維度的加權機制,這種瞬間爆跌插針其實並不會觸發這些借貸平台的清算機制。後續儘管市場上對CRV 的唱空情緒濃烈,但CRV 價格基本也穩定保持在$0.5 上方,而短期內Michael Egorov 在Frax Finance 和Aave 上的倉位清算價格基本在$0.35 附近,似乎依舊有30% 的緩衝空間,危機似乎也不是那麼緊迫?

這裡主要是在Fraxlend 中的債務倉位給予了壓力:由於Fraxlend 實行時間加權可變利率,因此實際上該頭寸對CRV 構成了更大的風險。在Fraxlend 100% 的利用率下,利率將每12 小時翻一番,預計在3.5 天后將提高到最高10,000%。這個超高利率最終可能導致Michael 頭寸清算,而不管價格如何。最大LTV 為75%,其頭寸清算價格會在4.5 天內達到 $0.517。

不過目前來看,Curve 創始人Michael Egorov 似乎也找到了破局方法,即通過 “OTC 交易賣出CRV 還債”。

據 @EmberCN 監測,Curve 創始人Michael Egorov 已累計售出總計5450 萬枚的CRV,獲得了2180 萬美元的資金。這些CRV 的購買者包括DWFLabs(1250 萬枚CRV)、孫宇晨(500 萬枚CRV)、黃立成(375 萬枚CRV)、Cream.Finance(250 萬枚CRV)等,均價 $0.4。

截止本文發稿前,Curve 創始人Michael Egorov 在各借貸平台上的借貸倉位大致如下:

  • Aave v2 上供應了257.44m 枚CRV,借出了49.25m USDT,清算價約為$0.35。
  • Frax 上供應了38.6m 枚CRV,借出了9.19m 枚FRAX,清算價約為$0.3。
  • Abracadabra 上供應了46.65m 枚CRV,借出了12m MIM。
  • Inverse 上供應了29.1m 枚CRV,借出了7.7m DOLA。

另外,CRV 的清算壓力不僅是藉款人的,也是藉貸平台的。現在所有借貸平台都明白這筆借貸就是一顆定時炸彈,如果處理不當,便會造成平台壞賬或者影響平台其他用戶資產。

根據 @Loki_Zeng 的表述,我們可以得知各個借貸平台的解決方案對應如下:

  • Fraxlend 的機制就是完善的:借貸池風險隔離+動態利率,不需要任何額外措施,Michael 就需要自己主動還錢。
  • Aave 維持著治理的去中心化,但不具備敏捷行動的能力:在治理論壇的討論較為充分及時,目前達成的共識是把Curve的LTV降成0,凍結新增借款。但是其它提案,比如降低LT(清算門檻)、提高利率目前仍有比較大的爭議。
  • Abracadabra 則為實現效率,略帶專制: 提出了將抵押品的利息應用於CRV cauldrons 中的策略,即所有的利息都將直接收取在cauldrons 的抵押品CRV 上,並立即移入協議國庫,以增加DAO的儲備因子。進入國庫後,抵押品就可以通過鏈上交易或線下合作夥伴轉化為MIM。
  • Inverse 目前尚無動靜。

其實回顧這整件事件,Curve 本身作為一個流動性 & 交易平台,並沒有明顯過錯,雖然是它的資金池被盜導致用戶資金受損,但漏洞本質是以太坊編程語言Vyper 的鍋。而至於CRV 價格下跌的清算危機,本質是屬於Michael Egorov 個人的行為所致,抵押套現約1 億美元資金,親手為CRV 以及借貸平台埋下了定時炸彈。另外,通過這次事件,也是給借貸平台一個經驗教訓:如何更好地實現用戶資金安全隔離以及合理高效的清算機制?

相關鏈接:

https://hackmd.io/@LlamaRisk/BJzSKHNjn

https://twitter.com/Loki_Zeng/status/1686624941171720192

https://zapper.xyz/account/0x7a16ff8270133f063aab6c9977183d9e72835428?tab=apps