以太坊核心开发者会议:深入探讨以太坊合并及其路线演变_以太坊:ROLL

原文标题:《以太坊核心开发者会议更新006》

这次更新与以往的有点不同。首先,我决定转移到Mirror发布更新。使用这个用于1559NFT项目的平台是很不错的体验,而且我一直在找机会再次使用它。我会在HackMD保留更新列表,这样便于在一个地方轻松找到它们。

第二,由于我们现在的工作重点在合并(TheMerge)上,本文其实不算是一篇「更新」,而是对走到当前架构选择的路线图演变的深入探讨。几周后,会有一篇类似的文章,详细介绍以太坊网络在合并后将如何运作。

合并史前史

合并将把以太坊目前的工作量证明(PoW)共识算法转为在信标链上运行的权益证明(PoS)机制。这个设计是「以太坊2.0」路线图多次迭代的结果。让我们回顾一下过去几年路线图的变化吧。

阶段0,1,2

几年来,权益证明和分片的研发是彼此独立的。在2018年台北的一次研讨会上,大家决定将这两项研究计划统一起来,形成一个分三个阶段的「以太坊2.0」路线图。BenEdginton在这篇文章里对当时的研讨会和总的理念作了非常好的总结。正是在这次活动中,Hsiao-Wei展示了这张现在广为人知的「以太坊2.0」简图:

以太坊核心开发人员:尚未确定上海升级的具体内容:金色财经报道,以太坊核心开发人员Marius Van Der Wijden表示,核心开发人员可能会同意在接下来的“上海”升级中解决质押ETH提款问题,但是本次升级的具体内容目前仍不清楚。如果“上海”升级内容过多,可能会影响测试进度,比如‘上海’升级中有10项变化,那么就需要对每个变化进行单独测试,而且还需要测试不同变化之间如何相互作用、相互影响,这意味着一旦‘上海’升级中包含的功能数量增多,测试工作量将会呈指数级增长,最终导致“上海”升级日期延迟。由于“上海”升级将解决质押ETH提款问题,一旦延迟,可能会影响质押者和验证者利益。[2022/9/16 7:00:27]

来源:https://docs.google.com/presentation/d/1G5UZdEL71XAkU5B2v-TC3lmGaRIu2P6QSeF8m3wg6MU/edit#slide=id.g3c326bb661_0_298

这张图展示了当时新路线图的每个阶段将交付的内容:

阶段0将带来信标链

在阶段1,会加入数据分片

在阶段2,在每个分片加入虚拟机,以在系统里实现计算。

分片的数量最初定为100,然后提高到1024,最近又调低到64。

以太坊未确认交易为127,247笔:金色财经消息,据OKLink数据显示,以太坊未确认交易127,247笔,当前全网算力为353.94TH/s,全网难度为4.71P,当前持币地址为54,421,652个,同比增加206,034个,24h链上交易量为4,396,731.74ETH,当前平均出块时间为13s。[2021/2/9 19:21:20]

提早合并?

随着信标链的工作在2018年开启,很明显,这个分三个阶段的以太坊2.0路线图将需要几年时间才能完全交付。伴随着使用以太坊人数的快速增长带来的成长阵痛,这带来了工作量证明区块链研究计划的复苏。在2018年的DevconIV上,「Ethereum1.x」这个术语被提出,用于涵盖这些研究计划。其中最重大的一项是无状态以太坊(StatelessEthereum),这个范式会把未被访问的状态从网络中移除,以限制状态的膨胀速度。

一方面有越来越多的关注放在让PoW链变得长期可持续上,另一方面开发者们意识到信标链可以比以太坊2.0路线图的其他部分更早实现,结合两者后出现了一个「提早合并」的提案。这份提案把现有的EVM链作为以太坊2.0系统的「分片0」来启动。这样不仅会加快搬到权益证明的速度,还会使应用层的过渡更顺滑,因为搬到权益证明不需要在应用层上做迁移。

