目前,区块链的共识机制主要有工作量证明、权益证明和最长链机制共识。工作量证明和权益证明我们之前有介绍过,现在我们来简单回顾一下:
工作量证明PoW,是用来解决比特币随意记账的一种方法,就像我们需要毕业证书来证明我们完成大学四年的学习一样,比特币也需要通过工作量证明机制来确保记账权力的宝贵性。早期的区块链项目基本都是模仿区块链的,实行的是工作量证明。1997年英国的密码学家亚当贝克发明的哈希现金用的就是工作量证明。这个方法解决了互联网垃圾邮件的问题,它要求计算机在获得发送信息权限之前要做一定量的计算工作,这对正常的信息传播来说几乎很难察觉,但对于在全网散发大量垃圾邮件的计算机来说就形成巨大的工作量和负担。在比特币之前,哈希现金被用来过滤垃圾邮件,也曾被微软用在Hotmail和Outlook等产品软件当中。但对工作量证明,也有人会提出批评,就是它会耗费大量的资源。每个节点进行算力竞赛是需要耗费电力的。所以,也就相应地出现了另一种机制,权益证明。
权益证明PoS,是和工作量相对应是另一种保证比特币交易效率的机制,谈根据你在这个网络里拥有币的数量来竞争记账的权力,你持有的币越多,获得记账权力的概率就越大。这种机制在一定程度上能缩短共识的达成时间,减少消耗大量的能源。那是不是意味着,如果我们能买入大量的币就能获得记账的话语权呢?这就需要提到另外一个概念,币龄,就是数字货币的年龄。我们之前讲过UTXO是躺在你地址里没有花出去的币,在比特币的世界里,UTXO位于区块的高度和当前最长链区块的高度的差值决定这这笔比特币的币龄,差值越大,币龄越大。如果你花费了UTXO的话,就代表这这个币龄被消耗掉了。比如,你的朋友之前转给了你一枚比特币,这枚比特币被矿工在42万高度的区块打包,目前区块的高度是48万,目前为止你还没把这枚比特币花出去,那么这枚比特币的币龄就是6万。你的权益很可能就是6万*1枚等于6万枚,假设全网UTXO加起来的币*币龄是1千亿,那么你获得记账和比特币奖励的概率就是一千万分之六。在POS里,拥有币和币龄越高的节点拥有越高的产生新区块的概率就越大。综上,就是你拥有的币越多,币龄越大,获得记账权力的概率就越大。
最长链机制,一般的区块链为了长久的发展下去都会要求所有的节点遵循一个公式,所有保存到本地的节点都是被本地节点验证通过的最长的链。由于区块链的每个区块必须引用它的前一个区块,所以最长链也是最难推翻的。那么怎样才能保证最长链呢?理论上矿工是可以在任意一个区块的基础上去计算下一个区块的。但是,只有最长的那个区块链的区块才能获得系统承认并得到比特币的奖励。打包区块的奖励只有该区块增加之后才能被使用。也就是说如果你是矿工,你挖出的新区块,你获得的新生的比特币奖励只有往后延伸99个区块后你才能动用这笔区块链奖励,这也是保证区块链分裂的重要机制。
当然,现在大部分的区块链项目都已经不再是使用单一的工作量证明或是权益证明了,更多的是把这几种机制都一起使用。
除了上面三种共识机制。还有其他共识机制如股份授权机制 DPUS,类似于董事会投票,持币者投出一定数量的票,代理他们进行验证和记账。另外,还有燃烧证明POB,沉淀证明POD,能力证明POC,还有消逝时间证明POET这样的共识方案,不过这些方案还不够成熟。
2018-03-31