北京大学肖臻老师《区块链技术与应用》公开课笔记7——BTC挖矿难度调整篇
北京大学肖臻老师《区块链技术与应用》公开课笔记 比特币挖矿难度调整篇,对应肖老师视频:https://www.bilibili.com/video/av37065233?p=7 全系列笔记请见:https://blog.csdn.net/Mu_Xiaoye/article/details/104299664 之前有提到过,在比特币系统中,区块链的出块时间保持在平均10min左右。毫无疑问的是,伴随着参与挖矿的人增多,系统总算力不断增强,挖矿的难度绝对不能一成不变。实际上,在比特币系统开发过程中,中本聪便考虑到了这个问题,并设计了一个相应的难度调整算法。这一篇,便了解一下比特币系统中的挖矿难度调整算法。 为什么要调整挖矿难度 之前已经提过,挖矿本质上就是不断调整block header中的nonce值,使整个block header的哈希值小于等于给定的目标阈值。即:H(block header)<=target.(target便是目标阈值,target越小,目标难度就越大)对于挖矿难度的调整,可以视为调整目标空间在整个输出空间中所占比例大小。 之前有提及,比特币系统采用的哈希算法为SHA-256,所以整个输出空间大小为2^256,调整目标空间所占比例,简单的说需要目标值前需要多少个0。 当然,挖矿难度和目标阈值成反比,如下图所示,其中difficulty_1