酸饼博客
关注区块链技术应用与数字货币

区块链入门100问(6):如何理解比特币挖矿的难度系数?

上一篇详细介绍了比特币系统中挖矿目标值的调整周期、调整方法及作用。

说到比特币挖矿,相信大家都听说过“挖矿难度”这个词。
在比特币系统中,区块的数据结构里并没有字段存储挖矿难度。挖矿难度只是用来对挖矿困难程度的度量,即指计算符合给定目标的一个HASH值的困难程度。

目标哈希值越大,挖矿难度就越小;反之,目标哈希值越小,挖矿难度就越低。目标哈希值和挖矿难度是成反比的。挖矿难度的计算公式是:

difficulty = difficulty_1_target / current_target

这个公式里面,current_target容易理解,就是当前区块的目标哈希值,一个256位的二进制数字。

然而,difficulty_1_target是什么呢?
在上一篇《如何理解比特币系统挖矿的目标值?》里提到过比特币系统最初2016个区块的目标哈希值是:
0x00000000ffff0000000000000000000000000000000000000000000000000000

这是一个相对比较大的数,找出小于或者等于这个目标值的哈希值,难度相对比较小。因此在比特币挖矿行业里,把比特币最初2016个区块的挖矿难度系数定义为1,这些区块的目标值就是难度系数1对于的目标值,即difficulty_1_target。

以区块578592为例,改区块的数据见:
https://www.blockchain.com/btc/block-height/578592

其目标值是(十进制):
3614033401827878015998272335407144409231622422786998272

创世区块目标值用十进制表示是:
26959535291011309493156476344723991336010898738574164086137773096960

所以区块578592的挖矿难度系数是:
difficulty = 26959535291011309493156476344723991336010898738574164086137773096960/3614033401827878015998272335407144409231622422786998272=7459680720542.296

比特币有史以来的全部难度系数,在btc.com上有,有兴趣的话可以看看:
https://btc.com/stats/diff

由上可知,比特币挖矿难度系数就是区块的挖矿目标值与创世区块的目标值的比值,用来作为反映挖矿困难程度的度量。挖矿难度系统与目标值成反比,目标值越大难度越小,目标值越小难度系数则越大。

未经允许不得转载:酸饼 » 区块链入门100问(6):如何理解比特币挖矿的难度系数?
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

留言联系关于酸饼