挖矿是不断随机尝试nonce值,是区块结构的哈希满足一定条件(比如小于某个目标阈值)
H(block heade) ≤ target 比特币哈希算法 SHA-256
调整target就是调整挖矿难度,挖矿难度与目标阈值成反比。
为了避免因为算力增长太快导致的出块时间过短而导致的大量分叉而构成的安全威胁,需要调整挖矿难度
在比特币系统中每隔2016区块(大约14天)调整target,通过实际时间调整挖矿难度,但是实际最多调整不能超过4倍的幅度。
调整难度代码:
next_difficulty= previous_difficulty*(2 weeks)/(time to mine last 2016 blocks)
在以太坊中,使用ghost,对于orphan block 会给予奖励(uncle reward)而不是将其丢掉