@TOC
背景介绍
共识机制是区块链一大知识领域, 作用就是维持分布式节点间的一致性,从而支撑去中心化,早在区块链之前,就存在各种分布式的共识机制,共识机制不是因区块链所发明,但区块链却对共识机制推广和进步有着重要影响。
共识算法分类
按应用场景分,共识算法可以分成两大类, 1、有坏人节点, 2、无坏人节点。
1、 有坏人节点,典型拜占庭问题,即系统中可能出现故意传送假结果的节点导致分布式系统结果错误,这种场景重点是在存在坏人的情况下能达成大家认可的一致结果。 其中BFT,PBFT, POW,POS都属于这类。
2、 无坏人几点,此类分布式共识算法,只需要保证各节点行动一致,并在部分节点down后能继续工作,一般在封闭式的分布系统使用,其中有Raft,Paxos。
对几种常见共识算法,大都类似的思路, 就是 一个组长(primary)带着N个成员(backup)干活,由组长派活收集各节点的状态,再确定结果是否一致, 类似分布式事务的二段提交。
其中不同算法主要解决这几个问题思路不一样,
- 系统如何判