July 1982 | LESLIE LAMPORT, ROBERT SHOSTAK, and MARSHALL PEASE
The Byzantine Generals Problem, introduced by Leslie Lamport, Robert Shostak, and Marshall Pease, addresses the challenge of achieving consensus among distributed systems in the presence of faulty components. The problem is abstracted as a scenario where generals must agree on a common battle plan using only oral messages, with some generals potentially being traitors who send conflicting information. The key findings are:
1. **Oral Messages**: With only oral messages, consensus can be achieved if more than two-thirds of the generals are loyal. A single traitor can confuse two loyal generals. However, with unforgeable written messages, consensus is always possible regardless of the number of generals or traitors.
2. **Interactive Consistency Conditions (IC1 and IC2)**: These conditions ensure that all loyal generals agree on the same plan (IC1) and that a loyal general follows the order sent by a loyal commander (IC2). The problem is shown to be unsolvable with three generals and one traitor using only oral messages.
3. **Solution with Oral Messages**: The algorithm OM(m) solves the problem for 3m + 1 or more generals with at most m traitors. It uses a recursive approach where each general sends messages to others, and a majority function is used to determine the final decision.
4. **Solution with Signed Messages**: The algorithm SM(m) uses signed messages to ensure authenticity. This allows consensus to be achieved for any number of generals and traitors, as the signatures prevent traitors from forging messages.
5. **Graph Connectivity**: The problem can be extended to graphs where generals are nodes and communication paths are edges. For the algorithm to work, the graph must be sufficiently connected. The algorithm OM(m, p) requires a p-regular graph, while SM(m) can work with a connected subgraph of loyal generals.
6. **Reliable Systems**: The solutions are applicable to reliable computer systems, where majority voting among processors is used to ensure correctness. This approach is used in systems like redundant computing sites for missile defense, where multiple processors must agree on a common input value despite potential failures.
The paper concludes that the Byzantine Generals Problem is fundamental to understanding fault tolerance in distributed systems, and the proposed algorithms provide a framework for achieving consensus in the presence of faulty components.The Byzantine Generals Problem, introduced by Leslie Lamport, Robert Shostak, and Marshall Pease, addresses the challenge of achieving consensus among distributed systems in the presence of faulty components. The problem is abstracted as a scenario where generals must agree on a common battle plan using only oral messages, with some generals potentially being traitors who send conflicting information. The key findings are:
1. **Oral Messages**: With only oral messages, consensus can be achieved if more than two-thirds of the generals are loyal. A single traitor can confuse two loyal generals. However, with unforgeable written messages, consensus is always possible regardless of the number of generals or traitors.
2. **Interactive Consistency Conditions (IC1 and IC2)**: These conditions ensure that all loyal generals agree on the same plan (IC1) and that a loyal general follows the order sent by a loyal commander (IC2). The problem is shown to be unsolvable with three generals and one traitor using only oral messages.
3. **Solution with Oral Messages**: The algorithm OM(m) solves the problem for 3m + 1 or more generals with at most m traitors. It uses a recursive approach where each general sends messages to others, and a majority function is used to determine the final decision.
4. **Solution with Signed Messages**: The algorithm SM(m) uses signed messages to ensure authenticity. This allows consensus to be achieved for any number of generals and traitors, as the signatures prevent traitors from forging messages.
5. **Graph Connectivity**: The problem can be extended to graphs where generals are nodes and communication paths are edges. For the algorithm to work, the graph must be sufficiently connected. The algorithm OM(m, p) requires a p-regular graph, while SM(m) can work with a connected subgraph of loyal generals.
6. **Reliable Systems**: The solutions are applicable to reliable computer systems, where majority voting among processors is used to ensure correctness. This approach is used in systems like redundant computing sites for missile defense, where multiple processors must agree on a common input value despite potential failures.
The paper concludes that the Byzantine Generals Problem is fundamental to understanding fault tolerance in distributed systems, and the proposed algorithms provide a framework for achieving consensus in the presence of faulty components.