专家:SMT、BEC所犯错误很低级,影响有限

近日基于以太坊的ERC20代币连续爆出智能合约安全漏洞问题。

4月22日,BEC合约爆出出现重大漏洞,攻击者可无限生成代币。4月25日,火币Pro得到SMT项目方反馈当日凌晨发现其交易存在异常问题,经初步排查,SMT的以太坊智能合约存在漏洞。火币Pro决定暂停所有币种的充提币业务。

另据慢雾区透露,SMT的安全漏洞与前几天爆出的BEC代币类似。

这一安全漏洞有多严重?会在多大程度上影响数字货币行情?币世界独家采访了多位知名业内专业人士。

YEE创始人、前百度移动安全总经理张磊向币世界透露,他们第一时间查阅了BEC、SMT的代码,发现BEC的合约漏洞是BatchTransfer漏洞中的数据溢出,SMT的合约漏洞是代理转账逻辑中没有进行大数保护,造成大数溢出,这两个问题的根本原因是没有使用library SafeMath,使用了普通的加减乘除。

BEC智能合约代码使用了普通的减法

SMT智能合约代码使用了普通的加法

正确的方式应该是用library SafeMath函数来完成智能合约代码,这样可以保证智能合约代码的安全稳定。

YEE区块链团队指出,现在发现的漏洞中有很多代码是因为直接使用普通的加减乘除符合,同时缺少溢出判断,这就造成数据溢出的隐患,而使用library SafeMath可以彻底解决数据溢出的问题。

因此,解决方案也很简单,彻查智能合约代码,把“+”“-”“*”“/”换成library SafeMath,这可以彻底解决数据溢出的问题。

腾讯区块链技术专家屠海涛也对币世界独家表示,像BEC的安全漏洞是很低级的错误,传统金融机构都会做很多合约安全审计,这说明数字货币在合约安全审计这块做的还是不够好。

他表示,安全漏洞分两类,一种是公链本身的系统漏洞,以太坊以前也发生过,系统级漏洞是最危险的;一种是某个代币安全漏洞问题。如果代币在交易所上市,黑客把通过漏洞“增发”的代币转移到交易所换成其他数字货币比如ETH、BTC,就会间接对其他数字货币产生影响。如果交易所及时停止充提,影响就很小,只是个别币种受影响。

张磊表示,这些漏洞对BEC和SMT这两个币的影响至少是致命的,但对后面的从业者来说,解决方案其实比较简单,只要认真点,彻查智能合约代码,就能解决。从整体来看,可能短期会对整个虚拟货币市场造成恐慌,但长期来看,仍然坚信投资者会回归到价值投资。

币市行情也正是如此表现的,BTC在中午11时左右放量下挫,最低跌至9200美元,但市场消化恐慌消息后,随即又短时拉升至9400美元以上,截至发稿,币世界行情显示,BTC暂报9467美元。

更多精彩资讯,点击下载币世界APP

编辑:THC

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180425A13K7900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券