最早的区块链如比特币以及以太坊都是采用PoW共识机制保障区块链帐本的一致性与交易的最终性。PoW的全名是Proof of Work ,中文为工作量证明。

何谓工作量证明

网络上的节点可以简单地透过工作量证明,快速验证彼此是否拥有记帐权。就像是我们求学时期所发的毕业证书,大学四年熬夜苦读、凿壁偷光就是为了获得那张毕业证书,求职时,面试官透过那张毕业证书,快速验证你大学的成果。上述例子中,你的毕业证书就是你的「工作量证明」。

以比特币为例介绍PoW

每10~15 分钟比特币网络上全体矿工会互相竞争,运用大量的运算能力去解一道复杂的数学题的答案,这个答案是一个随机数,可以想像题目大概长这样:

Hash{(前一个区块的Hash 值),(当前区块的交易资讯),(随机数)}=当前区块的Hash 值

矿工必须找出一串数字,代入上述公式,让当前区块的Hash 值开头为18 个0 ,例如:

0000000000000000001583447dd74c13c09280a9218827244089adadaba8c8c9

解答的过程没有轨迹可循,矿工只能不断代入随机数,透过暴力的解法找出答案。

挖矿难度

最先解开的人就能获得下一个区块的记帐权并获得比特币作为奖励。比特币固定10~15分钟出块一次,但是如果节点越来越多、全网算力增加,会缩短算出答案的时间。因此,比特币协议每2016个区块会调整一次挖矿难度,大约两个礼拜调整一次。挖矿难度提高时,就必须找出有更多个0的当前区块Hash值,例如从原先的18个0增加到19个0,难度降低时则相反。

算力低的矿机没机会得到记帐权

必须强调的是,挖矿的过程其实像是掷一颗20面的骰子,谁先骰到< 2的数字谁就能获得计帐权,换句话说,矿机的硬体运算能力再强大,也只能提高获得计帐权的机率(骰骰子手速比较快),算力差的矿工不代表没有机会。

很多人都认为,如果以后超级电脑普及,工作量证明不就没用了吗其实工作量证明数学题的难度相当高,因此取得记帐权的机会就像抽奖一样,即便某人拥有超级电脑,也只能够提高机率。这就像在湖里丢一枚硬币,让一万个人去找这枚硬币,就算你是奥运游泳选手,也未必能第一个找到这枚硬币,只能提高找到的机率。

优点

容易实现,节点可自由进入,去中心化程度高。 破坏系统需要投入极大的成本,安全性极高。

缺点

为了保证去中心化程度,区块的确认时间难以缩短。 透过矿工的计算能力以及硬体成本确保矿工立意良善,挖矿过程中过多的能源消耗,使得这个机制非常不环保