The FLP result shows that crash-tolerant consensus is impossible to solve in asynchronous systems, and several solutions have been proposed for crash-tolerant consensus under alternative (stronger) models. One popular approach is to augment the asynchronous system with appropriate failure detectors, which provide (potentially unreliable) information about process crashes in the system, to circumvent the FLP impossibility.
In this paper, we demonstrate the exact mechanism by which (sufficiently powerful) asynchronous failure detectors enable solving crash-tolerant consensus. Our approach, which borrows arguments from the FLP impossibility proof and the famous result from CHT, which shows that $\Omega$ is a weakest failure detector to solve consensus, also yields a natural proof to $\Omega$ as a weakest asynchronous failure detector to solve consensus. The use of I/O automata theory in our approach enables us to model execution in a more detailed fashion than CHT and also addresses the latent assumptions and assertions in the original result in CHT.
[1]
Journal für die reine und angewandte Mathematik
,
1893
.
[2]
Nancy A. Lynch,et al.
Hierarchical correctness proofs for distributed algorithms
,
1987,
PODC '87.
[3]
Nancy A. Lynch,et al.
Impossibility of distributed consensus with one faulty process
,
1983,
PODS '83.
[4]
Nancy A. Lynch,et al.
An introduction to input/output automata
,
1989
.
[5]
Sam Toueg,et al.
The weakest failure detector for solving consensus
,
1996,
JACM.
[6]
Nancy A. Lynch,et al.
Asynchronous failure detectors
,
2012,
PODC '12.
[7]
Seif Haridi,et al.
Distributed Algorithms
,
1992,
Lecture Notes in Computer Science.
[8]
Bernadette Charron-Bost,et al.
In search of lost time
,
2010,
Inf. Process. Lett..
[9]
Sam Toueg,et al.
Unreliable failure detectors for reliable distributed systems
,
1996,
JACM.
[10]
Sam Toueg,et al.
The weakest failure detector for solving consensus
,
1992,
PODC '92.