共识算法

共识算法的作用是让分布式系统中的多个节点之间对某个提案(Proposal)达成一致的看法。提案的含义在分布式系统中十分宽泛,像哪一个节点是 Leader 节点、多个事件发生的顺序等等都可以是一个提案。

针对没有恶意节点的情况,当前最常用的一些共识算法都是基于 Paxos 算法改进的,如 Raft 算法、ZAB 协议、Fast Paxos 算法。

针对存在恶意节点的情况,一般使用的是工作量证明(PoW,Proof-of-Work)权益证明(PoS,Proof-of-Stake)等共识算法。典型应用就是区块链。

区块链系统中使用的共识算法需要解决的核心问题是拜占庭将军问题

算法

Paxos算法

参考资料