区块链的基础是P2P分布式网络,加密算法,共识机制等。在这些基础的技术中,共识机制的重要性是不言而喻的。目前主要几类共识算法如下:PoW、PoS、DPoS、Ripple Consensus、Pool验证池。
以下将逐一简单介绍这些机制内容:
第一:工作量证明
工作量证明(简称PoW)通常只能是结果证明,检测结果是比较低效且繁琐的。它依赖机器进行数学运算来获取记账权,资源消耗较大,虽然共识机制高,但可监管性弱,而且每次达成共识需要全网共同参与运算,性能效率较低,可允许全网50%节点出错。
优点:完全去中心化,节点可自由进出。
缺点:(1)因BTC已经吸引全球大部分的算力,其他区块链如果再使用PoW共识机制就很难获得相同的算力来保证安全;
(2)造成大量的资源浪费;
(3)共识达成的周期较长。
第二:权益证明
权益证明(简称PoS)的主要理念是节点记账权的获得难度与节点持有的权益成反比,与 PoW相比,它减少了数学运算带来的资源浪费,性能也得到相应的提升,但依然是基于哈希运算,竞争获取记账权,可监管性较弱。
对于容错性方面则与PoW相同,它又是PoW的一种升级。根据每个节点所占代币的比例和时间,等比例地降低挖矿难度,从而加快找到随机数的速度。
优点:缩短了共识达成时间,不再需要大量消耗电力去挖矿;
缺点:还是需要挖矿,本质上没有解决应用商业上的痛点;所有的确认都只是在一个概率上的表达,而不是一个确定性的事情。所以,理论上存在被攻击的可能。
第三:股份授权证明
股份授权证明(DPoS)与PoS的主要区别在于节点选举若干个代理人,由代理人验证和记账,但其监管、性能、资源消耗和容错性与POS相似。通俗的理解类似于董事会投票,持币者投出一定数量的节点,由节点进行代理验证和记账。
整个投票的模式是:成为代表----授权投票----保持代表诚实----抵抗攻击
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。
缺点:共识机制还是需要代币而很多商业是不需要代币的。
第四:投注共识
投注共识是属于PoS。Casper的共识是按区块达成的,而不是像PoS那样按链达成的。它有特殊的惩罚机制,比如:如果您两次的投注序号一样,或者说您提交了一个无法让Casper依照合约处理的投注,您将失去所有的保证金。这是为了验证人在不同的世界中提供不同的投注,从而可以遏制非法节点恶意攻击网络,让其得不到交易费并没收保证金,大大提升非法节点的攻击风险。
Casper协议下的验证人需要完成出块和投注两个活动,具体如下:出块是一个独立于其他所有事件而发生的过程,验证人收集交易,当轮到他们出块的时间时,他们就制造一个区块,并签名后,发送到网络上。目前验证方式的设计还是模仿传统的拜占庭容错共识即:取33%处的值,向0或者1进一步移动。
第五:瑞波共识机制
瑞波共识算法是使一组节能够基于特殊节点达成共识。初始特殊节点列表就像一个俱乐部,要接纳一个新成员必须由俱乐部51%的会员投票通过。这51%的成员拥有绝对的权力,外部人员没有权力,所以,这种机制更具有中心化的概念。
第六:Pool验证池
基于传统的分布式一致性技术以及数据验证机制。
优点:不需要代币也可以工作,在成熟的分布式一致性算法的基础上,可实现秒级共识验证。
缺点:多方参与的中心化商业模式。
第七:实用拜占庭容错
在分布式计算上,不同的计算机通过信息交换尝试达成共识,但有时候会因为计算机系统出错或交换错的信息,导致影响系统的一致性。对于拜占庭将军这种问题,通过的解决方法是:计算机的总数>三台有问题的计算机+1以此方法来得以实现解决问题的一致性。
讲通俗些就是采用“少数服从多数”来选举领导者并进行记账的共识机制,该机制允许拜占庭容错,允许强监管节点参与,具备权限分级能力,性能高,耗能低,而且每一轮记账都会由全网节点共同选举领导者,允许33%的节点作恶,容错性为33%。
第八:授权拜占庭容错
在实用拜占庭容错的基础上进行了以下改进:
(1)将C/S(客户机/服务器)架构的请求响应模式改进为合适P2P网络的对等节点模式;
(2)将静态的共识参与节点改进为可动态进入、退出的共识参与节点;
(3)为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);
(4)在区块链中引入数字证书,解决了投票中记账节点真实身份的认证问题。
优点:专业化的记账人;可以容忍出错;记账由多人协同完成;每一个区块都有最终性,不会分叉;算法的可靠性有严格的数学证明。
缺点:当1/3及以上的记账人停止工作后,系统将无法提供服务;当1/3及以上的记账人联合作恶,且其他所有的记账人被恰好分割两个网络时,恶意记账人就可以使系统出现分叉。
总之,授权拜占庭容错机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。
九:帕克索斯算法
这是一种传统的分布式一致性算法,是一种基于选举领导者的共识机制。领导者节点拥有绝对权限,并允许强监管节点参与,其性能高,资源消耗低。所有节点一般有下线准入机制,但选举过程中不允许有作恶节点,不具备容错性。
十:DPos+PoW混合共识算法
WDC主链采取的是DPoS+PoW混合共识算法。对于DPoS的加入,社区节点通过抵押以及投票,动态选出每一个纪元的前15名作为矿工。对于PoW,机制比较简单,就是在创世区块设定一个难度目标值,作为难度1,然后每个挖矿节点进行一个哈希计算,哈希计算出来的值小于难度目标值就算是获得了打包权。