其余矿工便由竞争模式改为共同维护更新该区块模式。

来实现一个能多方共同维护的单一系统,

进行 POW 计算的过程俗称挖矿,很多人也常用算一道数学题形容。

每个区块中 Block Header 包含许多固定的值,其中只有 Nonce 值为随机值。每个节点(矿工ㄉ意思)进行 POW 时,要不断替换这个 Nonce 值,让这个区块的 Block Header Hash 值要小于一个被设定好的难度目标值(Difficulty Target)。

这里提到的难度值(Difficulty)是指,节点要运算出低于困难度目标值的Hash值,平均需花多久时间;换句话说,平均要完成一次POW的时间。

在比特币区块链设定的难度值为,大约每10分钟会有节点成功算出新的区块。不过这10分钟只是基于理论值,实际每个新区块产生的时间,有可能只需要17秒,也有可能需要20分钟以上。

Difficulty 可动态调整,目前每产生2016个区块会调整一次难度,以每10分钟产生一区块估算,大约是每两周会调整一次 Difficulty。 由于POW具有一定的难度,因此无法预期哪个运算节点可以最快算出新区块,借此来确保交易验证的公正性。