区块链学习笔记19——ETH难度调整

​​点击阅读更多查看文章内容

区块链学习笔记19——ETH难度调整

学习视频:北京大学肖臻老师《区块链技术与应用》
笔记参考:北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页

前面学过,比特币是每隔2016个区块调整一次挖矿难度,目的是维持出块时间在10分钟左右;以太坊是每个区块都有可能调整挖矿难度,调整的方法比较复杂而且改过好几个版本。网络上存在诸多不一致,这里遵循以代码为准的原则,从以太坊代码中查看以太坊难度调整算法。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

难度炸弹

以太坊在设计之初就计划要逐步从POW(工作量证明)转向POS(权益证明),而权益证明不需要挖矿,这就带来一个问题——已经在挖矿设备上投入大量资金的矿工会不会联合起来抵制这个转换,从POW转向POS需要通过硬分叉来实现,这样就可能导致社区分裂,以太坊可能分裂成两条平行的链。
在以太坊早期时,区块号较小,难度炸弹计算所得值较小,难度调整级别基本上通过难度调整中的自适应难度调整部分决定,而随着越来越多区块被挖出,难度炸弹的威力开始显露出来,这也就使得挖矿变得越来越难,从而迫使矿工愿意转入POS。
在这里插入图片描述
难度炸弹的调整
因为开发者低估了POS的设计难度,导致其迟迟没有设计出来,但是难度炸弹的威力已经开始显现出来,系统的出块时间已经开始逐渐变长,但矿工还需要继续挖矿,因此我们可以看到,上图中第二项的fake block number,该数对当前区块编号减去了三百万,也就是相当于将区块编号回退了三百万个。从而降低了出块的难度。当然,为了保持公平,也将出块奖励从5个以太币减少到了3个以太币。
下图显示了难度调整对难度炸弹难度影响的结果:
在这里插入图片描述

以太坊发展的四个阶段

在这里插入图片描述

具体的代码实现

难度计算公式
在这里插入图片描述
基础部分的计算
在这里插入图片描述

难度炸弹的计算
在这里插入图片描述

以太坊实际统计数据(截止2018年)

挖矿难度变化曲线
断崖式下跌是难度炸弹的调整
在这里插入图片描述
出块时间
在这里插入图片描述
实际区块例子
最长合法链对于以太坊来说也叫作最难合法链
在这里插入图片描述

作者

ShiHaonan

发布于

2022-01-20

更新于

2025-03-13

许可协议

评论