1.本次FTN暂停交易的原因
FTN的智能合约代码存在安全漏洞。FTN智能合约中的 batchTransfer 批量转账函数存在漏洞,攻击者可传入很大的 value 数值,使 cnt *value 后超过 unit256 的最大值使其溢出导致 amount 变为 0。
简单的说,FTN的某一段代码忘记使用safeMath方法,导致系统产生了整数溢出漏洞,利用该漏洞,黑客通过转账手段生成大量原本合约中不存在的代币,并将这些“无中生有”的代币在市场进行抛售。
etherscan.io截图2.本次事件的剧情梗概
黑客在12月26日23:23:24通过合约漏洞获取到了大量的FTN,并在短时间内转出七百多万FTN,其中部分流到交易所,导致交易所FTN被砸到归零。
Fountain在12月27日00:41:14执行了下图所示代码,将智能合约暂停一年。
因为当天睡得很晚,所以我在凌晨1点多接近2点的时候,在满币交易所买到了一万个7分钱的FTN,而等我再次想要交易时,已经找不到FTN交易对了。
于是我们可以知道,凌晨2点,满币交易所关闭了FTN交易。
凌晨3点45分,Fountain发布文章《关于FTN异常交易及暂停交易的公告》。
12月27日12:19,Fountain发布文章《【公告】关于暂停FTN交易对的说明》。
12月27日17:46,Fountain发布文章《关于FTN恢复交易的公告》。
12月28日16:12,Fountain发布文章《关于恢复FTN及在线交易的公告》,同时,CoinTiger币虎交易所恢复FTN充提币及交易功能。
12月28日18:00,CoinBene满币交易所恢复FTN充提币及交易功能。
至此,从发生问题,到解决问题,总共耗时42小时。
3.看法
首先,本次事件的发生可以说是极不应该的,因为相同的事件在今年上半年已经发生过了。2018年4月22日,BEC就是因为同样的原因导致市值几乎归零。
其次,在本次事件中,因为Fountain项目组发现问题很及时,处理问题很果断,两家合作交易所也很配合,所以没有造成更大范围的影响,这点是值得夸奖和肯定的。(经过蜗牛的大致估算,从黑客账户地址中流出来的FTN数量大约是一百多万,这可能也是Fountain敢于自己承担损失的原因吧)
最后,希望简书和Fountain更加重视安全问题。不只是合约代码漏洞,服务器的安全,简书账户的安全,都是需要重视起来的问题,毕竟现在已经和钱挂钩了。
最后的最后,蜗牛和几个朋友建了一个简书钻交流群,大家一起讨论关于简书钻的各种资讯和变化,感兴趣的朋友可以扫码进来。
网友评论