零基础一文读懂分布式系统( 十 )

\n

\n

到此 , 我们就解决了有拜占庭节点的分布式系统的共识问题 。 不过如果系统中坏人的数量等于或多于 1/3 , 依然是无法达成共识的 。 我们能做的是通过系统的准入条件或激励措施 , 让坏人可以少于 1/3 。

\n

对分布式系统的第二阶段的探索到这里就结束了 , 接下来进入到第三阶段 。

\n

五、中本聪共识算法

\n

不管 Paxos 还是 PBFT , 都使用了同步性假设 , 事实上 , 大家对共识算法的研究几乎都是在该方向上的 , 直到中本聪共识的出现 。 中本聪共识使用的是非确定性机制 。

\n

这是什么意思呢?我们可以把一个由 12 台计算机组成的分布式系统想象成一个由 12 名陪审员组成的陪审团 。 我们把这 12 个人关在会议室里 , 递进去一张纸条阐述案情 , 然后坐在会议室门口等他们给出审理的结果 。

\n

这 12 个人对于如何判决会有不同的意见 , 随着讨论的深入也可能改变自己的立场 , 还有的人可能睡着了无法发表看法(参考《十二怒汉》) 。 那么坐在门口等的人有两种选择 。 第一种选择是你们去讨论吧 , 让我等多久都可以 , 但最后你们给我的必须是唯一确定的审理结果;第二种选择是我等不了 , 你们先把最多人同意的那个结果给我 , 如果之后出现一个更多人同意的结果 , 我再改成那个结果 。

推荐阅读