区块链(公链)要成为一个难以攻破的、公开的、不可篡改数据记录的去中心化的可信系统,需要在尽可能短的时间内做到分布式数据记录的安全、明确及不可逆才能实现。实现该目标的技术核心就是共识机制,甚至可以说:共识机制决定了区块链链条上数据的可信度,不可不探讨。
共识机制分为两个方面:1.选择一个独特的节点来产生一个区块(记账权) 2.准确不可逆的记录分布式网络的交易信息。
一、以比特币为例说明一下POW共识机制:
第一步,通过工作量证明POW(也就是算上个区块的对应的下一个区块的哈希值)选出节点记账权。第二步,最先得到6个以上节点的确认后,添加到区块链上,视为最长链,其他矿工在最长链上继续下一轮竞争。
最长链共识也是共识机制的不可或缺的一部分。
另:比特币分叉其实和共识机制有关系但不是必然关系,比如扩容后的BCC仍然采用Pow挖矿的形式,只不过算力分散,挖矿简单了。
二、POS+POW
币天:节点拥有币数*持币天数。你持有一个比特币一年,币天值为365币天=你持有365比特币一天。
这种机制采用POW发行新币,采用POS维护区块链安全。区块也分为pow区块和pos区块。即在造币初期采用pow机制,使造币更加方便,随着节点增多,时间延长,后期以pos和pow结合。后期记账节点消耗的币天多少是能否取得记账权的关键因素,系统会在特定的消耗类似币天值的节点中用pow的形式随机竞争产生记账节点。
这种机制判断主链的标准是消耗的币天值。币天值会随着网络的发展越来越趋近于平均值,因此,只要你持有一定数量的币时间足够长,都有可能挖到区块,不会导致算力集中。同时,在区块链中,要进行51%的攻击,首先要控制数量众多的币天值,提高了攻击成本;其次,攻击者攻击网络也会消耗币天,这使得攻击者阻止交易进入主链变得更加困难。
三、POS
单独使用权益证明POS机制的典型应用是未来币。
未完待续……