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

\n

让我们回到有 12 个评审员的会议室 。 为了追求 Finality , 每个评审员都需要了解其他每一个人的想法 , 也需要把自己的想法告诉其他每一个人 , 因此通信复杂度会随着评审员人数的增加而迅速递增 , 整个系统将因此不可用 , 所以必须控制陪审员的数量 。

\n

那么对于一个分布式系统而言就是 , 只挑选少数节点进入会议室 , 由它们决定共识 , 而其他节点只接受共识 。 因此这种系统中有三种角色 , 领导者、追随者和学习者 , 领导者和追随者是会议室中的评审员 , 他们需要好好工作 , 不然可能导致系统无法达成共识 。

\n

中本聪共识追求的是 Liveness , 节点 / 评审员不需要与其他的每一个节点沟通 , 它只需要与自己身边的节点交流即可 , 因此通信复杂度不会因为节点数量的增加而增加 。 你想成为评审员 , 就可以走进会议室成为评审员 , 无需许可 , 也不会增加陪审团达成共识的难度 , 同时你也可以不工作或随时离开 。 该系统中只有领导者和追随者两种角色 , 所有人都在那间会议室里参与共识 。

\n

这样看来中本聪共识似乎更符合大家对分布式系统的开放性的期望 , 但别忘了它之所以可以如此设计 , 是因为牺牲了 Finality , 它的输出结果是一个概率上的最终结果 。

推荐阅读