以太坊分叉在早些时候就已经开始执行了,但是这并不意味这开发者可以明确表示这次系统的更新已经完成。
作为世界上第二大区块链的大改变之一,以太坊硬分叉是一个有风险且复杂的过程。为了成功完成这次转变,所有节点(运行系统的电脑)都需要安装更新–在全球化平台上同时发生的一次以太坊系统的转变。但是,对于拜占庭分叉这件事,其实并不完全是像它发生的那样。
由于软件更新是在硬分叉前几天才发布,相当大一部分网络还没有做出相应地改变。其实,最受欢迎的以太坊客户端Parity钱包有25.1%更新,Geth钱包有58.4%已经更新了,意味着仅有大约45%的网络会运行新的系统。这么短的测试时间也会造成其他的影响,比如说:如果失效导致网络发生DoS攻击,或者造成节点之间不兼容,软件之前的迭代会被撤销,最终导致网络分裂。
因此,有些人会怀疑是否使用以太坊是否还是安全的,根据现在事态的发展,这仍然是个问题。举例来说,市面上有几类软件客户端错误,而且有几个甚至有“共识缺陷”,这类问题会导致无意中创建多个以太坊区块链。
因为这个原因,以太坊主要的开发者Gavin Wood告诉CoinDesk说他想“警告”目前任何以太坊有关的大型项目参与者,请等到这次更新完全稳定。
风险依旧存在
除了已经更新的故障节点,在现有的拜占庭系统中依旧有可能存在安全隐患。这些隐患中最主要和频繁的共识隐患(如上文所说),当节点不能沟通时区块链会分裂成不相容的链,隐患就会发生。软件开发人员正在运行测试来尝试找出这些风险,希望可以在他们激活之前找到它们。
根据Wood所说,如果网络中确实存在这个缺陷,那么其实在它出现之前还需要一段时间。Wood说:“我不认为任何人相信以太坊网络会在区块4,370,000上自燃。”
而且,如果真的存在问题,接下来几天情况就会变得明朗很多。
如果这种情况真的发生了,Wood很自信开发团队可以很快地发放调试软件来解决漏洞问题,从而避免对整个以太系统有过度的损害。 尽管现在系统的缺陷已经出现,以太坊首席软件安全开发人员Martin Holst Swende表明其实不用担心。
如果由于运行旧版本的系统导致共识分叉发生了,他确定地说: “他们会很容易地从链上脱落,然后系统进行调查并更新客户端。”
当然,以太坊不会再监测这些节点,所以如果真的有缺陷出现,他是不会在任何一个区块链浏览器上可见的。并且,这些缺陷会真的用在旧的系统上吗?我们也许不太可能听到这些消息,除了Holst Swende所说的“Reddit论坛上的那些噪音。”
学到的经验
但是,据以太坊创始人Vitalik Buterin在一次线上论坛上所说,还需要1-2个月时间的进一步测试来确保我们可以认为拜占庭分叉是完全安全的。
也许像以太坊这样的系统要有如此重大的改变是一段很长的过程,但是这并不是说在发行之前没有经过很严格的安全测试。以太坊开发人员Afir Schoedon在Reddit论坛上说,拜占庭的代码在硬分叉前几个星期就已经完成了,其实在这些代码缺陷被发现之前,就已经基本上通过所有的安全检查。
以太坊有着一系列安全审查过程,但是在运用自动化检测系统“fuzzer”之前却没有足够的网络连接时间,fuzzer系统可以找出最微小的代码缺陷。
这是以太坊新的安全检测方案,根据代码开发人员Peter Szilagyi解释道:“需要进一步的磨合和努力来使得它能成为工作流程的一部分。”他继续说道:“fuzzer会在下一次分叉准备中成为一个更加有机化的组成部分。”
Fuzzer现在正在运行来确保拜占庭分叉的安全性,而且目前来看,硬分叉后还没有发现代码错误。虽然这次的经验已经使得一些开发人员 断定地说,在未来需要更为小心的更新代码,以太坊团队看起来好像并没有重新审视他们对区块链更新较为激进的行为。
就像Schoedon 所说 :“我们从未来的硬分叉学到经验,也许未来我们只是在所有客户端都准备好实施了,决定一个区块代码而已。”