加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 站长百科 > 正文

智能合约问题致区块链安全事件频发

发布时间:2018-09-29 15:32:12 所属栏目:站长百科 来源:猎云财经
导读:副标题#e# 腾讯上半年的报告统计,因区块链自身问题导致的损失达到12.5亿,其中智能合约的问题占了较大的比重。 9月13日晚,Armors Labs研究院院长刘鹏作为主讲嘉宾参与到猎云财经空中课堂第十四期的分享当中,本期课题:智能合约安全问题的分析与警示。 以

曾经BEC批量转账漏洞事件就是利用了没有使用安全函数计算乘法,导致计算机结果超出范围造成溢出事件,使判断条件成立,然后就可以进行大量的转账了,最终BEC蒸发了60多亿的市值,不仅仅是给投资者,也给项目方造成了极大的损失。

1000 (6)

1000 (7)

图中红框的地方是我们为了避免溢出漏洞而使用的安全数学函数。

在这种写法里,我们除了做正向计算外,还要做一次逆向计算,以保证运算结果可逆,这样的计算结果才是正确的。

也就是说做一个加法,我们计算a + b = c,安全函数在计算完之后一定要再计算一遍c >= a,这个结果成立,我们会认为这是一次有效的计算。虽然这样增加了计算量,但是由于智能合约部署以后不可变更并且不可升级的特性,我们牺牲一点点效率,换来的是安全正确的计算结果,也是值得的。

所以在投资的时候一定要找开源代码的来投,开源代码一定要检查是不是用了安全函数,但是要注意,有了安全函数,不代表用了安全函数。

前不久有这样一个案例合约,项目方定义了安全函数,但是只有个别地方使用了。Transfer的操作里面没有使用,这个时候我们给项目方提供了风险提示,项目方根据我们的指导,逐一将安全函数应用到位,最终才通过审核。

1000 (8)

1000 (9)

对于投资者来说,我们给出几点建议。

第一,合约没有开源的产品不要碰,风险太大;

第二,没有经过安全机构审计的产品不要碰,可能存在潜在问题;

第三,投资风险,要谨慎操作,不要贪心。

Armors Labs为了帮助项目方规避智能合约中的问题,提供了基于以太坊的开源标准库Armors Solidity和基于EOS的开源标准库Armors EOSCpp。这两个标准库可以帮助项目方在以太坊和EOS上快速开发自己的代币合约。使用标准库的代码,可以降低合约出问题的概率。在一定程度上,保障合约的安全。

我今天要分享的内容,就到这里,谢谢大家。

精彩问答:

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读