主页 > 最新imtoken官网下载 > 什么是比特币挖矿难度系数?

什么是比特币挖矿难度系数?

最新imtoken官网下载 2023-01-17 12:58:04

读到这里,你可能有一个疑问,人家说挖矿难,但挖矿不只是用电脑计算一个hash,计算也是电脑的强项,怎么会变难,能不明白吗?

原因是不能使用任何哈希,只有满足条件的哈希才会被区块链接受。这个条件特别苛刻,以至于大部分hash都不满足要求,必须重新计算。

因为每个区块都包含一个难度系数(difficulty),这个值决定了计算哈希的难度。例如,第 100000 个区块的难度系数为 14484.16236122。我们也可以将难度简单理解为:挖掘一个数据块需要多少时间。

比特币挖矿难度和什么有关

同时难度值的计算公式为:难度值=最大目标值/当前目标值

比特币挖矿难度和什么有关

什么是目标值:目标值是当前区块生成所达到的目标值的哈希值,用于矿工的工作量证明。矿工挖出的区块头的哈希值必须小于目标值才能成功挖出数据块。

比特币挖矿难度和什么有关

当前目标值是指当前生成的数据块的头部信息的哈希值的参考索引。最大目标值为固定值:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF。

比特币挖矿难度和什么有关

由于只有小于目标值的哈希才有效,否则哈希无效,必须重新计算。由于目标值非常小,hash小于这个值的几率非常小,可能要计算10亿次才算一次命中。这就是挖矿速度如此缓慢的根本原因。

比特币挖矿难度和什么有关

上一篇文章也说过,当前区块的哈希是由区块头唯一确定的。如果要对同一个区块重复计算哈希,就意味着区块头必须不断变化,否则不可能计算出不同的哈希。块头中的所有特征值都是固定的。为了让区块头发生变化,中本聪特意添加了一个名为 Nonce 的随机项。

Nonce 是一个随机值。矿工的作用是猜测 Nonce 的值,使区块头的哈希值小于目标值,从而写入区块链。 Nonce 非常难猜,目前只能通过穷举法一一猜出来。根据协议,Nonce 是一个 32 位的二进制值,最大可达 21.47 亿。第 100000 个区块的 Nonce 值为 274148111。可以理解为矿工从 0 开始,一直计算 2.74 亿次才得到一个有效的 Nonce 值,这样计算出来的 hash 才能满足条件。

如果你幸运的话,你可能很快就会找到 Nonce。如果运气不好,可能算了 21.47 亿次都没有找到 Nonce,也就是当前块体不可能计算出满足条件的哈希。此时比特币挖矿难度和什么有关比特币挖矿难度和什么有关,协议允许矿工更改块体并开始新的计算。