区块链的本质是一个分布式的去中心化的数据库,共识机制就是维护这个数据库正常运转的必要条件,理解了共识机制,也就明白了区块链的工作原理,币评君(biping.io,最全的加密货币行情和区块链资讯)给大家讲讲区块链世界的共识机制有几种形式?优缺点又是什么?
共识机制是什么?
区块链本质是去中心化,去中心化的核心是共识机制,区块链上的共识机制主要解决由谁来构造区块,以及如何维护区块链统一的问题。
共识机制的必要性?
分布式系统中,多个主机通过异步通信方式组成网络集群。在这样的一个异步系统中,需要主机之间进行状态复制,以保证每个主机达成一致的状态共识。错误信息可能出现在异步系统内并不断传播,因此需要在默认不可靠的异步网络中定义容错协议,以确保各主机达成安全可靠的状态共识,这就是共识机制诞生的必要性。
几种共识机制
在区块链网络中,由于应用场景的不同,所设计的目标各异,不同的区块链系统采用了不同的共识算法。每种共识算法都不是完美的,都有其优点和局限性。
一般来说,在私有链和联盟链情况下,对一致性、正确性要求很高,会采用强一致性的共识算法。而在公有链情况下,对一致性和正确性要求稍低,通常采用最终一致性的共识算法。
▌PoW 工作量证明
整个系统中每个节点为整个系统提供计算能力(简称算力),通过一个竞争机制,让计算工作完成最出色的节点获得系统的奖励,即完成新生成货币的分配,简单理解就是多劳多得,bictoin、LTC等货币型区块链就应用POW机制。
▶优点
完全去中心化
节点自由进出,算法简单,容易实现
破坏系统花费的成本巨大,只要网络破坏者的算力不超过网络总算力的50%,网络的交易状态就能达成一致
▶缺点
浪费能源,这是最大的缺点
区块的确认时间难以缩短,如bictoin每秒只能做7笔交易,不适合商业应用
新的区块链必须找到一种不同的散列算法,否则就会面临bictoin的算力攻击
对节点的性能网络环境要求高
容易产生分叉,需要等待多个确认
无法达成最终一致性
▌PoS 权益证明
也称股权证明,类似于你把财产存在银行,这种模式会根据你持有加密货币的数量和时间,分配给你相应的利息。
▶优点
对节点性能要求低,达成共识时间短
▶缺点
没有最终一致性,需要检查点机制来弥补最终性
▌DPOW 委托股权证明
DPOW是 PoS 的进化方案,在常规 PoW和 PoS 中,任何一个新加入的区块,都需要被整个网络所有节点做确认,非常影响效率。
DPoS则类似于现代董事会的投票机制,通过选举代表来进行投票和决策。被选举出的n个记账节点来做新区块的创建、验证、签名和相互监督,这样就极大地减少了区块创建和确认所需要消耗的时间和算力成本。
▶优点
大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证
▶缺点
牺牲了去中心化的概念,不适合公有链
▌PBFT 实用拜占庭容错
实用拜占庭容错机制是一种采用“许可投票、少数服从多数”来选举领导者并进行记账的共识机制,该共识机制允许拜占庭容错,允许强监督节点参与,具备权限分级能力,性能更高,耗能更低,而且每轮记账都会由全网节点共同选举领导者,允许33%的节点作恶,容错率为33%。实用拜占庭容错特别适合联盟链的应用场景。
▶优点
会背离中心化,加密货币的存在及奖励机制会产生马太效应,让社区中的穷者更穷,富者更富
共识效率高,可实现高频交易
▶缺点
当系统只剩下33%的节点运行时,系统会停止运行
▌dBFT 授权拜占庭容错
这种机制是用权益来选出记账人,然后记账人之间通过拜占庭容错算法达成共识。授权拜占庭容错机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。
▶优点
专业化的记账人
可以容忍任何类型的错误
记账由多人协同完成,每一个区块都有最终性,不会分叉
算法的可靠性有严格的数学证明
▶缺点
当三分之一或以上记账人停止工作后,系统将无法提供服务
当三分之一或以上记账人联合作恶,可能会使系统出现分叉
▌Pool 验证池
基于传统的分布式一致性技术,加上数据验证机制。
▶优点
不需要加密货币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。
▶缺点
去中心化程度不如bictoin,更适合多方参与的多中心商业模式。
▌Paxos
这是一种传统的分布式一致性算法,是一种基于选举领导者的共识机制。领导者节点拥有绝对权限,并允许强监督节点参与,其性能高,资源消耗低。所有节点一般有线下准入机制,但选举过程中不允许有作恶节点,不具备容错性。
Paxos算法中将节点分为三种类型:
proposer:提出一个提案,等待大家批准为结案。往往是客户端担任该角色
acceptor:负责对提案进行投票。往往是服务端担任该角色
learner:被告知结案结果,并与之统一,不参与投票过程。可能为客户端或服务端
Paxos 能保证在超过50%的正常节点存在时,系统能达成共识。
▌瑞波共识机制
瑞波共识算法使一组节点能够基于特殊节点列表形成共识,初始特殊节点列表就像一个俱乐部,要接纳一个新成员,必须由该俱乐部51%的会员投票通过。共识遵循这些核心成员的“51%权利”,外部人员则没有影响力。由于该俱乐部由中心化开始,它将一直是中心化的,而如果它开始腐化,股东们什么也做不了。与bictoin及Peercoin一样,瑞波系统将股东们与其投票权隔开,因此,它比其他系统更中心化。
▌Peercoin
Peercoin(点点币,PPC),混合了POW工作量证明及POS权益证明方式,其中POW主要用于发行货币,未来预计随着挖矿难度上升,产量降低,系统安全主要由POS维护。
想知道更多区块链的资讯和干货,请持续关注币评君(biping.io,最全的加密货币行情和区块链资讯。