📅 2026-03-19 | 来源: matklad.github.io | ⭐⭐⭐⭐⭐ (5星)

🎮 Consensus Board Game: 用棋盘游戏理解共识算法

推荐理由: Paxos算法最易懂的可视化解释

问题设定

一个由5人组成的委员会试图为自行车棚选择颜色,但成员并不可靠。我们需要即使部分成员缺席也能达成决议。

基础:多数投票

共识的基本思想是多数投票。5人委员会,3票即胜。

问题:投票可能陷入僵局——2票红色,2票蓝色,潜在决定者投了绿色!

引入领导者

指定R0为领导者,选择颜色,其他人只能批准。仍需50%投票率才能通过。

问题:领导者自己可能不可用!

核心创新:二维棋盘

解决方案是进行一系列并发投票,领导者轮换(轮询):

关键约束

任意两个达成多数的列必须同意颜色。换句话说,整个棋盘的结果是任意首先完成的列的结果,安全条件是没有两个颜色能在不同列达成多数

抽象的力量

这个鸟瞰视图可以用几次消息交换在真实分布式系统中实现。每个参与者只看到自己的行,整个棋盘保持隐藏。

→ 阅读原文

→ Paxos笔记(更正式)


← 返回首页