POW,全称Proof Of Work,即工作量证明。它是一种共识协议,即各个节点如何在同一个区块高度上从鱼龙混杂的区块链网络中选择相同区块并记入账本。该协议是由中本聪提出并落地在比特币的实现上。所以,POW也称为中本聪协议。
POW的具体内容也很好理解,就是矿工不断地尝试在区块头中找一个随机数Nonce。最终谁先找到使得自己区块头的哈希值满足一定条件的Nonce值,谁打包的区块就会被全网的节点都认作是本高度的区块记入各自的账本中。
之所以中本聪规定用计算区块头哈希值的方法来进行最终获得“记账权”的共识裁定,是因为到目前为止人类还没有找到可获得预期指定哈希值的捷径。矿工唯一能提高自己获得记账权的方法,就是尽可能的提高尝试次数。这也完全遵从于“按劳分配”的思想方针。
众所周知,PBFT是在1999年被首次提出,要远远早于中本聪提出的POW。那么相比之下,POW对于PBFT的创新之处是什么?
PBFT的应用条件是要求已知节点总数的。该系统不可以随时添加新的节点和退出已有节点。这个对于一个“人人皆可参与”的公链项目是非常不友好的。
而POW则完全没有这个节点总数的限制,任何节点都可以随时加入亦或随时退出。系统的可拓展性变得更强。
洞察POW和PBFT的本质,也可以用社会学理论来解释。即竞争与合作的差别。POW鼓励竞争,每个高度只有一个地址可以获得出块奖励,那么谁凭本事抢到,奖励就是谁的;PBFT则更提倡合作,每个节点要根据自己获得到的别的节点发来的信息进行决策,并且在共识层面PBFT也没有任何奖励机制。
但是万事都讲究此消彼长,存于均衡之间。POW的优势明显,但是它在其他方面也同样做出了舍弃。例如:POW属于最终一致性共识算法,并不是强一致性。也就是说随着时间的推移,各个节点的账本会慢慢达成一致,但并不是每时每刻都能保证一致。
网友评论