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.65WETH(~$11m)
●msETH/ETH| 866.55WETH(~$1.6m)以及959.71msETH(~$1.8m)
●alETH/ETH|7,258.70WETH(~$13.6m)以及4,821.55alETH(~$9m)
●CRV/ETH|7,193,401.77CRV(~$5.1m以被盗时价格计算),7,680.49WETH(~$14.2m)以及2,879.65ETH(~$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/0x7a16ff8270133f063a