以太坊钱包爆漏洞比特币却从无类似问题

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

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

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

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

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

  践中要谨慎渐行4、在应用实。块链智能合约时在实际应用区,推进的策略应采用分步,到复杂从简单,点到全面推广从小范围试,也应从少到多涉及的资金量,大量的资金不贸然涉及。此如,现漏洞被攻击即便在前期出,失过于巨大也不会损。

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

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

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

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

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

  强调的是但需要,坊区块链本身的漏洞这种漏洞不是以太,的安全性产生不必要的怀疑人们不应对以太坊和区块链。的应用带来严重的负面影响此次事件也不会对区块链,将来还会发生类似的事件,块链技术的末日这并不意味着区。

  上的非图灵完备性比特币由于其设计,减了许多脚本指令加上中本聪大幅删,性是极高的所以其安全,至今8年多的时间里从2009年诞生,数次的黑客攻击平安经历了无,本身的原因出现过资金损失从未因比特币区块链和脚本。

  然当,员应吸取教训区块链从业人,类似的安全事故以尽可能减少。者看来在笔,的设计与编码实践中在区块链和智能合约,以下几点需做到:

  而然,全性是一对永恒的矛盾功能上的丰富性和安,能兼顾不可,块链脚本语言时因此在设计区,使用通用的编程语言尽量不要为了功能而,能上有所取舍要在语言的功,可用指令集采用最小,计上要采用沙盒等隔离手段同时在智能合约虚拟机的设,L指令的使用方式并严格限制CAL。

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

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

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

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

  合同文本一样和现实中的,多层次的严格的代码审查智能合约代码也要经过,尽的测试流程、安全性检测、专家评审等包括业务流程/逻辑审查、代码走查、详。较大资金的智能合约对逻辑复杂且涉及,代码形式化验证要尽可能通过,验证智能合约的确定性通过数学证明的方式。

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

  看与传统的编程语言极其相似虽然智能合约编程语言表面上,全新的编程范式但其属于一个,对象、面向函数的编程范式有很大差异思维方式也与传统的面向过程、面向,概念加入智能合约的设计和编码中需要将公平交易、诚信和其他主观。此为,程序员的培训工作要加强智能合约,合约编程和设计模式在实践中提炼出智能,方面的模式尤其是安全,现差错的可能减少程序员出。

分享: