比特币的挖矿难度在区块头中6个数据之一,以Bits来表示,可以称作难度位。是十六进制的系数/指数格式表示的固定精度的自定义浮点类型,前两位十六进制数字为幂,接下来得六位为系数。
难度单位为K、M、G、T,1T=1000G。各级间千倍关系。
另外一种二进制的惯用单位K=2^10;1M=2^20;1G=2^30;1T=2^40。
在区块277316中,它的值为0x1903a30c。前两位0x19为幂,余下6位0x03a30c为系数。
计算难度目标的公式为:
目标难度=系数*2^(8*(幂-3))
十六进制展开后如下:
[0x00000000,0x00000000,0x03a30c,{0x00000000..0x00000000}]
以上{0x00..0x00}有26 bytes的0x00000000.
区块277316目标难度=0x03a30c*2^(0x08*(0x19-0x03))
=0x03a30c*2^(0x08*0x16)
=0x03a30c*2^0xb0