北京时间 7 月 30 日,智能合约编程语言 Vyper 的部分版本被发现存在严重漏洞,包括 Curve Finance 在内的一些重要项目因此遭受了攻击。(详情可参看《Vyper 语言部分版本存在漏洞,Curve 等项目受到攻击》)
根据 Curve 团队的解释,由于部分池子(alETH、msETH、pETH)使用了 Vyper 的 0.2.15 版本语言,重入锁功能失效致使攻击者可以在单次交易中多次执行某些功能,从而出现了一定的资金损失。
至于具体的损失金额,派盾稍早前统计称,包括 Alchemix(alETH 发行方)、JPEG'd(pETH 发行方)、Metronome(msETH 发行方)、deBridge、Ellipsis、Curve CRV-ETH 池等在内的损失合计约为 5200 万美元。
极端情况之下,由于 CRV 的链上流动性储备未能有效承接集中抛压,今晨 CRV 在多个 DEX 上的交易价格均出现了剧烈波动,其中在 3:05 至 3:15 期间,Uniswap 上 CRV/WETH 交易对的瞬时价格几乎归零,最低一度跌至 0.08 美元左右(现已恢复至 0.62 美元左右)。
幸运的是,这一极端瞬时价格并没有被 Chainlink 预言机所报出。根据 Chainlink 的喂价数据历史可看出,由于采用了「CEXs + DEXs」的加权报价逻辑,在同一时间点该预言机所报出的最低价格为 0.59 美元。而作为当前业内最常用的预言机服务,这一“小小”的报价差异或许帮助 Curve、Aave 乃至整个 DeFi 行业避开了一场更大的灾祸。
我们可以假想一下,如果 Chainlink 没有报出 0.59 ,而是报出了 0.08 ,今天早上的 DeFi 会是什么样子。
首先可以推测的是,包括 Aave 在内的大量借贷协议之上的 CRV 抵押债仓将直接面临清算风险。
以 Curve 创始人 Michael Egorov 的仓位为例,其在 Aave、FRAXlend、Abracadabr、Inverse 上共抵押了 2.92 亿枚 CRV(约合 1.81 亿美元),借出了 1.1 亿美元资金,其综合清算价格约在 0.4 美元附近,所以如果是 0.08 美元的喂价,这些仓位将会面临直接的清算风险。
Odaily 星球日报注:Aave 等借贷协议如今在清算设计上都有时间加权机制,所以理论上瞬时价格也不一定会立即触发清算,但这一异常值对加权后均值的影响显然会放大清算风险。
一旦清算触发,包括 Michael Egorov 在内的大量多用户均会面临资金损失风险。考虑到当时链上的 CRV 流动性承接能力已然不足,这些清算很难得到有效执行,从而对 Aave、FRAXlend 等借贷协议造成潜在的坏账威胁(CRV 都快归零了,清算卖出的钱很难补齐债务)。
而在清算推进的同时,CRV 也会继续面临更大量级的抛压,这或将加剧社区的恐慌情绪(别忘了那时候创始人老哥也得被端了),从而引发更严峻的事态。
一夜之间,DeFi 世界的几大基石均遭重创,势必会造成巨大的连带影响,很难想象如果真发生了这种情况发生,今天早上起床之后的行业会是什么样子。
在社区讨论中,有人将 Chainlink 今晨的报价操作类比为 312 时“拔网线”的 BitMEX,后者作为 2020 年时业内交易量最大的合约交易所,在 312 极端行情期间曾宕机一个半小时,却借此间接阻止了市场进一步暴跌,因而被许多人戏称是在“拯救行业”。
客观来说,Chainlink 的情况与 BitMEX 还是有所不同,其只是在正常执行自己的「CEXs + DEXs」加权报价逻辑。虽然在部分用户来看,采用 CEXs 作为报价源之一在 DeFi 世界内显得不那么 decentralized,但就目前的市场状况来看,CEXs 较 DEXs 依然有着更全面、更稳定的报价(尤其是对山寨币),至少这一次,来自 CEXs 的报价或许拯救了行业。