[学习笔记]共识算法之Paxos介绍

2018-07-14  本文已影响0人  William1125

分布式系统是在研究区块链过程中必不可少的部分,在我们进行区块链编程前,一定要打好基础。

接下来的几篇文章,将研究常见的共识算法,非拜占庭容错共识算法Paxos和Raft,以及拜占庭容错算法PBFT、PoW、PoS以及DPoS。

Paxos是一个在不可靠网络环境下解决共识问题的算法。共识是一群参与者对一个结果达成意见一致的过程。

故障模型

分布式系统中几种常见的故障模型,也是上述这些共识算法存在的本质原因。从最特定最简单的到最广泛最复杂的顺序排序:

Paxos是基于Crash-recovery Failures,适合安全的网络环境,被在内网服务的存储或协调服务大量使用。
PBFT和区块链的其他共识算法是基于Byzantine Failures,面向更复杂的环境。

Paxos

Paxos的网络环境可能会出现故障,但绝不会出错,因此可以信任所有节点的交互结果。为了便于描述问题,做出以下假设:

Paxos协议通过角色来描述节点的行为,分别是 clientacceptorproposerlearner以及leader。在典型的实现中,单个节点同时扮演一个或多个角色。这不影响协议的正确性 —— 通常通过合并角色来减少网络延迟。

在第一阶段,当Acceptor接收Proposer的提议,并不代表其同意(Accepted)提议,而是不再接受比其提议编号小的提议

上一篇 下一篇

猜你喜欢

热点阅读