拜占庭共识:从理论到实践的全面解析
1. 共识基础与变体
原子广播协议与共识等价。对于提供服务的状态机,由一组状态变量定义其状态,一组命令修改状态变量。若满足以下四个属性,所有正确的服务器将遵循相同的状态历史:
- 初始状态 :所有正确的服务器从相同状态开始。
- 一致性 :所有正确的服务器执行相同的命令。
- 全序性 :所有正确的服务器按相同顺序执行命令。
- 确定性 :在两个不同的正确服务器中,相同的初始状态下执行相同的命令会产生相同的最终状态。
若满足这些属性,只要故障服务器数量不超过 f,服务就是正确的。n(服务器总数)和 f 的关系取决于算法,如 n ≥ 3f + 1 或 n ≥ 2f + 1。状态机复制(SMR)虽与共识不同,但因涉及解决共识问题,常被称为共识,此术语在区块链领域较为常见。
Paxos 对共识的定义有助于在崩溃故障模型中简单实现 SMR,但在拜占庭故障模型中,由于故障进程可能任意偏离算法,情况会更复杂。
此外,还有几种共识变体:
- k - 集共识 :正确进程最多决定 k 个不同的值。
- 带替代方案的拜占庭将军问题 :进程对可接受和不可接受的决策/行动可能有多种看法,目标是让所有正确进程就正确进程提出的好决策达成一致,绝不接受坏决策。
大多数共识定义假设算法由固定的 n 个已知进程执行,不过也有关于动态系统中共识的研究,其中进程
超级会员免费看
订阅专栏 解锁全文
2292

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



