目录
一、理清POW:POW共识机制的原理
在区块链中,核心的技术之一就是工作量证明机制(Proof-of-Work)。这种共识机制比较早地在区块链应用中得到落地实现,比如为人熟知的比特币系统中节点构成的比特币网络,就是这种技术的成功实践。历经这么多年了,比特币网络相对较为稳定也是得益这一成功的POW共识机制。
抽象地来说,POW的共识机制,就是每次转发或者记录一条消息,你需要证明你对转发或者记录这条消息付出了一定的努力和代价。当你的证明有效的时候,你将能够收获到奖励,如果存在不诚实的行为,将会收到处罚。
在区块链系统中,节点的工作量证明,就是通过计算来猜测一个随机数(nounce),拼凑打包好的交易数据,得到满足某种条件的一个安全哈希函数值(在比特币中的条件限定为函数值前0的个数)。由于hash难题在目前计算模型下需要大量的计算,这就保证在一段时间内,比特币系统只会收到一小部分节点提交的符合条件工作证明。符合条件的工作证明结果会成为一个区块,在P2P网络中进行广播。收到区块的用户验证节点会进行验证该区块的正确性,得到超过50%的用户验证节点的证实后,该区块将会加入到当前比特币系统中最长的公链上。然后在这一条最长链上继续进行数学难题的计算。虽然系统中可能会出现短时间链的分叉,但较短链上的区块将会在一定时间内视为废块丢弃,最终会有一条链成为最长的链。
比特币的共识过程就是每个节点的矿工通过强大的算力来解决一个具有很大难度的动态可调整的数学难题(猜测nounce),争相获得记账权的,获得系统比特币奖励的过程。这就是一个依靠矿机等硬件提供强大算力来进行的计算比赛,将付出不小的经济成本(电力,硬件,维护等)。如果没有成为那个算出nounce的幸运节点时,意味着之前付出的代价都石沉大海,投资惨败。但这也保障了,如果存在恶意节点尝试破坏区块链,计记账的时候,需要付出极大的经济成本,这也为区块链的安全性增加了一道防