购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

26 目前共识机制大致有几种?各有什么区别?

比较常见的共识机制有九种:

(1)PoW(Proof of Work,工作量证明)机制——多劳多得

PoW机制中根据矿工的工作量来执行货币的分配和记账权的确定。算力竞争的胜者将获得相应区块记账权和比特币奖励。因此,矿机芯片的算力越高,挖矿的时间越长,可以获得的加密数字货币越多。

优点:算法简单,容易实现;节点间无须交换额外的信息即可达成共识;破坏系统需要投入极大的成本。

缺点:浪费能源;区块的确认时间难以缩短;新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;容易产生分叉,需要等待多个确认;永远没有最终性,需要检查点机制来弥补最终性。

目前基于PoW机制的加密数字货币有很多,如比特币、莱特币、狗狗币、达士币、门罗币等初期的加密数字货币。

(2)PoS(Proof of Stake,股权证明)机制——持有越多,获得越多

PoS机制采用类似股权证明与投票的机制,选出记账人,由它来创建区块。持有股权越多,特权越大,并且需负担越多的责任来产生区块,同时也具有获得更多收益的权利。PoS机制中一般用币龄来计算记账权,每个币持有一天算一个币龄,比如:持有100个币,总共持有了30天,那么此时的币龄就为3000。在PoS机制下,如果记账人发现一个PoS区块,他的币龄就会被清空为0,每被清空365币龄,将会从区块中获得0.05个币的利息(可理解为年利率5%)。

优点:在一定程度上缩短了共识达成的时间;不再需要大量消耗能源挖矿。

缺点:还是需要挖矿,本质上没有解决商业应用的痛点;所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。

最先开始运用PoS机制的区块链项目是2012年诞生的Peer Coin,以太坊前三阶段均采用PoW机制,在第四阶段开始以太坊将采用PoS机制。此外,量子链和BlackCoin都采用PoS机制。

(3)DPoS(Delegated Proof of Stake,股权授权证明)机制

DPoS与PoS的主要区别在于节点选举若干个代理人,由代理人验证和记账,但其监管、性能、资源消耗和容错性与PoS相似。可通俗地理解为类似于董事会投票,持币者投出一定数量的节点,由节点进行代理验证和记账。

整个投票模式是:成为代表—授权投票—保持代表诚实—抵抗攻击。

优点:大幅减少参与验证和记账节点的数量,可以达到秒级的共识验证。

缺点:共识机制还是需要代币,而很多商业是不需要代币的。

(4)PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)算法——分布式一致性算法

PBFT算法在保证活性和安全性的前提下提供了( N -1)/3的容错性。在分布式计算上,不同的计算机通过信息交换尝试达成共识,但有时候系统上协调计算机(Coordinator/Commander)或成员计算机(Member/Lieutanent)可能因系统错误并交换错的信息,影响最终的系统一致性。拜占庭将军问题(Byzantine Generals Problem)就根据错误计算机的数量,寻找可能的解决办法,这无法找到一个绝对的答案,但可以用来验证一个机制的有效程度。

而拜占庭问题的可能解决方法为:在 N ≥3 F +1的情况下一致性是可能解决的。其中, N 为计算机总数, F 为有问题计算机总数。信息在计算机间互相交换后,各计算机列出所有得到的信息,以大多数的结果作为解决办法。

优点:系统运转可以脱离币的存在,PBFT算法共识各节点由业务的参与方或监管方组成,安全性与稳定性由业务相关方保证;共识的时延为2~5秒,基本达到商用实时处理的要求;共识效率高,可满足高频交易量的需求。

缺点:当有1/3或以上记账人停止工作后,系统将无法提供服务;当有1/3或以上记账人联合作恶,并且其他所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;去中心化程度不如公有链上的共识机制;更适合多方参与的多中心商业模式。

讲通俗些就是PBFT算法是采用“少数服从多数”来选举领导者并进行记账的共识机制,该机制允许拜占庭容错,允许强监管节点参与,具备权限分级能力,性能高,耗能低,而且每一轮记账都会由全网节点共同选举领导者,允许33%的节点作恶,容错性为33%。

