拜占庭共识算法详解
在分布式系统中,共识算法是确保多个节点达成一致决策的关键机制。拜占庭共识算法则是在存在恶意节点(拜占庭节点)的情况下,依然能保证系统的一致性和正确性。本文将详细介绍拜占庭共识算法中的拜占庭领导者驱动共识和拜占庭随机化共识算法。
1. 拜占庭领导者驱动共识
拜占庭领导者驱动共识算法在故障嘈杂任意模型中提供弱拜占庭共识。该算法与故障停止进程的对应算法的区别仅在于使用了支持拜占庭进程的底层抽象。
1.1 算法执行过程
- 每个新的纪元实例初始化时,会增加超时时间
T并启动定时器。 - 如果定时器超时,进程会向拜占庭领导者检测器发送抱怨消息,触发
⟨bld, Complain | ℓ⟩事件。
当调用“拜占庭基于领导者的纪元变更”算法和“拜占庭读写纪元共识”算法时,可以进行以下简化:
- 省略 READ 消息 :纪元领导者在获得足够的 NEWEPOCH 消息并启动新纪元的纪元共识算法后,会立即发送 READ 消息。因此,每个进程在初始化纪元共识实例时,只需使用其 STATE 消息调用条件收集。
- 跳过初始条件收集 :在算法调用的第一个纪元共识实例中,由于除领导者外的所有进程最初都存储默认状态,因此可以跳过用于读取所有进程状态的条件收集原语。只有初始领导者需要使用经过身份验证的完美链接传播其状态。
超级会员免费看
订阅专栏 解锁全文
86

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



