Two Generals Problem


Two Generals Problem is a thought experiment meant to illustrate the pitfalls and design challenges of attempting to coordinate an action] by communicating over an unreliable link.

Two Generals Problem is about obtaining Distributed Consensus

Two Generals Problem is related to the more general Byzantine Generals Problem (though published long before that later generalization) and appears often in introductory classes about computer networking. Two Generals Problem shows that Transmission Control Protocol (TCP) can not guarantee state consistency between endpoints and why, though it applies to any type of two party communication where failures of communication are possible.

A key concept in epistemic logic, this problem highlights the importance of common knowledge.

Two Generals Problem was the first computer communication problem to be proved to be unsolvable. An important consequence of this proof is that generalizations like the Byzantine Generals Problem are also unsolvable in the face of arbitrary communication failures, thus providing a base of realistic expectations for any Distributed Consensus protocols.

Systems that are Byzantine Fault Tolerance (BFT) are "tolerant" of the Two Generals Problem and the Byzantine Generals Problem

More Information#

There might be more information for this subject on one of the following: