因为记账有一定的奖励和手续费,所以自然会有竞争,POW (Proof of Work) 工作量证明共识机制就是用来在“谁有权记账”这一问题上达成共识。 简单来说,就是争夺记账权的多方通过付出计算资源解决一个数学难题,谁先解决谁就获得记账权,这个争夺的过程就是“挖矿”,也是比特币发行的过程。具体的计算问题是,计算出新区块的hash值,并且这个hash值要小于某个数,也就是要有足够多的前导零,前导零越多,计算难度越大,可以以此调整生成一个区块的所需的时间。新区块综合了上一区块的hash值、上一区块生成之后的新的验证过的交易内容的Markle Root值,以及一个待猜测的一定范围内的随机数Nonce,计算量就在于穷举Nonce值以计算出符合条件的hash值。POW还有一个最长链机制,即用户会把最长链作为主链并继续拼接下去。因此,系统中可能出现链的分叉(Fork),但最终会有一条链成为最长的链。
(1)可以避免双花攻击行为发生。 (2)挖矿难度可以自动调整。 (3)可以吸引用户快速参与其中,因为越早参与获利越多。 (4)通过“挖矿”发行比特币,相对公平。