首发 | 一朝跌落云端 Yam Financial智能合约漏洞事件分析 ?_ANC:SheepSwap Finance

红薯刚种下,就得挖出来了?

今日DeFi领域再次发生一起魔幻事件,呼声极高的红薯项目一经上线,流动性矿工们就开始疯狂涌入。短短8个小时内,YamFinance中锁仓总价值就超过2亿美元。COMP挖矿带动了DeFi产业出圈,而YAM直接带动了DeFi头部项目集体上涨,堪称“一飞冲天”。

然而短短36小时内,眼见它高楼起,高楼塌。数亿美元因为一个小小的漏洞,消失于无形。本以为反应迟钝的自己损失了一个亿,没想到保住了自己的五块钱。

好好的小红薯,究竟承受了什么?

首发 | 火币集团全球业务副总裁:监管将决定区块链技术和加密货币的落地速度:1月21日,火币集团全球业务副总裁Ciara Sun在达沃斯世界经济论坛上表示,对区块链和数字货币的监管态度,2019年是重要的一年。在美国,到2019年底,针对加密货币和区块链政策有21项法案,这些法案包括税收问题,监管结构,跟踪功能和ETF批准,哪些联邦机构监管数字资产等。欧盟(EU)在2020年1月10日实施了一项新法律,要求加密货币平台采取更严格的反做法。瑞士,日本,立陶宛,马耳他和墨西哥通过法律,要求交易所必须根据KYC和AML准则获得许可。中国,土耳其,泰国等国家正在计划自己的中央银行数字货币(CBDC)。而监管将决定区块链技术和加密货币的落地速度。[2020/1/22]

事件背景

首发 | 《一起来捉妖》中玩家达到22级将会接触到专属猫的玩法 ?:今日腾讯上线首款区块链游戏《一起来捉妖》,经金色财经查证,游戏中玩家达到22级将会接触到专属猫的玩法,而非此前官方对外宣称的15级。除了诱猫铃铛召唤出的0代猫以及部分通过运营活动奖励的专属猫以外,游戏中所有的猫默认都是未上链状态。未上链的猫不能出售,也无法进入市场与其他玩家配对;但是你可以使用这些猫与你的QQ/微信好友进行配对,产出新的小猫。使用道具“天书笔”可以将你的猫记录到区块链。当猫被记录到区块链以后,这些猫就可以进入市场,通过配对赚取点券,或者出售赚取点券。专属猫是否上链,并不影响它的增益效果。但只有上链后,它才能面对全服务器所有的玩家进行繁殖、交易。

?

《一起来捉妖》中的专属猫玩法,基于腾讯区块链技术,游戏中的虚拟数字资产得到有效保护。此外,基于腾讯区块链技术,猫也可以自由繁殖,并且运用区块链技术存储、永不消失。[2019/4/11]

8月12日,YAMFinance官方宣布他们发现了一个智能合约漏洞,并称该漏洞将生成超出最初设定数量的YAM代币。在这种情况下,大量的保留代币将造成治理操作所需的代币数量过大。这意味着社区将来将没有足够的代币来执行任何治理操作。

金色首发 EOS超级节点竞选投票率达6.49%:金色财经数据播报,截止北京时间6月13日15:50,EOS投票率达6.49%。EOS引力区和EOS佳能作为两个来自中国的超级节点竞选团队暂居第五和第六名。其中EOS引力区的得票总数为903万,占比2.96%;EOS佳能的得票总数为877万,占比2.87%。此前异军突起的EOSflytomars暂居第17位,得票总数为630万,占比2.07%。目前跻身前30名的超级节点竞选团队中,有八个团队来自中国。[2018/6/13]

智能合约漏洞出现在哪里?

该漏洞发生在YAM项目智能合约YAM.sol的rebase功能上,如下图所示:

图片来源:?

https://github.com/yam-finance/yam-protocol/blob/767e3a4a6918b6fb6100ad6bb356164408f5d82f/contracts/token/YAM.sol#L340

上图中的rebase功能应该执行rebase,以保持稳定的价格。但是,有一行代码在计算totalSupply时,给出了错误的结果,这会导致系统保留的代币数量过多。

这行代码的正确代码/计算方程形式应类似于以下代码/方程:

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

那么是否可以在截止日期之前通过治理操作来修复此漏洞?

第二次调整是在美国东部时间8月13日凌晨4点。

YAMFinance公开宣布,在美东时间凌晨3点之前,他们需要约16万YAM委托要求才能提交治理提案。如果在投票窗口中得到的委托超过40万YAM,则该提案将允许用户将YAM自行转移或存入储备池。?

有一个好消息是,YAM获得了其社区的大力支持,并且该提案已成功提交。但是,新提交的提案无法在智能合约中运行,所以YAM目前依旧是一个不可管理的状态。

YAM的现状

YAMFinance目前已经失去了治理能力,75%的流动资金已经从YAM/yCRV未拨出资金池中移出。但是,其余的流动资金将从储备库中删除。

据官方消息,Gate.io将为YAMGitcoin捐赠,捐赠资金将被用于对YAM合约进行审计。审计完成后,YAM合约将迁移到YAM2.0。

如何避免?

CertiK安全团队强烈建议:

所有区块链项目在正式发布之前不仅需要使用严格的软件测试工具来验证项目的代码安全性,更是应该邀请多个第三方区块链安全团队,做好对区块链项目中代码的验证审计工作,并在每次更新代码后进行重新审计。从而设计一个更好的项目管理系统,以备进行项目紧急更新的需求。

我们绝不仅仅是寻找漏洞,而是要消除哪怕只有0.00000001%被攻击的可能性。

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

金智博客

[0:78ms0-3:873ms