Author

Topic: 以太坊升级METROPOLIS版本前需要做什么 (Read 352 times)

member
Activity: 88
Merit: 10
牛逼啊
member
Activity: 74
Merit: 10
更新协议了
member
Activity: 74
Merit: 10
又要更新了?
member
Activity: 70
Merit: 10
转pos吧?
newbie
Activity: 34
Merit: 0
以太坊渡过难关,开始进入平台四步发展计划的第三阶段,继续奠定其所谓“世界计算机”的基础。

下阶段称为“Metropolis”,融合了各种看似随机的技术调整,但将是以太坊应用简化与升级的基础。

此次升级耗时比预期时间长。主要是因为去年未知攻击者对以太坊网络发起了拒绝服务攻击,中断了平台上正在进行的交易和项目。

然而最近开发者的会议记录显示项目进展仍在持续,一些团队即将完成调整部署,正在准备测试。

以太坊基金会(Ethereum Foundation)测试工程师Dimitry Khokhlov说,第三阶段开发大致完成一半。

那么还剩下什么要做的呢?


改进建议

首先开发者需要完成升级代码。尽管这个等待已久的版本不会包含很大变化,比如权益证明或分片,可是将综合大约10个以太坊改进提案(EIPs,Ethereum Improvement Proposals)。

这些EIPs旨在减少以太坊硬编码的功能数量,奠定“精简化”的基础。其目的很像以太坊本身的目的,让应用开发者有足够的自由设计空间。

比如EIP 86使用户或者app开发者按照自己喜欢的方式保护账户。

Ethcore发言人说,Rust语言编写的以太坊客户端Parity已经执行了10个EIPs中的七个,但是开发者需要就实际部署哪些调整方案达成共识,因此目前在等待更明确的指示。

这个“粗略的共识”方法在开源开发项目中很普遍。

Parity或Geth不会等待很久,因为这些项目已经接近完成。不过其他代码编写采用了不同的编程语言,包括python和C++。


复杂的流程

其中一个棘手部分是所有以太坊客户端的调整,无论它们使用了哪种编程语言。

以太坊基金会(Ethereum Foundation)的Khokhlov已经在使用Hive工具编写代码测试,以保证客户端正确执行调整的同时,所有客户端就共识层调整达成一致。这是因为如果客户端不遵循同样的规则,可能出现分裂成不同网络的意外情况(就像11月发生的)。

与之前Frontier和Homestead阶段的调整一样,此次升级为Metropolis需要进行“硬分叉”,也就是说没有升级为新区块链的节点或矿工将会落后。由于意外分叉的可能性,硬分叉争议获得了重视。

但是既然这个调整是以太坊的长期技术路线,一般认为此举不会引起分叉。

尽管如此,调整需要格外注意,Khokhlov也说:

“硬分叉过渡规则让我头疼”。
对Khokhlov来说,保证考虑到所有极端情况,保障用户以太币安全,有很多限制条件。

比如他必须确保只有“汽油限制”和交易签名正确,以及不同分叉对应的操作码行为不会打断运行的情况下,新分叉上的交易才可以运行。

“我们的调整越多,代码校验次数越多,校验的逻辑也越多。这就使代码更加繁复”。

潜在利益

但是当该说的和该做的都完成了,Metropolis升级可能带来更好的以太坊应用。



Stefan George

以太坊预测市场Gnosis首席技术官Stefan George说:

“更多的精简总是实现更大的灵活性”。
比如灵活性的提高可以让接收人或中间商,而不是app用户支付交易费。

这可以利用基于以太坊的应用程序给用户带来利益,比如笔记本。通常用户必须购买以太币才可以进行调整,比如增加或删除记录,但是Metropolis升级后,供应商可以支付费用,用户不用购买以太币就可以做出调整。

最终此举使以太坊协议更趋近于传统app商店的用户体验。

“我想如此使用以太坊服务,可以获得更多用户”。
George说,另一个Metropolis修改将有助于解决一些链下技术问题,给以太坊区块链主网络减少数据,改善网络的性能和可扩展性,同时不会影响用户的安全。

其适应性将再次使开发者控制应用设计。

就像Parity团队说的:

“Metropolis是完善协议,进行曾经不可行的用例的重要步骤”。
Jump to: