下一次升级在望,为此我们要安排一个网络升级流程。在经过几次头脑风暴后,EIPIP团队就如何改进网络升级流程提出了几点建议。我希望这篇文章所分享的信息能够对EIP作者乃至整个社区都有用。让我们来了解一下新流程是怎么样的,以及为什么要调整自以太坊区块链诞生以来就沿用至今的网络升级流程。
什么是网络升级?
网络升级是将新功能添加到以太坊协议上的方式。通常来说,这些升级功能旨在为网络带来可扩展性、更好的用户体验和更高的安全性。每个新功能在EIP中都有详细描述。当网络中的所有节点都同意激活新功能时,就会在特定区块高度发生网络升级。由于以太坊是去中心化的,而且没人可以强迫其他人升级节点,如果网络中的部分参与者决定不激活升级程序,就会停止与已激活升级程序的节点通信,导致网络中出现分叉。
以太坊开发人员就下一次升级中可以包含的内容达成一致:金色财经报道,以太坊开发人员决定考虑将八项以太坊改进提案(EIP) 纳入该网络即将推出的名为“上海”的硬分叉中。硬分叉升级将解锁Beacon Chain质押的ETH取款,并且可能包括解决可扩展性问题的提案和其他旨在改进以太坊虚拟机的提案。但具体时间,目前还没有达成共识。
让 EIP“考虑纳入”(CFI) 意味着开发人员将致力于制定这些提案,并将通过开发人员网络 (devnets) 的测试运行它们。然而,不能保证所有这些提议最终都会被纳入上海。[2022/11/25 8:06:10]
为什么要改变网络升级流程?
过去,网络升级流程都与EIP标准化流程相互关联。核心EIP要与标准化流程一起部署在主网上。
以太坊L2网络总锁仓量为63.5亿美元:金色财经报道,L2BEAT数据显示,截至2月18日,以太坊Layer2上总锁仓量为63.5亿美元。其中锁仓量最高的为扩容方案Arbitrum,约34.2亿美元,53.86%;其次是dYdX,锁仓量为9.9亿美元,占比15.59%;第三为MetisAndromeda,锁仓量为5.2亿美元,占比8.19%。[2022/2/18 10:01:38]
旧版网络升级流程
共识冲突
以太坊是一个开源社区项目。若想将核心提议部署到主网上,必须先获得社区和核心客户端的同意。一旦以太坊核心客户端开发者和社区都接受了某个EIP,这个EIP将包括到下一次网络升级中。
当以太坊开发者在准备伊斯坦布尔升级时,社区在EIP1057上没有达成共识。这个提议得到了部分人的支持,但是也遭到了很多人的强烈反对。最终,以太坊客户端之间未能达成共识。
以太坊Solidity发布0.8.0版本:12月17日消息,以太坊Solidity发布0.8.0版本。Solidity官方表示,Solidity0.8.0是对Solidity编译器和语言的重大更新,最主要的变化为:1.默认情况下会检查算术运算;2.激活了ABI编码器v2;3.内部错误不再使用无效的操作码,而是会进行还原,以免浪费Gas费用;4.限制了显式转换(利用强制类型转换运算符进行转换)的可能性,以避免产生歧义。[2020/12/17 15:31:24]
虽然这个提议没有纳入网络升级,但它确实通过了EIP标准化流程。这就凸显了将EIP标准化和网络升级流程分离的重要性。
核心EIP数量剧增
早期,网络升级流程运行良好,总的EIP数量也相对较少。过去几年来,由于以太坊区块链的贡献者人数剧增,关于如何改进网络的EIP数量也成倍增长。这就增加了复杂性,也在如何针对网络升级EIP设计一个正式流程的问题上引发了讨论。
声音 | ShapeShift首席执行官:以太坊因V神而更好:据bitcoinexchangeguide报道,ShapeShift首席执行官Erik Voorhees最近接受CNBC的采访时谈到了以太坊2.0,V神(Vitalik Buterin)对以太坊生态系统的影响以及以太坊和加密货币的现实采用。Voorhees表示,对于以太坊,V神“显然”是一个集中点,但他不会运行以太坊,无法控制它。V神只是一个重要的影响力,是一个出色的人。因此,有他参与其中使以太坊更好。[2018/11/10]
透明度
随着以太坊区块链的采用率提高,很多贡献者联合起来提交关于网络升级的EIP来强化以太坊网络。每个客户端都要付出极大的努力来实现EIP中所提议的改进。考虑到实现每个EIP需要耗费的工时,并非所有EIP都可以纳入下一次升级。不了解流程可能会引起混乱。因此,我们必须更新文档来增加升级流程的透明度。
新版网络升级流程
新版网络升级流程
现行网络升级流程是EIPIP团队经过多次头脑风暴并与以太坊开发者和整个社区不断交流后得出的结果。
现行网络升级流程已经正式与EIP标准化流程分离。但是,上图也包括了不同阶段的EIP推荐状态。EIP流程大致分为三个阶段,以显示EIP在下一次升级前的状态。
考虑纳入
考虑纳入指的是一个提议有望纳入下一次网络升级的第一阶段。有人建议让提议的作者或支持者在Eth1.0规范库中创建一个议题,以便进行官宣。
Devnet阶段
在这一阶段,客户端开发者会对提议进行讨论,并达成共识来推进Devnet的实现。这是专为客户端开发者而设计的,其它社区成员也可以使用。但是,该测试网有可能没有预先通知就会关闭,因此不建议用来测试dApp。当前的Devnet是YOLO测试网。现行版本是YOLO2.0,包含了有望引入下一次网络升级的提议。
获得CFI批准:这个bucket中包含了获得客户端大致共识的EIP。在符合规则的PR提交后,核心开发者会予以考虑。客户端可能会在方便的时候开始独立实现这些提议。
CIdevnet等候室:获得部分客户端明确批准的EIP,或者等待集成的某些工作会暂时放在CIdevent等候室内。这部分还有可能包括其它类型的提议,但是因为某些原因,暂不考虑放到下一个CIdevnet版本中。
在CIdevnet上部署:这里列出了目前部署在devnet上的EIP。最新版本的devnet或将通过下一次升级实现。
主网阶段
测试绿灯:这里列出了适合在公共测试网上的部署的EIP,截至最新的以太坊核心开发者会议。
公共测试网:与早期网络升级流程类似。所有获得核心客户端开发者同意并在devnet上实现和测试的EIP现在都部署在公共测试网上。如果在测试网上运行的几周内,没有发现任何重大问题,就可以部署到主网上。
主网:以太坊核心开发者会设定一个区块号,并预估这些提议最终在以太坊主网上激活的日期。
在主网激活后,则表示整个网络升级流程完成。虽然网络升级促进团队正在准备下一次升级。
网络升级流程追踪器
在缺乏良好沟通的情况下,在大型去中心化网络上管理升级会是一项巨大挑战。我们可以通过网络升级流程追踪器来快速查阅正在考虑中的EIP,并通过Eth1.0规范库来追踪客户端的进程。
关于网络升级流程的讨论从一年前就开始了。第一版关于硬分叉的EIP流程获得了EIP作者以及社区的好评。这个流程也在核心开发者会议上讨论过,但是因为迫切的需求而搁置。尽管如此,经过改进,我们现在有了一版更好的网络升级流程。
原文标题:《引介|改进以太坊网络的升级流程》
撰文:PoojaRanjan
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。