区块链的几种共识算法介绍

所谓共识机制可以简单的按照字面上的意思来分析,共识词语的释意为共同的认知。共识机制也就是一种能够达到共同认知的机制。

为什么区块链需要共识机制

区块链是一种分布式去中心化的架构。需要解决的问题就是在去中心化的条件下能够达到统一的认知,对于某些账单是否有效,账单是否可以写入。确定网络中的记账节点,保证数据的一致性与正确性。通俗一点来讲,某些区块链操作比如增加交易,生成新的区块均需要进行全网的所有节点确认。如果大部分的节点认为这个有效,那么则进行操作。

POW : Proof of Work 工作量证明

比特币在产生新区块的时候就是使用的POW机制。就是按照字面的意思进行理解:做的工作越多,那么证明自身的价值更高。这里指的是比特币的Hash运算方式。每一个新的区块产生都需要进行前导的计算,当某个节点生成了一个合理的Hash值,说明该节点已经进行了大量的计算工作。当然也无法说明是一个绝对值,只能说有概率。而按照这种说法,如果节点拥有了全网n%的计算能力时,那么它也就有了n%的概率能够获得区块创建权。也就是挖矿。当然随着大量的矿机的部署,电力等其他资源的浪费也是人们所诟病的地方。

'POW'让区块链得以实现。但是该机制也同样让人们感到担忧。完全的去中心化的本质是好的,让人人实现平等的权益。但是由于专业矿机,挖矿团队的出现反而让权益发生了不平等。而全网大约60%~70%的算力集中在中国。这引起了大量的担忧,如果中国的所有矿机集中起来对于比特币来说会是一场灾难。

POS:Proof of Stake 权益证明

有鉴于POW的一些缺点提出了POS权益证明的机制。权益证明提出了币龄的概念。也就是说,根据你持有的货币数量与持有的时间来给予你一定的利息。其实类似于银行存款,如果你在银行存储100万存储周期为10年。那么每年都会给予你一定的利息。POS机制下如果你发现了一个新的区块,那么你的币龄将会被清空。那么节点创建新区块的概率是随机的,同样影响随机侧重的也就是你的币龄*币数量。也就是说,你持有的越多持有的时间越长你获取创建新区块的概率也就越高。

POS权益证明机制解决了POW的资源消耗等问题,但是由于真实的投票权掌握在‘大股东’手中。而大股东也不一定为了记账做了一定的努力。而且掌握大量‘财富’的‘大股东’可能掌握了长期的优势,可能会导致产品走向中心化。

DPOS:Delegated Proof of Stake 委托权益证明

DPOS 简单来说类似于人民代表大会制度,由参与的节点选择101个超级节点来代表自身的利益。而这101个节点之间的权益是相等的。如果某个超级节点不能履行它的职责,那么将会选举新的超级节点来取代他。

由于减少了全网确认的需求,DPOS机制大大提高了交易速度。但是其实相对来说,也有人诟病其中心化的特性。EOS就是采用的DPOS机制来提供底层支持。

PBFT:Practical Byzantine Fault Tolerance 实用拜占庭容错

拜占庭将军问题是很早以前提出的一个问题,详细的情况就不在这里进行描述了。其实主要是为了描述分布式系统一致性的问题。而放在去中心化系统中则是为了解决某些节点的错误响应,错误消息甚至被恶意者攻击等。而如果系统中其他节点无法识别错误节点,那么对系统就会造成巨大的破坏。

实用拜占庭容错算法的共识机制实现简单来说:把信息在所有运行的节点进行交换后,获取到各个节点的信息。以大多数的返回结果作为执行方案。在PRFT算法中,主要通过少数服从多数的情况来确定。而少数的错误量不能超过1/3。也就是说,如果有超过2/3的节点返回的结果是正常的,那么该系统即可正常工作。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180607G091XI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券