下一次升级在望,为此我们要安排一个网络升级流程。在经过几次头脑风暴后,EIPIP团队就如何改进网络升级流程提出了几点建议。我希望这篇文章所分享的信息能够对EIP作者乃至整个社区都有用。让我们来了解一下新流程是怎么样的,以及为什么要调整自以太坊区块链诞生以来就沿用至今的网络升级流程。
什么是网络升级?
网络升级是将新功能添加到以太坊协议上的方式。通常来说,这些升级功能旨在为网络带来可扩展性、更好的用户体验和更高的安全性。每个新功能在EIP中都有详细描述。当网络中的所有节点都同意激活新功能时,就会在特定区块高度发生网络升级。由于以太坊是去中心化的,而且没人可以强迫其他人升级节点,如果网络中的部分参与者决定不激活升级程序,就会停止与已激活升级程序的节点通信,导致网络中出现分叉。
Filecoin网络目前FIL流通量约为1.43亿枚:据IPFS100报道,Filfox浏览器数据显示,Filecoin网络当前区块高度为905554,全网有效算力为7.050EiB,总质押量约为8794万枚FIL,活跃矿工数为2560个,每区块奖励为24.9837FIL,近24小时产出量为349914FIL,24小时平均挖矿收益为0.0478FIL/TiB,目前FIL流通量为143375422FIL。
目前有效算力排名前三的分别为:f0127595(FILPool.me)以118.07PiB暂居第一,f0123261(LDPool)以108.47PiB位居第二,f0135467(RRM-雅典娜)以106.34PiB位居第三。[2021/7/5 0:28:19]
为什么要改变网络升级流程?
FIL突破42美元关口 日内涨幅为4.21%:欧易OKEx数据显示,FIL短线上涨,突破42美元关口,现报42.04美元,日内涨幅达到4.21%,行情波动较大,请做好风险控制。[2021/3/4 18:16:04]
过去,网络升级流程都与EIP标准化流程相互关联。核心EIP要与标准化流程一起部署在主网上。
旧版网络升级流程
共识冲突
以太坊是一个开源社区项目。若想将核心提议部署到主网上,必须先获得社区和核心客户端的同意。一旦以太坊核心客户端开发者和社区都接受了某个EIP,这个EIP将包括到下一次网络升级中。
当以太坊开发者在准备伊斯坦布尔升级时,社区在EIP1057上没有达成共识。这个提议得到了部分人的支持,但是也遭到了很多人的强烈反对。最终,以太坊客户端之间未能达成共识。
Filecoin网络目前总质押量约为4018万枚FIL:据IPFS100.com报道,Filfox浏览器数据显示,Filecoin网络当前区块高度为513691,全网有效算力为2.631EiB,总质押量约为4018万枚FIL,活跃矿工数为1390个,每区块奖励为21.9139FIL,近24小时产出量为307219FIL,24小时平均挖矿收益为0.1124FIL/TiB,目前FIL流通量为87431993FIL。
目前有效算力排名前三的分别为:F01248(智合云zh)以75.69暂居第一,F02770(时空云&灵动)以72.63PiB位居第二,F09652(RRM-雅典娜-asia02)以52.48PiB位居第三。[2021/2/19 17:29:56]
虽然这个提议没有纳入网络升级,但它确实通过了EIP标准化流程。这就凸显了将EIP标准化和网络升级流程分离的重要性。
旧版本以太坊客户端Geth出现bug,BSC、Polygon等链受影响:旧版本的以太坊网络客户端Geth中的一个bug已经导致运行这些版本的节点与主网络分离。该bug影响旧版本的Geth客户端,特别是v1.10.7和更早版本。这些节点占所有以太坊节点的近75%,而73%的Geth客户端仍在运行旧版本。这意味着大约54%的以太坊节点在运行时存在重大基础设施bug。令人担忧的是,这可能导致双花攻击。The Block Research已经确认了一个利用该漏洞的地址。该bug还会影响其他兼容EVM的链,如BSC和Polygon。(The Block)[2021/8/28 22:42:33]
核心EIP数量剧增
早期,网络升级流程运行良好,总的EIP数量也相对较少。过去几年来,由于以太坊区块链的贡献者人数剧增,关于如何改进网络的EIP数量也成倍增长。这就增加了复杂性,也在如何针对网络升级EIP设计一个正式流程的问题上引发了讨论。
透明度
随着以太坊区块链的采用率提高,很多贡献者联合起来提交关于网络升级的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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。