一朝跌落云端,Yam Finance智能合约漏洞事件详解
今日DeFi领域再次发生一起魔幻事件,呼声极高的红薯项目一经上线,流动性矿工们就开始疯狂涌入。短短8个小时内,Yam Finance中锁仓总价值就超过2亿美元。COMP挖矿带动了DeFi产业出圈,而YAM直接带动了DeFi头部项目集体上涨,堪称“一飞冲天”。 然而短短36小时内,眼见它高楼起,高楼塌。数亿美元因为一个小小的漏洞,消失于无形。本以为反应迟钝的自己损失了一个亿,没想到保住了自己的五块钱。 好好的小红薯,究竟承受了什么? 事件背景 8月12日,YAM Finance官方宣布他们发现了一个智能合约漏洞,并称该漏洞将生成超出最初设定数量的YAM代币。在这种情况下,大量的保留代币将造成治理操作所需的代币数量过大。这意味着社区将来将没有足够的代币来执行任何治理操作。 智能合约漏洞出现在哪里? 该漏洞发生在YAM项目智能合约YAM.sol的rebase功能上,如下图所示: 上图中的rebase功能应该执行rebase,以保持稳定的价格。但是,有一行代码(已标注蓝色)在计算totalSupply时,给出了错误的结果,这会导致系统保留的代币数量过多。 这行代码的正确代码/计算方程形式应类似于以下代码/方程: totalSupply =initSupply.mul(yamsScalingFactor).div(BASE); 那么是否可以在截止日期之前通过治理操作来修复此漏洞? 第二次调整是在美国东部时间8月13日凌晨4点。 YAM Finance公开宣布,在美东时间凌晨3点之前,他们需要约16万YAM委托要求才能提交治理提案。如果在投票窗口中得到的委托超过40万YAM,则该提案将允许用户将YAM自行转移或存入储备池。 有一个好消息是,YAM获得了其社区的大力支持,并且该提案已成功提交。但是,新提交的提案无法在智能合约中运行,所以YAM目前依旧是一个不可管理的状态。 YAM的现状 YAM Finance目前已经失去了治理能力,75%的流动资金已经从YAM / yCRV未拨出资金池中移出。但是,其余的流动资金将从储备库中删除。 据官方消息,Gate.io将为YAM Gitcoin捐赠,捐赠资金将被用于对YAM合约进行审计。审计完成后,YAM合约将迁移到YAM2.0。 (编辑:源码门户网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |