当前位置:首页数字货币Eth2.0 的三阶段路线图

Eth2.0 的三阶段路线图

在过去两年,广为流传的 Eth2.0 路线图规划了三个依次序实现的组件: Phase 0:以 PoS 为共识机制的信标链 Phase 1:多条分片链 Phase 2:为所有分片增加执行功能 从这一路线图可以清晰地看出,原来的以太坊 2.0 的目标是打造一个 “分片化执行(sharded exec

在过去两年,广为流传的 ETH2.0 路线图规划了三个依次序实现的组件:

  • Phase 0:以 PoS 为共识机制的信标链
  • Phase 1:多条分片链
  • Phase 2:为所有分片增加执行功能

从这一路线图可以清晰地看出,原来的以太坊 2.0 的目标是打造一个 “分片化执行(sharded execution)” 的系统,意思是:每个分片都有自己的状态,这些状态按各分片的状态转换规则来变更;变更后的状态由信标链来敲定;由此,以太坊 2.0 就成了一个多个分片可以并行处理交易的系统。这也意味着,以太坊 2.0 是一个 “共识” 和 “交易处理(验证)” 解耦的系统,被分配到各分片上的验证者负责验证交易和状态的正确性;但这些状态的敲定则依赖于信标链的 epoch 敲定机制,两个过程并不是完全同步的。

这种 “PoS 信标链 + 多分片” 的架构,似乎也非常好地利用了 PoS 算法本身的特点:为了解决 No-thing-at-stake 问题(PoS 出块不需要付出计算量,因此有资格出块的账户会尝试在不同的分叉上同时出块,使系统分崩离析),以太坊 2.0 所用的 Casper 算法要求用户先存入一部分押金才能获得出块资格,而如果验证者滥用了出块资格(比如同时支持两个分叉),则会被罚没押金;由此,像 Casper 这样的算法实际上在区块链上创造了两种可以相互沟通、但相互独立变更的状态:一种是普通用户的状态,另一种是验证者的出块权重状态;共识过程以出块权重状态为基础,达成共识也会更改出块权重状态;因此,共识过程先天独立于用户交易的验证,可以解耦;对任意的交易批次及结果状态而言,共识过程可以被抽象成一种 “终局性敲定机制”,逻辑上,多分片并行执行于是成为可能。

至于其可扩展性,以太坊分片技术的命名 “二次方分片(Quadratic sharding)” 透露了端倪:假设分片上的交易,其执行复杂性能够被化约到与区块头验证同样的难度,则分片化执行的架构,可以使整个系统的处理能力,随着参与节点处理能力的线性提高而呈平方级提高。通俗来说,如果参与网络的节点(平均而言)在一段时间内能验证 4 个区块头,这就意味着,在参与一个分片时,节点们可以在同等时间内验证 4 笔交易,此时系统总处理量是 4 条分片 × 4 笔交易/分片 = 16 笔交易;如果节点的处理能力变成了 8(2 倍),则处理量会变成 64 笔交易(4 倍)。

听起来很美好,但是,这个“平方级扩展” 的论证中包含了如下假设:

(1)存在一种技术,使得分片交易的验证,可以简化到与验证区块头同样的难度;

(2)不存在跨分片的交易,即各分片内的交易是完全不会相互依赖的。跨分片的交易需要占用多个分片的处理容量,也要占据信标链的处理容量,会使可扩展性大打折扣。

关于(1),这个假设是有可能得到满足的,无状态性(statelessness)就是这样的一种技术,它的思路是,在传播交易(或者传播区块时),附带交易所访问状态的证明(witness),使得交易的验证者无需持有交易执行之时的状态数据,就能验证交易的有效性。这一点极为关键,如果没有无状态性,参与分片验证的验证者就必须保存分片的状态,因为验证者会被不断分配到不同的分片链上,那就意味着他们必须保存所有分片的状态,在实践中也就意味着他们要不断下载所有分片的区块并处理交易,从而使整个系统坍缩为一个大区块系统(例:投入能处理 16 笔交易的资源,处理 16 笔交易)。遗憾的是,至今,以太坊 1.0 也没有研究出足够轻量的无状态方法。

关于(2),那就没有什么好说的了。如果不能实现跨分片交易,分片化执行的系统就没什么意义,因为各分片各自为政。必须使得 ETH 有办法存在于各个分片上,这个系统才能仍然以 ETH 为主体。而直到今天为止,还没有出现一种跨分片交易方案,能够不增加信标链的处理量。道理也很简单,对于任意 A 分片来说,因为并行处理,任意 B 分片上正在发生什么交易,需不需要改写本分片的状态,是不可知的,因此必须存在一个通信层,可信地证明 B 分片上发生了一笔试图改写 A 分片状态的交易。而一旦需要让信标链具备处理交易的功能,平方级扩展的效果就会被打破。(顺带说一句,满足了这一可信通信层的需要的链,就变成了事实上的 Layer-1,而其它分片则变成了事实上的 Layer-2,像极了 “Layer-1 + Layer-2”。)

除了存疑的可扩展性,分片化执行还带来了许多经济上的有趣问题。例如,如果跨分片交易的处理时间超过一笔分片内交易的处理时间(这是必然的),这就意味着,不同分片上的 ETH 价值也不会相同。就好像美国国内的 1 美元,与美国国外的 1 美元,实际上并不是同一种东西。不论有多少个分片,都至少会有两种 ETH 价格,一种,是那个金融应用最繁茂的分片(也就是 ETH1 分片)上的 ETH 的价格;另一种是其它分片上的 ETH 的价格;后者必须支付一定的手续费并付出一定的时间,才能换成前者,因此对前者必定有一些折价。同理,即使每个分片上都有 Uniswap,不同分片上市场的交易滑点也必定不相同,最终大家都会汇集到一个分片上,因为大家都在一起的时候,流动性最充沛,资金效率**。某种程度上,可以认为跨分片交易的需要是很少的 —— 但这也意味着,其它分片上闲置的交易处理容量,也根本没有意义。

分片化执行系统的技术难点,此处不再赘述,感兴趣者可以自己想想分片化执行系统怎么支付手续费的问题。但我在这里想说的是,分片化执行系统的设计理念违背了大家的实际需要,也违背了事物的发展规律。全局状态(可组合性),并不是一个问题,而正是大家需要的东西;正是因为以太坊使得所有金融应用都能瞬间组合,创造了一个价值可以零摩擦流通的空间,以太坊才有了变革世界的潜力;在协议层为价值流通创造摩擦,是自废武功。有了一个良好的基础层时候,应该想办法维护这个基础层,剩下的事情让用户自己选择,让生态自己演化 —— 不要以为设计能设计出一个生态,过度设计只是给所有人强加成本。

分片化执行(Phase 2)的搁置,侧面印证了其中的难度 —— 在可预见的未来,这条道路无法产生令我们满意的成果。尽管如此,我并不认为 ETH2.0 的研究员们已经完全放弃了三阶段路线图,Vitalik 也还强调,变更后的路线图,跟 Phase 2 也是完全兼容的,只是 Phase 2 不再具有优先级。

但是实际上,放弃分片化执行,才是以太坊应该选择的道路。

温馨提示:

文章标题:Eth2.0 的三阶段路线图

文章链接:https://www.btchangqing.cn/145905.html

更新时间:2020年11月23日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

数字货币

建行数字债券允许比特币交易?官方回应了!业内人士:交易架构的创新值得赞赏

2020-11-23 3:01:36

数字货币

ipfs和Eth2.0为啥不约而同拥抱EIP-1559?

2020-11-23 7:01:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索