Impossibility of distributed consensus with one faulty process

  title={Impossibility of distributed consensus with one faulty process},
  author={Michael J. Fischer and Nancy A. Lynch and Mike Paterson},
  journal={J. ACM},
The consensus problem involves an asynchronous system of processes, some of which may be unreliable. The problem is for the reliable processes to agree on a binary value. In this paper, it is shown that every protocol for this problem has the possibility of nontermination, even with only one faulty process. By way of contrast, solutions are known for the synchronous case, the “Byzantine Generals” problem. 

Figures from this paper

Impossibility of distributed consensus with one faulty process
It is shown that every protocol for this problem has the possibility of nontermination, even with only one faulty process, in the asynchronous consensus problem.
Non-Blocking Atomic Commitment in Asynchronous Distributed Systems with Faulty Processes
This paper defines the Non-Blocking Atomic Commitment problem in a message-passing asynchronous system and determines a failure detector to solve the problem, which is strictly weaker than theperfect failure detector P but strictly stronger than the eventually perfect failure detector ◇P.
On the minimal synchronism needed for distributed consensus
The proofs expose general heuristic principles that explain why consensus is possible in certain models but not possible in others, and several critical system parameters, including various synchronicity conditions, are identified.
Agreement Problems in Fault-Tolerant Distributed Systems
Basic techniques to circumvent impossibility results in asynchronous systems: randomization, models of partial synchrony, unreliable failure detection are reviewed and compared.
Consensus with Byzantine Failures and Little System Synchrony
It is shown that consensus can be solved in a system where there is at least one non-faulty process whose links are eventually timely; all other links can be arbitrarily slow.
Impossibility of (repeated) reliable broadcast
In the absence of perfect failure detectors, and of processes that never crash, this work illuminates the need for a more exible notion of "non-faulty process", and for a thorough investigation of coordination problems in which the set of participating processes is dynamic.
Agreement without knowing everybody: a first step to dynamicity
It is proved that in this model the consensus is impossible to be solved even if no process may crash, and the asynchronous model augmented with failure detector Σ, which enables to realize a quorum, is sufficient to circumvent this impossibility result.
On the Cost of Fault-Tolerant Consensus When There Are No Faults - A Tutorial
Algorithms and lower bounds are described that show that two communication steps are necessary and sufficient for solving consensus in realistic partial synchrony and timed asynchronous models where processes can crash.
Randomized Agreement Protocols
  • M. Ben-Or
  • Mathematics
    Fault-Tolerant Distributed Computing
  • 1986
Reaching agreement in the presence of faults is one of the most important problems in fault-tolerant distributed computation, and it is also a beautiful example of the power of randomized algorithms.


Resilient consensus protocols
This work investigates consensus protocols that terminate within finite time with probability 1 under certain assumptions on the behavior of the system and shows that with fail-stop processes, correct processes are necessary and sufficient to reach agreement.
Polynomial algorithms for multiple processor agreement
It is proved that no matter what kind of information is exchanged, there is no way to reach agreement with fewer than t+1 rounds of exchange, where t is the upper bound on the number of faults.
Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols
This work exhibits a probabilistic solution for this problem, which guarantees that as long as a majority of the processes continues to operate, a decision will be made (Theorem 1).
Asynchronous Byzantine consensus
The deterministic protocol presented in this paper reaches a Strong Byzantine Agreement in a system of asynchronous processors; and therefore can sustain arbitrary faults.
A Formal Model of Crash Recovery in a Distributed System
A formal model for atomic commit protocols for a distributed database system is introduced. The model is used to prove existence results about resilient protocols for site failures that do not
Reaching Agreement in the Presence of Faults
It is shown that the problem is solvable for, and only for, n ≥ 3m + 1, where m is the number of faulty processors and n is the total number and this weaker assumption can be approximated in practice using cryptographic methods.
Randomized byzantine generals
  • M. Rabin
  • Computer Science, Mathematics
    24th Annual Symposium on Foundations of Computer Science (sfcs 1983)
  • 1983
A randomized solution for the Byzantine Generals Problems that produces Byzantine Agreement within a fixed small expected number of computational rounds, independent of the number n of processes and the bound t on the number of faulty processes.
Reaching approximate agreement in the presence of faults
This paper considers a variant of the Byzantine Generals problem, in which processes start with arbitrary real values rather than Boolean values or values from some bounded range, and in which
Crash Recovery in a Distributed Data Storage System
An algorithm is described which guarantees reliable storage of data in a distributed system, even when different portions of the data base, stored on separate machines, are updated as part of a