共识算法全解析:从基础到前沿
在分布式系统和区块链领域,共识算法起着至关重要的作用,它确保了系统中各个节点之间能够就某些数据或状态达成一致。本文将深入探讨多种常见的共识算法,包括它们的原理、工作流程以及优缺点。
1. 活性与终止性
活性通常意味着最终会有好的事情发生,而终止性作为活性的一个重要属性,要求每个诚实节点最终都能对某个值做出决策。
2. 容错算法分类
主要有两种类型的容错算法:崩溃容错(CFT)算法和拜占庭容错(BFT)算法。
2.1 CFT 算法
2.1.1 Paxos 算法
- 简介 :由 Leslie Lamport 开发,是最基础的分布式共识算法,能在不可靠通信环境下就某个值达成共识。它使用 2F + 1 个进程来确保网络在进程崩溃故障(良性故障)时的容错能力,例如在一个三节点网络中,Paxos 可以容忍一个节点的崩溃故障。
- 工作流程 :
- 准备阶段 :提案者向所有接受者广播
<prepare(n)>消息。 - 接受阶段 :如果提案 n 是接受者迄今为止响应的最高提案,接受者会以确认消息
<ack(n, v, s)>响应。提案者等待从大多数接受者那里收到指示所选值的确认消息。 - 接受消息发送
- 准备阶段 :提案者向所有接受者广播
超级会员免费看
订阅专栏 解锁全文
3975

被折叠的 条评论
为什么被折叠?



