以太坊经典百科(以太坊爆重大安全漏洞 或可无限量增发)
以太坊(Ethereum)是一个开源的有智能合约功能的公共区块链平台。区块链上的所有用户都可以看到基于区块链的智能合约。但是,这会导致包括安全漏洞在内的所有漏洞都可见。近日,某安全机构透露,黑客利用以太坊存在的重大安全漏洞并进行攻击,可导致以太坊无限增发。
智能合约漏洞频现
如果智能合约开发者疏忽或者测试不充分,而造成智能合约的代码有漏洞的话,就非常容易被黑客利用并攻击。并且越是功能强大的智能合约,就越是逻辑复杂,也越容易出现逻辑上的漏洞。黑客利用了一个ERC223合约与DS-AUTH库的混合漏洞,重设了owner权限,进行了Token的增发。这个漏洞虽然比较隐秘,比特币期货但安全等级很高。
谨防亡羊补牢事件再次发生
目前漏洞已被修复,修复后的合约成功通过了第三方专业区块链安全机构的安全审计,合约安全威胁已解除。目前已知存在Solidity漏洞、短地址漏洞、交易顺序依赖、时间戳依赖、可重入攻击等漏洞,在调用合约时漏洞可能被利用,而智能合约部署后难以更新的特性也让漏洞的影响更加广泛持久。
总结
合约无小事,区块链合约的安全,仅依靠开发者的经验和能力并非万无一失。鉴于以太坊其运行时间还不到3年,如上漏洞可能只是其所有漏洞的冰山一角,为保证业务在区块链上安全可靠运行,保护数字资产的安全,采用以太坊做为区块链技术方案时必须对智能合约代码进行充分测试。
在笔者看来,在区块链和智能合约的设计与编码实践中,需做到以下几点:
- 简化区块链脚本语言设计,牺牲一部分图灵完备性换取安全性
- 严格执行智能合约代码审查
- 强化对智能合约程序员培训
- 在应用实践中要谨慎渐行
评论