这提案出来不久,DannyRyan在他的《Eth1+Eth2客户端关系(Eth1+Eth2clientrelationship)》的文章里探索了我们可以如何通过利用现有Eth1客户端实现提早合并。这将大大减少交付一个合并后系统和利用客户端的开发工作,因为Eth1客户端已经在主网上久经沙场了。按这条路走下去还可以给研究者更多时间解决阶段1和2的开放性问题(请看这里),和无状态以太坊(这仍然是非常活跃的研究领域)。

动态 | 以太坊扩展初创公司Optimism发布其虚拟机的Alpha版本:开发以太坊Layer2扩展解决方案Optimistic Rollup的初创公司Optimism发布了alpha版的Optimistic虚拟机(OVM)。OVM是嵌入在EVM中的以太坊虚拟机(EVM)的副本,允许开发人员在使用Optimistic Rollup时使用相同的开发人员工具集和智能合约语言。Optimism最近筹集了350万美元的种子资金,以帮助开发人员实施Optimistic Rollup。(The Block)[2020/2/12]

以Rollup为中心的路线图?

很快到了2020年末:阶段0此时的进度已经达到99%,信标链很快就要启动了。尽管在阶段1的工作进展顺利,但将在阶段1引入的分片上实现计算功能的阶段2仍然有很多未解决的问题:

如何从当前的EVM链顺滑过渡到分片的虚拟机?

从性能上看,有哪些替代虚拟机能被部署?

我们要如何确保各种虚拟机是真的安全?

如何协调所有虚拟机上的状态和余额?

......

同时,rollup(例如二层的扩容方案)方面正发生非常快速的进展。多个团队公布要上测试网,且取得令人鼓舞的早期成果。

大约在这个时候,Vitalik在EthereumMagicians论坛上发表了长文,论述我们应该把短期和中期的扩容工作集中在rollup上。它们不仅会在阶段2完成前上主网,还会是阶段1的最大受益者。Rollup会生成大量数据,而分片可以为它提供比EVM链消耗更低的存储。下面是文章的截图:

动态 | 以太坊2.0协调员Danny Ryan发布ETH 2.0规范版本0.1的最终版本:以太坊2.0协调员Danny Ryan宣布了ETH 2.0规范版本0.1的最终版本,主要的发布集中在IETF BLS标准与ETH 2规范的集成上。该版本还包含了对文件/目录进行深入而必要的重组。其余的更改是一些较小的优化和清理。它们中的大多数通常是向后兼容的,并且在集成时应该非常直接。(trustnodes)[2020/1/12]

这种方法将对阶段0-2路线图产生几方面的影响。具体如下:

阶段0(信标链)当时正处于部署主网前在测试网上运行的阶段,一旦PoW链准备好,信标链就可以成为共识层引擎,而不需要等到阶段2以后;

阶段1(数据分片)的实现还需要几年时间,它从扩容的关键障碍变成一项增量改进,它会减少已经开发出来的扩容方案(例如rollup)的开销;

阶段2(分片执行)是有最多开放性研究问题且更复杂的功能,它可以在几年后推出,或完全取消,对扩容路线图没有任何影响。

动态 | 三星SDSNexledger区块链平台采用以太坊等多个网络实现需求定制:在今日的CoinDesk共识大会新加坡站上,来自三星SDS的Seungjai Min表示:三星SDS从2015年开始构建Nexledger区块链平台,采用了以太坊和超级账本等多个网络,使区块链应用可以根据业务需求定制。[2018/9/19]

研究社区快速就这个提案聚集起来,并在一个月内发表了一篇ethresear.ch文章,详细介绍了当前这个合并计划!

当前&未来的路线图?

可执行信标链

当前的合并架构在首次于2020年11月由MikhailKalinin发表的《可执行信标链(ExecutableBeaconChain)》上得到详细说明。简言之,它结合了多次迭代的以太坊2.0路线图的洞见:

