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

\n

二、分布式系统的共识算法

\n

虽然 FLP 不可能原理很残酷 , 但分布式系统能够带来的好处是值得我们迎难而上的 。 既然不存在面向所有场景的共识算法 , 那么也许可以找到一些在特定场景中有效的共识算法 。 共识算法 , 是指让分布式系统达成共识的方法 。

\n

让我们看看科学家们是如何一步一步限定场景 , 并实现该场景下的共识算法的 。

\n

首先 , 如果系统中的每一台计算机都可以提出自己的结果 , 场面无疑是复杂的 , 因为我们连就哪一个结果去达成共识都无法知晓 。 所以解决共识问题的第一步是确定共识的到底是什么 , 最简单的方法就是某一台计算机说了算 , 它提出一个结果 , 其他的计算机来表态是否同意这个结果 。

\n

说了算的那台计算机被称为提案者或者领导者 。 虽然通过领导者来实现共识并不是唯一解决问题的方法 , 但绝大多数协议都是在此基础上实现的 , 包括区块链系统中使用的共识算法 。

\n

所以你看 , 并没有绝对的去中心化 , 实现共识的第一步就是要确定一个中心 。

推荐阅读