INT:DeFi YAM,一行代码如何蒸发数亿美元?

本文来源:慢雾科技

作者:?yudan@?慢雾安全团队

前言

整个事件的分析如上图,由于?rebase?的时候取的是上一次的totalSupply的值,所以计算错误的totalSupply的值并不会立即通过mint作用到initSupply上,所以在下一次rebase?前,社区仍有机会挽回这个错误,减少损失。但是一旦下一次?rebase?执行,整个失误将会变得无法挽回。

通过查询Etherscan上YAM代币合约的相关信息,可以看到totalSupply已经到了一个非常大的值,而initSupply还未受到影响。

前车之鉴

这次事件中官方已经给出了具体的修复方案,这里不再赘述。这次的事件充分暴露了未经审计DeFi合约中隐藏的巨大风险,虽然YAM开发者已经在Github中表明YAM合约的很多代码是参考了经过充分审计的DeFi项目如Compound、Ampleforth、Synthetix及YEarn/YFI,但是仍无可避免地发生了意料之外的风险。

DeFi项目YamFinance核心开发者belmore在推特上表示:“对不起,大家。我失败了。谢谢你们今天的大力支持。我太难过了。”,但是覆水已经难收,在此,慢雾安全团队给出如下建议:

1、由于DeFi合约的高度复杂性,任何DeFi项目都需在经过专业的安全团队充分审计后再进行上线,降低合约发生意外的风险?。审计可联系慢雾安全团队

2、项目中去中心化治理应循序渐进,在项目开始阶段,需要设置适当的权限以防发生黑天鹅事件。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:15ms0-0:861ms