BTC笔记-06-挖矿难度

BTC-挖矿难度

B站视频链接


为什么需要调整挖矿难度

\[H(\text{block header})\le \text{target} \]

调整挖矿难度即调整目标空间在所有输出空间中所占的比例

挖矿难度与目标阈值成反比

\[\text{difficulty}=\frac{\text{difficulty_1_target}}{\text{target}} \]

其中 \(\text{difficulty_1_target}\) 为挖矿难度为 \(1\)(最小值)时对应的目标阈值,\(\text{target}\) 为当前目标阈值

比特币系统通过改变目标阈值来影响挖矿难度,以控制每个区块的出块时间

如果出快速度过快,可能会有多个节点同时出块,形成多分叉,多分叉会分散诚实节点的算力,影响安全性


如何调整挖矿难度

比特币系统规定每 \(2016\) 个区块调整一次目标阈值,约为 \(2\) 星期

具体的迭代调整公式:

\[\text{target}=\text{target}\times\frac{\text{actual time}}{\text{expected time}} \]

这里 \(\text{expected time}\)\(2016\times10\) 分钟,即 \(14\) 天,\(\text{actual time}\) 为系统中最近产生的 \(2016\) 个区块实际所用的时间

在实际应用中,\(\text{target}\) 单次上调或下调的最大值均不超过 \(4\)

posted @ 2022-08-29 12:03  buzzing  阅读(76)  评论(0)    收藏  举报