主页 > 怎么退出imtoken钱包 > 比特币挖矿难度和算力
比特币挖矿难度和算力
困难
难度是衡量挖矿难度的指标,即计算出满足给定目标的 HASH 值的难度。
难度 = 难度_1_target / current_target
难度_1_target的长度为256位,前32位为0,后面都是1。一般显示为HASH值:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,难度_1_target代表btc网络的初始目标HASH。current_target 是当前块的目标HASH,经过压缩后存储在块中。区块的 HASH 值必须小于给定的目标 HASH 才能建立区块。
例如:如果块中存储的压缩目标HASH为0x1b0404cb,那么未压缩的十六进制HASH为
0x0404cb * 2 ^ (8 * (0x1b - 3)) = 0x00000000000404CB000000000000000000000000000000000000000000000000
因此,当目标HASH为0x1b0404cb时,难度为:
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF / 0x00000000000404CB000000000000000000000000000000000000000000000000 = 16307.67 pdiff
计算能力
比特币挖矿的过程其实就是通过随机哈希碰撞来寻找解nonce,使得区块哈希小于目标HASH值。而一个矿工每秒能做多少次hash冲突是其“算力”的代表,单位写成hash/s或H/s
算力单位:
1 KH/s = 1000 H/s
1 MH/s = 1000 KH/s
1 GH/s = 1000 MH/s
1 TH/s = 1000 GH/s
1 PH/s = 1000 TH/s
1 EH/s = 1000 PH/s
难度调整
比特币系统的难度是动态调整的。每2016个区块会进行一次调整。调整是基于之前 2016 年区块的区块时间。如果上一个周期的平均出块时间小于 10 分钟,就会增加。如果难度大于10分钟比特币挖矿算法,难度会降低。目的是保证系统稳定每10分钟出块一次,所以难度调整时间约为2周(2016 * 10分钟)
全网算力
全网算力是btc网络中所有参与竞争挖矿的矿工算力的总和。当前难度周期的全网算力会影响下一个周期的难度调整。如果全网算力增加,挖矿难度增加,单个矿机在固定时间内的产出会减少。目前全网算力24.42EH/s左右,蚂蚁S9矿机算力14TH/s左右
那么,考虑到目前全网的算力,下一个周期难度会如何调整?
根据公式:
难度 * 2^32 / 全网算力 = 出块时间
因为出块时间应该稳定在10分钟比特币挖矿算法,也就是600s:
难度 = 600 * 24.42 * 10^18 / 2^32 = 3.46e+12
那么,在3.46e+12的难度下,算力14TH/s的矿工平均出块需要多长时间?
根据公式:
难度 * 2^32 / 算力 = 出块时间
有:
3.46 * 10^12 * 2^32 / 14 * 10^12 = 1.06e+9 s
结果大约是12270天
可查询全网当前难度和算力