Consensus In Asynchrony
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.
💡 Research Summary
**
The paper “Consensus In Asynchrony” challenges the long‑standing belief that deterministic fault‑tolerant consensus is impossible in a totally asynchronous system with even a single crash failure, as formalized by the Fischer‑Lynch‑Paterson (FLP) impossibility result. The authors first dissect the FLP proof and identify three implicit assumptions that underlie its conclusion: (1) an “impossibility to agree” assumption that treats a tie (equal numbers of 0 and 1 votes) as a fundamental barrier to consensus; (2) an “impossibility to terminate” assumption that a protocol cannot finish before it has decided on the binary value; and (3) an “equal impossibility” assumption that impossibility results proved for data‑dependent (binary) consensus automatically apply to data‑independent (vector) consensus.
The paper argues that each of these assumptions is either logically unwarranted or empirically unsupported. A tie can be given a legitimate binary interpretation (e.g., a third value), thereby removing the first barrier. The second barrier is broken by showing that a protocol can first reach agreement on a vector of initial inputs (a data‑independent consensus) and only afterwards compute the binary decision locally; termination therefore occurs before the binary value is fixed, contradicting the FLP termination assumption. The third barrier is refuted by distinguishing the two consensus types: data‑dependent consensus’s feasibility depends on the actual input values, while data‑independent consensus seeks agreement on the set of inputs themselves, regardless of their content. Consequently, impossibility results for one type do not automatically transfer to the other.
To demonstrate feasibility, the authors propose an event‑based synchronisation mechanism. Each process maintains a local event queue; upon receiving enough initial values (at least n‑1 out of n, where n ≥ 5), it atomically broadcasts an n‑vector V = (v₁,…,vₙ) where any missing value is replaced by a null marker ∅. The protocol tolerates a single crash: the crashed process’s entry appears as ∅, while all correct processes agree on the same vector. This agreement is termed “valid vector agreement” because it faithfully reflects the actual inputs of the non‑faulty processes.
The algorithm is deterministic, crash‑tolerant, and terminates in total asynchrony. After termination, each process applies the same deterministic function to the agreed vector to derive a binary decision (e.g., majority of the non‑null entries). Because all processes start from an atomically consistent state and execute identical deterministic code, they inevitably compute the same binary value, guaranteeing both safety (agreement) and liveness (termination).
Experimental validation is performed using a synchronous testbed that implements both binary and vector consensus protocols. The experiments show a strong correlation: whenever the vector consensus terminates successfully, the derived binary values are identical across processes, confirming that the binary consensus impossibility claimed by FLP does not hold under the presented conditions. Moreover, the experiments provide empirical evidence that the third FLP assumption (equal impossibility) lacks support.
Finally, the paper reframes the scope of the FLP theorem. It asserts that FLP’s impossibility applies only to a narrow class of protocols that (a) are data‑dependent, (b) do not assign a value to tie states, and (c) require termination only after the binary decision is made. Protocols that fall outside this class—such as the event‑based, vector‑agreement algorithm introduced here—are not subject to FLP’s negative result. Consequently, deterministic, fault‑tolerant consensus with guaranteed termination is achievable in fully asynchronous systems.
In summary, the contributions are: (1) a critical analysis exposing three hidden assumptions in the FLP proof; (2) a formal definition of data‑dependent versus data‑independent consensus; (3) a deterministic, crash‑tolerant algorithm that achieves valid vector agreement in total asynchrony; (4) experimental evidence disproving the “equal impossibility” assumption; and (5) a revised interpretation of FLP that acknowledges a viable path to consensus in asynchronous, fault‑prone environments. This work has significant theoretical implications and practical relevance for distributed databases, state‑machine replication, and any system that requires robust agreement despite network delays and process crashes.
Comments & Academic Discussion
Loading comments...
Leave a Comment