以太坊两个客户端Parity和Geth在处理交易方式的细微差异导致同时出现两个链,影响了交易的正常进行。与几年前比特币的偶然事件如出一辙。为此Parity和Geth已经在商讨解决方案,可能会出现交易回滚。但是无论如何在系统修复前,最好停止交易。
翻译:Annie_Xu
本月24日伦敦时间下午三点,以太坊两个主要客户端Parity和Geth突然出现不同步情况,意外地造成两个链并行的状况。用户,尤其是交易所不得不终止交易,或者等待多次审核确认,直到问题解决。开发者立刻采取紧急处理措施,共同商讨解决方案。
Geth开发员Nick Johnson说:
“根本原因是出现了状态清除的极端情况;如果某个空账‘被人动过’,一般会被删除;但是在该指令缺少‘汽油’(区块链交易中代码运行步数相对应需要支付的货币)的情况下,Geth还是将其删除;而Parity并没有删除”。
EIP(Ethereum Improvement Proposals,以太坊改进提议)没有明确指出哪种做法是对的;只是大家一致认可Parity更合理。只能说标准和共识测试的欠缺是不幸的过失。
目前Geth的解决方案是用补丁修复,使其与Parity同步。预计方案很快就可以完成。
Parity Technologies创始人Gavin Wood说,Geth有漏洞,就是说”一半挖矿网络采用不完善的Geth,另一半用完好的Parity。Parity会继续这样不改变“,但是使用Geth的交易可能需要回滚了。
对此Johnson说:
”Geth的分叉会被视为非常规,因此会被放弃。大多数交易会保存在分叉上,所以大多数用户并不用担心回滚的问题。主要问题是与其他系统交互的时候,可能出现交易最终性的问题,比如说交易所是否会承认该笔存款并兑换成法币“。
Wood说,Geth会修复,”主链会继续正常运行“,只是建议大家谨慎一点,因为以太坊区块链的运行环境已经变了。
这个情形与2013年和2015年比特币分叉类似。都是系统升级的漏洞意外导致出现两个链。之后挖矿在两个链上进行,最后所有交易回滚到一条链,另一条就被放弃了。
以太坊同样是升级造成的。两天前为了修复某些漏洞,以太坊进行优化;但是两个客户端操作的差异还是导致网络分叉。
因此使用Geth客户端的用户最好等待解决方案出来才继续交易。
转自:
http://chainb.com/?P=Cont&id=2815