智库首页>苏宁金融研究院
以太坊钱包爆严重漏洞 为何比特币从无类似问题?
2017-08-08 16:13:58作者:​洪蜀宁 来源:苏宁金融研究院

北京时间2017年7月20日凌晨,以太坊钱包Parity爆出极其严重的漏洞,导致15万个以太币(价值约3200万美元)被盗。

该漏洞是由Parity钱包的多重签名智能合约代码造成的,其他钱包尚未发现该漏洞。黑客反复调用了Parity钱包的enhanced-wallet.sol文件中的initMultiowned和initDayLimit两个智能合约,这两个初始化代码按理说只允许调用一次,但代码实现时未做限制,导致了资金被非法转移。

截至笔者发稿时,Parity官方正在处理这个漏洞,但还未正式修复,所以建议所有使用多重签名协议的客户将全部资金转出,待漏洞修复后再转回来。

Parity钱包被盗对以太币影响几何?

Parity是目前以太坊使用最广泛的钱包之一,这次被盗事件与2016年6月份发生的the DAO事件相类似。The DAO事件也是由于智能合约代码的漏洞导致350万个以太币(当时价值5000万美元,如果以目前价格计算则为7亿多美元)被盗。

The DAO事件发生后,以太坊创始人Vitalik Buterin提议修改以太坊代码,对以太坊区块链实施硬分叉,将黑客盗取资金的交易记录回滚,得到了社区大部分矿工的支持,但也遭到了少数人的强烈反对。最终坚持不同意回滚的少数矿工们将他们挖出的区块链命名为Ethereum Classic(以太坊经典,简称ETC),导致了以太坊社区的分裂。

但本次Parity事件发生后,Vitalik Buterin迅速表示,因被盗取资金并非巨量,不考虑像上次那样实施硬分叉回滚交易。因而,以太币的价格在事件发生后并未大幅下跌,目前以太坊ETH的价格为213美元,以太坊经典ETC的价格为15美元。

什么是智能合约?

以太坊诞生于2014年,是继比特币之后又一个成功的区块链项目,目前市值约200亿美元,仅次于比特币(约400亿美元)。

以太坊在比特币的基础上发展了区块链技术,维护了一个全球共享的计算平台,实现了图灵完备的虚拟机EVM,试图通过图灵完备的智能合约实现灵活、安全、全功能的计算。

而比特币的设计初衷是一个电子现金系统,其内置的脚本语言是专为资金转账交易而设计的,为了确保安全性故意放弃了图灵完备性(没有跳转、循环指令),因而仅仅是一个全球共享账本而非计算平台。

以太坊实现了一个内置了多种编程语言的区块链协议,这些编程语言都是图灵完备的,可以支持条件分支、循环、跳转、函数调用等复杂的运算逻辑,理论上可以在以太坊区块链上运行任意的应用。

具体来说,作为在以太坊区块链上运行的某个应用,可以由程序员根据业务需要,用以太坊支持的编程语言自行设计编写代码,而不用为了一个应用去运行一个单独的区块链。基于以太坊区块链协议,使得应用开发者们可以高效快速地开发各式各样的应用程序。这样的程序被称为智能合约,智能合约代码发布到区块链上之后,能够无需中介的参与在以太坊区块链上自动执行,没有人可以阻止它的运行。

目前在以太坊上运行的智能合约已有数百种之多,Parity和the DAO都是其中之一。

受到以太坊的启发,近年来出现了许多类似的项目,如Fabric、QTUM等,从不同的角度和层面对以太坊进行局部优化,但总体思路都是差不多的,核心都是图灵完备的智能合约。

如何防范智能合约漏洞的产生?

值得注意的是,此次Parity事件的损失虽然比the DAO事件小一些,但问题的根源是同样的。

随着智能合约开始获得越来越多的使用,智能合约的流程和代码也变得越来越复杂,人们也发现,就像现实世界的合同一样,如果没有认真审核的话,在设计和编码过程中难以避免人工失误的产生,一旦被黑客找到漏洞,损失往往是巨大的。

*文章为作者独立观点,不代表中国经营网立场。

苏宁金融研究院

苏宁金融研究院是苏宁金服集团旗下的大型专业研究机构,通过整合苏宁控股集团内部资源,与政府、同业、高校、智库等机构广泛合作,为政府、企业和第三方提供定制化研究咨询服务,定期发布专题研究报告,着重于国内消费金融、贸易金融、互联网金融和产业金融等研究领域。