We demonstrate sufficiency of events-based synchronisation for solving deterministic fault-tolerant consensus in asynchrony. Main result is an algorithm that terminates with valid vector agreement, hence operates with safety, liveness, and tolerance to one crash. Reconciling with the FLP impossibility result, we identified: i) existence of two types of agreements: data-independent and data-dependent; and ii) dependence of FLP theorem correctness on three implicit assumptions. Consensus impossibility with data-dependent agreement is contingent on two of them. The theorem-stated impossibility with every agreement type hinges entirely on the third. We provide experimental results showing that the third assumption has no evidence in support.
翻译:我们证明了基于事件的同步机制对于在异步环境中解决确定性容错共识问题是充分的。主要成果是提出了一种算法,该算法能够以有效的向量一致性终止,从而在安全性、活性以及对单节点崩溃的容错性方面实现运行。通过与FLP不可能性定理的对比分析,我们识别出:i)存在两种类型的一致性:数据无关型与数据相关型;ii)FLP定理的正确性依赖于三个隐含假设。数据相关型共识的不可能性取决于其中两个假设。而定理所陈述的关于所有一致性类型的不可能性则完全取决于第三个假设。我们提供的实验结果表明,第三个假设缺乏支持性证据。