(5)DBFT(Delegated BFT,授权拜占庭容错)算法

DBFT算法在PBFT算法的基础上进行了改进:①将C/S(客户机/服务器)架构的请求响应模式改进为合适P2P网络的对等节点模式;②将静态的共识参与节点改进为可动态进入、退出的共识参与节点;③为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);④在区块链中引入数字证书,解决了投票中记账节点真实身份的认证问题。

优点:专业化的记账人;可以容忍出错;记账由多人协同完成;每个区块都有最终性,不会分叉;算法的可靠性有严格的数学证明。

缺点:当1/3及以上的记账人停止工作后,系统将无法提供服务;当1/3及以上的记账人联合作恶,并且其他所有的记账人被恰好分割两个网络时,恶意记账人就可以使系统出现分叉。

总之,DBFT算法最核心的一点就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。

(6)DAG(Directed Acyclic Graph,有向无环图——无区块链概念

DAG最初出现就是为了解决区块链的效率问题。其通过改变区块的链式存储结构,通过DAG的拓扑结构来存储区块。在区块打包时间不变的情况下,网络中可以并行打包N个区块,网络中的交易就可以容纳N倍。之后,DAG脱离区块链,提出了无区块(Blockless)的概念。新交易发起时,只需要选择网络中已经存在的且比较新的交易作为链接确认,这一做法解决了网络宽度问题,大大加快了交易速度。

优点:交易速度快;无须挖矿;极低的手续费。

缺点:网络规模不大,导致极易成为中心化;安全性低于PoW机制。

(7)Pool验证池——私有链专用

Pool验证池基于传统的分布式一致性技术,加上数据验证机制;之前曾是行业链大范围使用的共识机制,但是随着私有链项目的逐渐减少,其渐渐开始势微。

优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。

缺点:去中心化程度不如Bitcoin;更适合多方参与的多中心商业模式。

(8)Ripple——RPCA(Ripple Protocol Consensus Algorithm,瑞波共识机制)

RPCA是一个类似PBFT算法的共识机制,属于节点投票的共识机制。初始特殊节点列表就像一个俱乐部,要接纳一个新成员,必须由51%的该俱乐部会员投票通过。共识遵循这核心成员的51%权利,外部人员则没有影响力。由于该俱乐部由中心化开始,它将一直是中心化的,而如果它开始腐化,股东们什么也做不了。与比特币及点点币一样,瑞波系统将股东们与其投票权隔开,并因此比其他系统更中心化。Stellar(恒星支付系统)的共识机制SCP(Stellar Consensus Protocol,恒星共识协议)就是在RPCA的基础上演化而来的。

(9)Hcash——PoW+PoS机制

Hcash采用混合共识机制后,有Hcash的用户与矿工均可以参与到投票中,共同处理Hcash社区的重大决定。

Hcash的PoS机制还为不合格的矿工提供了一个制衡机制;通过PoS+PoW机制公平的按持币数量与工作量分配投票权重,可以实现社区自治;PoW机制使Hcash有挖矿的硬性成本作为币价的保证,又制约了单独PoS机制里加密数字货币过于集中的问题;PoS机制让中小投资者着眼于项目的中长期发展,中小投资者更倾向于把币放在钱包里进行股权证明而不是放在交易所随时准备交易,因此使Hcash生态更加健康,人们会将注意力更多地放在Hcash技术与落地应用上,而不是仅仅关注短期的价格波动;在安全性上,由于PoW机制必须通过PoS机制的验证才可生效,PoW矿工不能自行决定并改变网络规则,这有效地抵挡了51%攻击。

[提示] 关于51%攻击的参考详文见 附录C 6FGfXcQEWnArlVBpPzy+CkE52263VB66Dpyh09Jw9m0wO1QqgdOMywmOHH98Nut9

点击中间区域
呼出菜单
上一章
目录
下一章
×