Reaching Agreement in the Presence of Faults

Reaching Agreement in the Presence of Faults

April 1980 | M. PEASE, R. SHOSTAK, AND L. LAMPORT
The paper by M. Pease, R. Shostak, and L. Lamport addresses the problem of achieving interactive consistency in a set of isolated processors, some of which may be faulty. Each non-faulty processor has a private value that must be communicated to all other non-faulty processors. Non-faulty processors always communicate honestly, while faulty processors may lie. The goal is to devise an algorithm that allows each non-faulty processor to infer the private values of other processors, ensuring that the inferred values are consistent. The authors show that interactive consistency is solvable if and only if the number of non-faulty processors \( n \geq 3m + 1 \), where \( m \) is the number of faulty processors. For \( n < 3m + 1 \), interactive consistency is impossible, even with an infinite number of rounds of information exchange. They also present an algorithm that guarantees interactive consistency for any \( n \geq m \) under the assumption that faulty processors can refuse to pass on information but cannot falsely relay it. This assumption can be approximated using cryptographic methods, such as authenticators. The paper includes detailed proofs and examples to illustrate the concepts and algorithms, and discusses the implications for fault-tolerant systems, particularly in the context of clock synchronization, sensor stabilization, and diagnostic test results. The authors acknowledge the contributions of several individuals and reviewers, and highlight the importance of the problem in the design of fault-tolerant systems.The paper by M. Pease, R. Shostak, and L. Lamport addresses the problem of achieving interactive consistency in a set of isolated processors, some of which may be faulty. Each non-faulty processor has a private value that must be communicated to all other non-faulty processors. Non-faulty processors always communicate honestly, while faulty processors may lie. The goal is to devise an algorithm that allows each non-faulty processor to infer the private values of other processors, ensuring that the inferred values are consistent. The authors show that interactive consistency is solvable if and only if the number of non-faulty processors \( n \geq 3m + 1 \), where \( m \) is the number of faulty processors. For \( n < 3m + 1 \), interactive consistency is impossible, even with an infinite number of rounds of information exchange. They also present an algorithm that guarantees interactive consistency for any \( n \geq m \) under the assumption that faulty processors can refuse to pass on information but cannot falsely relay it. This assumption can be approximated using cryptographic methods, such as authenticators. The paper includes detailed proofs and examples to illustrate the concepts and algorithms, and discusses the implications for fault-tolerant systems, particularly in the context of clock synchronization, sensor stabilization, and diagnostic test results. The authors acknowledge the contributions of several individuals and reviewers, and highlight the importance of the problem in the design of fault-tolerant systems.
Reach us at info@study.space
[slides and audio] Reaching Agreement in the Presence of Faults