另一方面,1.0 将会继续进化到 1.x,这样以太坊的两条链在分别完成自己的任务之后,将开始合并。所以完整的 ETH2.0,既包括了宁静阶段的三个 Phase,也包括了当前 ETH1.x 的研发结果,直至合二为一。 目前的方案是,ETH1.x 作为 2.0 的一个分片链而被合并,状态则完全迁移到 2.0 上,这样现在的生态可以不受影响的直接迁移。 以太坊 1.x 肩负无状态以太坊的研发以太坊使用的是 MPT ( Merkle Patricia Trie)数据结构,但是随着区块的增加,其次存储数据量也在不断增加,以后势必造成状态爆炸的状态。 每一笔新的交易,都需要去遍历一遍 MPT 树,这对于扩展性来讲负担较重。所以无状态的概念被提了出来,就是当客户端节点可以不保存状态,但是仍然可以验证交易。而之前的状态通过状态见证者就可以得到实现。 所以在 1.x,将会出现有两类重要角色,一类是区块见证者(block proposer),包含了交易信息,和之前交易需要访问的所有状态和见证信息。另一类是状态见证者(state provider),保存了所有之前状态的信息,用以提供交易的验证。 新的角色需要新的激励,以太坊基金会研究员 Sam Wilson 及 Ansgar Dietrichs 一起探讨了状态见证者的三种激励模型,还比较早期,这里把三类模式的探讨列在此处: 除了无状态以太坊,开发者也讨论过状态租金的模式,以限制过于庞大的状态增长,但是开发者也讨论过状态租金的模式,但可能对现有的智能合约和 Dapp 影响较大(不交租金将导致合约停用),需要硬分叉实现,会引发较大争议,所以目前对状态租金的研究已经搁置,资源导向了还是无状态或者半无状态的开发。 简要而言,无状态以太坊的研究不仅是 1.x 的问题,最后也会变成以太坊 2.0 的的通用模式,以太坊基金会就认为未来以太坊 2.0 的分片链一定是无状态的。 以太坊 2.0 要解决的问题以太坊 2.0 有四个需要解决的问题:分叉选择、最终性、分片、验证者责任。并分别用不同的技术和制度手段去实现。 分叉选择-保证安全性以太坊 2.0 使用 LMD GHOST (「Latest Message Driven Greedy Heaviest-Observed Sub-Tree」) 作为分叉选择。这里面包含了两个协议:LMD 和 Ghost: Ghost 是一个在 PoW 链上就非常应用成熟的协议,是一种最长链的原则,和 BTC 上的最长链原则相比,Ghost 选择子树最多的协议,所以最长的链未必是 Ghost 所选的链。相比最长链原则,Ghost 原则可以做到:1 收敛;2 抗 51% 攻击;3 TPS 和最长链差不多,但是安全性没有下降。Ghost 协议也是目前以太坊 1.0 所使用的协议。 (责任编辑:admin) |