说到区块链,我们就不得不说说共识机制,区块链上的共识机制有多种,但任何一种都不是完美无缺,或者说适用于所有应用场景的。本文整了几种比较常见的共识机制,通过对比他们的优缺点,希望对你的区块链应用开发有所帮助。
PoW 工作量证明
整个系统中每个节点为整个系统提供计算能力(简称算力) ,通过一个竞争机制,让计算工作完成最出色的节点获得系统的奖励,即完成新生成货币的分配,简单理解就是多劳多得, bictoin、LTC 等货币型区块链就应用 POW 机制。
优点
完全去中心化节点自由进出,算法简单,容易实现破坏系统花费的成本巨大,只要网络破坏者的算力不超过网络总算力的 50% ,网络的交易状态就能达成一致
缺点
浪费能源,这是最大的缺点区块的确认时间难以缩短,如 bictoin 每秒只能做 7 笔交易,不适合商业应用新的区块链必须找到一种不同的散列算法,否则就会面临 bictoin 的算力攻击对节点的性能网络环境要求高容易产生分叉,需要等待多个确认无法达成最终一致性
PoS 权益证明
也称股权证明,类似于你把财产存在银行,这种模式会根据你持有加密货币的数量和时间,分配给你相应的利息。
优点
对节点性能要求低,达成共识时间短
缺点
没有最终一致性,需要检查点机制来弥补最终性
DPOS 委托股权证明
DPOS 是 PoS 的进化方案,在常规 PoW 和 PoS 中,任何一个新加入的区块,都需要被整个网络所有节点做确认,非常影响效率。
DPoS 则类似于现代董事会的投票机制,通过选举代表来进行投票和决策。被选举出的 n 个记账节点来做新区块的创建、验证、签名和相互监督,这样就极大地减少了区块创建和确认所需要消耗的时间和算力成本。
优点
大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证
缺点
牺牲了去中心化的概念,不适合公有链
PBFT 实用拜站庭容错
实用拜占庭容错机制是一种采用”许可投票、 少数服从多数”来选举领导者并进行记账的共识机制,该共识机制允许拜占庭容错,允许强监督节点参与,具备权限分级能力,性能更高,耗能更低,而且每轮记账都会由全网节点共同选举领导者,允许 33%的节点作恶,容错率为 33%。实用拜占庭容错特别适合联盟链的应用场景。
优点
会背离中心化,加密货币的存在及奖励机制会产生马太效应,让社区中的穷者更穷,富者更富共识效率高,可实现高频交易
缺点
当系统只剩下 33%的节点运行时,系统会停止运行
dBFT 授权拜占庭容错
这种机制是用权益来选出记账人,然后记账人之间通过拜占庭容错算法达成共识。授权拜占庭容错机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。
优点
专业化的记账人可以容忍任何类型的错误记账由多人协同完成,每一一个区 块都有最终性,不会分叉算法的可靠性有严格的数学证明
缺点
当三分之一或以上记账人停止工作后,系统将无法提供服务当三分之一或以 上记账人联合作恶,可能会使系统出现分叉
Pool 验证池
基于传统的分布式一致性技术 ,加上数据验证机制。
优点
不需要加密货币也可以工作,在成熟的分布式一致性算法 ( Pasox、Raft )基础上,实现秒级共识验证。
缺点
去中心化程度不如 bictoin ,更适合多方参与的多中心商业模式。
1
cock2 2018-10-17 13:27:16 +08:00 via iPhone
補充一下 pbft 類算法 另一主要問題是消息爆炸 是呈節點數平方
|