OKCoin

以太坊曝新漏洞,智能合约被打回原型

隔夜的粥 发布在 竞争币 2 3893

一般来说,软件中存在着漏洞是很常见的事,但如果发生在以太坊(ethereum)身上,却是一件非常棘手的事情。

本周,以太坊编程语言Solidity被曝存在漏洞,其已经影响了一些特定的智能合约,而且,大多数受影响的合约将无法被拆除或更改掉。

总之,去中心化智能合约(不能被一个拥有者控制的合约)的拥有者对这种漏洞感到无能无力。

bugs

在这一漏洞报告发布后的两天,开发者便推出了0.4.4. 修复版Solidity编程语言,但这一漏洞影响了一些地址及在这些合约中的数据类型,因此导致 合约拥有者无法进行升级。

好消息是,这一漏洞可能不会影响到很多智能合约。

Solidity语言创造者Christian Reitwiessner告诉记者,他对每一个列在etherscan上的程序进行了“半自动”分析,发现在12,000 个合约当中,只有4个是可用的。

Reitwiessner表示,这些合约当中并没有以太币,因此它们可能是用于测试目的。但值得注意的是,并不是所有的合约都会显示在etherscan上。(当前以太坊共计有20多万个合约,很难说剩下的合约资金都是安全的)。

总体而言,相比于The DAO项目身上出现的漏洞来说,当前的漏洞只能称的上是一个小的缺陷。然而,它也在加密货币圈内引起了大量的讨论。

例如,一位社交媒体观察家表示,这一漏洞可能是智能合约潜在漏洞问题的冰山一角。

解决这一问题的一个激进的想法,是让以太坊合约在近期内进行升级,好让合约拥有者可停用或更改掉这些出现问题的合约。但令人担心的是,这样做可能意味着剥夺了以太坊的去中心化特性。

新加坡国立大学的博士生Loi Luu说,如果以太坊用户能够学会如何以去中心化的方式,安全地部署智能合约,这将是更好地选择。

Luu说:

“我个人并不认为它是一个好主意,它基本上违背了智能合约的一切设计。如果以太坊是一个测试网络,那就让它的智能合约失败,让人们从中学习到教训。”

但Luu的言论表明,让所有的合约进行升级,可能并不是一个好主意,尤其是以太坊还是一个新的技术。

 

修复问题

 

使用以太坊高级语言(例如 Solidity或Serpent)编写的程序,在被添加到区块链之前会被编译成字节代码。而在这里发生的问题,就是发生在编译技术身上。

为了解决这一问题,Reitweissner建议开发者做两件事。一、如果编译一个新合约,开发者需要升级到新版本的Solidity语言,以避免这个漏洞。

而第二种方法则显得更为奇怪,因为它需要升级或重启你已部署的合约,而这种方案,可能没有人会选择在以太坊这类项目身上使用。

Reitwiessner阐述了一个建议,他提出了两种类型的合约:中心化控制的,以及去中心化的,其中没有人拥有“特权”。

第一种可能提供了一些升级机制,或一种方法来从合约中移除资金。

而第二种则是棘手的。另一方面,由于不可靠的以太坊智能合约一旦被部署,就无法被拆除或更改它们,如果开发者从一开始就没有使用一种中心化的智能合约,那么他们能够做的事情其实是很有限的。

然而,Reitwiessner表示,开发者可通过采用一些手段,来防范类似问题(像Solidity这样的)的发生。

“我对这类合约的建议是,要么让它们的运行时间变得短暂,以减少潜在影响的发生,要么对合约的字节码进行适当的分析。我们目前正在开发工具,帮助他们完成这一步工作,”他说。

 

展望未来

 

由于,以太坊原链(ETC)与ETH链采用的是同一套规则,其同样也受到了这一漏洞的影响。

但据其主要组织者Arvicco表示,开发者们正在探索开发一种新的编程语言,以避免更多漏洞的出现。

特别对于Solidity语言而言,如果出现另一个无法阻挡的漏洞,可能在今后会影响到其他智能合约。

Reitwiessner指出,在编译器上出现错误总是可能发生的,而Solidity或Serpent (以太坊其他的智能合约语言)还可能存在其他未被发现的漏洞。

然而,他指出,在超过两年的发展中,这是在智能合约语言中发现的首个严重漏洞。

发文时比特币标准价格 买价:¥5100.00 卖价:¥5090.00
原文:http://www.coindesk.com/ethereum-bug-sends-smart-contracts-back-drawing-board/
作者: Alyssa Hertig
编译:隔夜的粥
稿源(译):巴比特资讯(http://www.8btc.com/ethereum-Solidity-bug)
版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。

评论:2

您需要登录后才可以回复 登录|注册
    Author Image
    老王 36 天前

    这种企图做全世界区块链产业与数字货币母公司的设想本来就是一场儿戏,还不归零,真的是奇迹!快该到上演一次好好教育区块链与智能合约赌徒、科技迷信者、跟风投机者的时候了!拭目以待!

    +1
    +1
    我要点评
    Author Image
    王大锤子 37 天前

    还在部署合约的筒子吗,你们心咋那么大,万一又出个大漏洞,岂不完完了!

    +1
    +1
    我要点评