信标链已经启动了,现在可以作为共识引擎来使用;

Rollup是扩展计算的最佳短期解决方案;

当前的Eth1客户端是作为合并后执行层的最佳基础;

搬到权益证明可以通过对当前运行的应用影响最小的方式实现

Mikhail提议中的一个重大变更是,与其让当前的EVM链成为」分片0」,不如直接与信标链连接。

这是一个简单但重要的见解——Eth1执行层客户端已经是以共识算法可换的方式构建的。主网使用工作量证明,而测试网和私人以太坊网络使用的是权威证明(proofofauthority)共识算法(clique、IBFT等)。

在文章里,Mikhail提议直接把权益证明作为客户端使用的新共识算法。换句话说,就是把当前的工作量证明链与信标链合并。下面由TrentVanEpps制作的这张图很好地说明这个变化:

来源:https://twitter.com/trent_vanepps/status/1415741658067517441/photo/1

这种方法将最大程度地减少PoW链上客户端团队要做的工作,同时仍然带来「提前合并」和「以Rollup为中心路线」的所有好处。

Rayonism项目

为了验证可执行信标链架构的可行性,在名为Rayonism的长达一个月的黑客松里,客户端进行了原型设计。

在几周内,Eth1和Eth2客户端的各种混合组合作为合并后的客户端在EVM上运行交易,通过信标链达成共识。

高度概括来说,现在的Eth2节点变成作为网络的共识层,而现在的Eth1节点则作为其执行层。共识层的功能扩展为把最新的链头信息发送给执行层,并向执行层请求区块。执行层仍然负责处理区块、广播交易、存储和管理状态,和处理JSONRPC请求。

这个实验验证了可执行信标链的架构是合理的,且可以用作过渡到权益证明的基础,现在这个过程被称为合并。

PoW->PoS的过渡?

Rayonsim项目里没有测试的是从真正的PoW网络过渡到运行中的Pos网络。经过几次迭代后,现在已经大致敲定了一份规范。

为了实现从工作量证明到权益证明的过渡,在客户端里需要设置一个TERMINALTOTALDIFFICULTY(终结总难度)。当发现区块上的难度超过了工作量证明链的难度时,客户端会进入过渡模式,它们会开始监听权益证明层的信息来达成共识。一旦共识层最终敲定的一个区块的难度超过了TERMINALTOTALDIFFICULTY,执行层将完全停止监听和广播PoW区块信息。这样,合并就完成了!

对于应用,这不会对合约和用户造成任何影响。有一些操作码需要更新,但就仅此而已。对于信标链节点的运行者,在合并中需要选择一个执行引擎。同样地,如果你在工作量证明网络运行一个节点,在合并中需要选择一个共识客户端。随着合并工作的开展,你可以预期会有多个开发者测试网、教程和会议来讨论这些问题。

接下来的工作

尽管合并的总体方案已经确定了,客户端团队还有一长串的事情需要在未来几个月内完成。大部分要做的事都可以在这里追踪到,值得关注的包括确定合并后的同步协议、为整个过程设置创建集成测试、上线开发者测试网并在不利条件下运行它们,以及为过渡期间的各种意外情况做计划。

如果你想深入了解实际的规范,EIP-3675详细列出执行层客户端需要的变化,而共识规范中的mergefolder详细列出了共识层的变化。

当事情稍微稳定下来,请期待另一篇深入以太坊客户端在合并后将如何工作的文章。谢谢你的阅读,下次再见!

感谢DannyRyan、TrentVanEpps和MikhailKalinin对本文草稿的反馈。

一个值得注意的变更是「无状态以太坊」不再是过渡到权益证明的先决条件。

在过渡阶段根据总难度而不是区块或slot号可以更好处理重组情况。想了解更多,请参见EIP-3675里的"Transitionprocess(过渡过程)"部分。

撰文:TimBeiko翻译:ETH中文站

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:62ms0-1:72ms