一文读懂以太坊“柏林硬分叉”始末

整理 | 晋兆雨 

出品 | 区块链大本营 (ID:blockchain_camp)

继 “缪尔冰川” 升级之后,以太坊再次实施了 “柏林” 升级。

4 月 15 日(星期四)下午 6:12 分左右,柏林硬分叉在主网的 12244000 区块上正式激活。近一周以太坊全网算力均值为502.37 TH/s,平均出块时间13秒。目前已有74.6%的客户端准备就绪。

此次柏林硬分叉主要优化以太坊的主网性能、优化合约,涵盖 Gas 效率、以太坊虚拟机 (EVM) 读取代码方式的更新,以及防止拒绝服务 (DDOS) 攻击等。本次升级将纳入4个新的EIP改进提案:

  1. EIP-2565:变更 求模/求幂 运算的 Gas 开销。EIP-2565 提案是对此前的 EIP-198(大数求模求幂运算)的重定价;一开始,EIP-198 为求模求幂运算引入了一个预编译模块,该模块使我们能引入许多需要求模求幂运算的密码学算法,比如 RSA 签名的验证。EIP-2565 降低了该模块的 Gas 开销,使之与执行其它操作的开销相持平。
  2. EIP-2718:标准化的事务信封。该 EIP 引入了一种新的事务类型(transaction type),其本身可以作为一种信封,以更加便利地启用对多种事务类型的支持。
  3. EIP-2929:提高状态访问操作码的 Gas 开销。该 EIP 提高了一笔事务在首次调用 SLOAD、*CALL、BALANCE、EXT* 以及 SELFDESTRUCT 时候的 Gas 消耗量。
  4. EIP-2930:可选的访问列表。该提案背后的理念是:修正由 EIP-2929 对现有合约的破坏作用,并缓解由 EIP-2929 带来的 Gas 消耗量增大问题。

硬分叉到底是什么

一月份才进行了“缪尔冰川” 升级,“柏林”升级又开始了,升级、硬分叉到底是什么?

任何系统都需要“升级”,区块链也一样。在中心化系统中升级软件十分简单,只需要在开发团队上传最新软件,用户下载即可,但是在区块链系统中,“升级”并不是那么简单。因为没有中心化机构,比特币等数字资产的每次代码升级都需要获得社区的一致认可,如果社区无法达成一致,区块链就很可能形成“分叉”。

分叉即区块链发生永久性分歧,在新共识规则发布后,未升级的节点拒绝验证已经升级的节点生产出的区块,已经升级的节点虽然可以验证未升级节点生产出的区块,但是也会按照新的规则行事。因此如果大家各自延续自己认为正确的链,就会分成两条链。 

以太坊的第一次分叉其实是受到黑客攻击后的一个解决方法。2016年黑客利用代码漏洞攻击了以太坊上的众筹项目——The DAO,不停地从The DAO 资金池里分离资产。为了避免投资者的资产被转移,以太坊直接选择了硬分叉。分叉之后,形成了两条链,一条为原链(以太坊经典,ETC),一条为新的分叉链(ETH),各自代表不同的社区共识以及价值观。

迭代升级,不断完善

虽然第一次是不得已而为之,但是之后的硬分叉,以太坊都是“蓄谋已久”的。与其坐等他人攻击,不如主动修复不足。自2016年以后,以太坊就多次通过硬分叉的方式进行全系统升级,2019年,被称为“君士坦丁堡”和“圣彼得堡”的两种升级都是以“硬分叉”的方式来实现的。

2020年 12 月 ,以太坊进行了伊斯坦布尔硬分叉升级。时隔不到一月,以太坊又进行了“缪尔升级”?间隔如此之短,升级到底为那般?

根本原因是,以太坊难度炸弹已经启动。

“以太坊难度炸弹” 指的是以太坊所用的工作量证明算法难度调整机制中的一部分,本意是通过通过调整挖出新块的挖矿难度使得网络的出块时间趋于稳定,如果出块时间太短(短于 10 秒)或者太长(长于 20 秒),则该机制会相应提高或降低挖矿难度。 

难度炸弹为挖矿难度加入了一个只随区块高度增加而增加、不随出块时间改变而改变的值。该值每 10 万个区块增加一次,永不下降。 

一开始难度炸弹增加的难度量很小,因此对出块时间没有明显影响;而且这部分难度量的上升也很缓慢,但它的增长接近指数型增长。所以到了一定时机,它会使网络难度突然增加,出块速度骤减。

2019年,难度炸弹在区块高度达到 860 万时开始显现其影响,平均出块时间显著上升;到了 890 万区块高度时,出块时间上升到 14.3 秒。 

”到了 2020 年 2 月,出块时间可能会上升到 30 秒。这会让整条链变得很慢而且难以使用。”这就是所谓的 “冰河期(Ice Age)”。

解决冰河期问题的一个方法就是硬分叉,来看一下近几年以太坊的挖矿难度变化。

硬分叉

图中显示有两次难度出现明显的指数级增长之后直线下落,这是因为以太坊难度炸弹启动之后难度炸弹炸了,重新降低了挖块难度,这一切就是伴随着硬分叉完成的。

单独进行一次硬分叉升级以推迟难度炸弹,这就是“缪尔冰川”硬分叉的来源。

缪尔冰川能将“难度炸弹”推迟 400 万个区块。随着时间的推迟,这枚难度炸弹预计在未来几年内都不会再次“引爆”。升级取名“缪尔冰川”,也是为了纪念地质学家缪尔,他是准确提出冰川活动概念的第一位学者。

无论如何每次硬分叉升级都代表以太坊的一次优化和完善,据说“柏林升级”将触发以太坊网络功能的重大变化,对此你怎么看?欢迎评论区与我们分享。

*本文转载自网络转载,版权归原作者所有。本站只是转载分享,不代表赞同其中观点。请自行判断风险,本文不构成投资建议。*