一行错误代码:4亿美元没了,区块链项目上线几天就也关闭了

原创
2020/09/27 16:30
阅读数 22

码农那点事儿

关注我们,一起学习进步



YAM:不到一天就吸引了4亿美元的表情符号。


而一天之后,2020 年 8 月 13 日,知名以太坊 DeFi 项目 YAM 官方通过 Twitter 发文表明发现合约中存在漏洞,24 小时内价格暴跌 99% 。

在创建者透露软件错误实际上否决社区治理后,问世才仅两天的去中心化加密货币:YAM于周三崩盘。


YAM项目在周四的帖子中解释道:“8月12日周三下午6点左右,我们发现了YAM弹性供应调整(rebasing)合约中的一个错误,这会导致生成的YAM比原定出售给Uniswap YAM/yCRV池的YAM多得多,因而将大量多余的YAM发送到协议reserve。


“鉴于YAM的治理模块,该错误将使其无法达到法定人数,这意味着将无法采取治理行动,而且资金库中的资金将被锁定。”

错误来自这一行的代码:

totalSupply = initSupply.mul(yamsScalingFactor);

本应该是:

totalSupply = initSupply.mul(yamsScalingFactor).div(BASE);


YAM是一个去中心化融资试验性项目,它基于假定的智能合约(根据资产分配投票)实施治理系统(用于更改协议变化)。加密货币公司Summa的创始人James Prestwich解释道:“分配逻辑中的一个错误导致合约生成的代币远远超出了预期的数量。”


一个错误导致合约生成的代币远远超出了预期的数量 的 10^18的倍。

这些代币归治理合约本身所有,因此无法投票。由于它们存在且无法投票,因此不可能达到选民参与的最低标准。这意味着治理被永久禁用,智能合约持有的所有其他代币则被永久锁住。


该代码错误把价值约75万美元的Curve(yCRV)代币锁在了YAM资金库中,这些资产原本用作储备货币,以支持YAM代币的价值。


YAM的创建者坚持认为,该错误并没有直接影响所谓的质押(staking)合约中的YAM余额或资产,质押合约将加密货币锁定一段时间以换取一些报酬。不过虽经再三努力,还是无法重新获得对YAM资金的控制权,Yam Finance的联合创始人Brock Elmore在推特上表示道歉。


由于没有一线希望能重新控制YAM监管体系,其代币(周三达到了183.44美元的理论价值)暴跌至区区1.04美元。该项目目前流通的YAM代币近2900万个,昨天的市值一度高达约5.25亿美元。如果您能找到YAM买家,其价值似乎仍在2900万美元左右。


加密货币投资者似乎并非没有可能预料到这种情况的出现。该项目的GitHub存储库明确声明并没有对代码进行审核。项目的README.md文件解释道:“贡献者已尽最大努力确保这些合约的安全性,但做不了任何保证。仅凭几双肉眼对它进行了现场检查。因而很有可能存在错误。”


访客访问时,关联网站yam.finance也会加载弹出警告。Prestwich:“该错误很可能被外部的深入审查或审核所发现。”他表示,这个项目之所以引起了关注,是由于创建者动用了与加密货币界颇有影响力的人士之间的关系。“基于行业标准的测试做法无疑本可以发现该错误。”


YAM Finance并没有因最初的失败而气馁,旨在再尝试一下。


这家加密货币公司周四在事后分析报告中表示:“我们将设立Gitcoin grant,以协调社区出资审核YAM合约的工作。如果实现了资金目标,一旦完成审核,我们计划通过来自YAM的迁移合约来支持发布YAM 2.0的工作。” 

end



● 后台回复【网页特效】,免费获取网页制作特效源码!


推荐阅读 点击标题可跳转


干货 | 绿色破解资源站分享
GitHub宣布已将所有代码永久封存于北极地底1000年!网友炸锅了:我写的bug终于能流传永世了!
JS实现滑动拖动验证码功能的代码
神了!竟然用一个脚本就把系统升级到https了,且永久免费
jQuery模仿百度登录滑动图片角度转正代码  
 
          
          

   


支持就点下在看 转发朋友圈吧

本文分享自微信公众号 - 码农那点事儿(code_ndsh_2018)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部