在为 Yearn Finance 进行的一次例行代币交换中,脚本出现了故障,导致意外调换全部国库余额 近 380 万个流动性代币,即 lp-yCRVv2。
这些藏匿的资金被称为协议自有流动资金(POL),只属于 Yearn'Treasury,不涉及任何用户资金。
然而,"曲线 "游泳池受到了影响,出现了明显的滑坡,但不久之后就恢复了正常。
更复杂的是,这次交易包括近 78 万个 yvDAI 代币,根据交易期间流动性代币的现货价格计算,约 63% 的 LP 价值(约 140 万美元)因滑点而损失。
一切是如何发生的
这次事故的核心是 Yearn' 的关键产品 yCRV,该产品由流动性代币 lp-yCRVv2 形式的大量 POL 储备提供支持。
该代币实质上代表了 Yearn'pooled veCRV 头寸中的一个锁定 CRV。
此外,Yearn'金库还定期收到业绩费等流动性代币,这些代币通常会转换成稳定币用于日常运营。
出现故障的原因是,POL 的全部金额被错误地转移到了多位数交易账户中,被当作费用处理。
该多重标识执行了一个牛市交易 其中涉及 30 多份订单,包括一份交换全部流动性代币余额的订单。
这些订单在下达后不久就得到了执行。
有两个重大疏忽导致了这一失误:一是错误地将全部流动性代币余额转移到了交易多位元;二是脚本缺乏足够的输出检查,逻辑错误导致无法合理地设置交易规模上限。
单笔交易中超过 30 笔交易的复杂性增加了人工审核的难度。
事件发生后,套利机器人和市场参与者迅速纠正了被打乱的价格。
回顾事件
为防止此类事件再次发生, Yearn Finance 正在推出额外的保障措施。
首先,他们将 POL 基金分离出来,签订专门的管理人合同。
DeFi 平台还将在交易脚本上引入更易于理解的输出信息,以方便审查。
最后,他们将执行更严格的价格影响门槛。
在这起事件之前,Yearn Finance 曾被利用过,如 4 月份与早期 Yearn 版本(iearn)有关的 1160 万美元损失,以及 2 月份因其一个保险库被利用而造成的 1100 万美元损失。