!!! Overview[1][2][3] [{$pagename}] is a thought experiment meant to illustrate the pitfalls and design challenges of attempting to coordinate an action] by communicating over an unreliable link. [{$pagename}] is about obtaining [Distributed Consensus] [{$pagename}] 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. [{$pagename}] 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. [{$pagename}] 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 [{$pagename}] and the [Byzantine Generals Problem] !! More Information There might be more information for this subject on one of the following: [{ReferringPagesPlugin before='*' after='\n' }] ---- * [#1] - [Two_Generals%27_Problem|Wikipedia:Two_Generals%27_Problem|target='_blank'] - based on information obtained 2016-08-28- * [#2] - [Byzantine_fault_tolerance|Wikipedia:Byzantine_fault_tolerance|target='_blank'] - based on information obtained 2016-08-29- * [#3] - [The Byzantine Generals Problem|http://research.microsoft.com/en-us/um/people/lamport/pubs/byz.pdf|target='_blank'] - based on information obtained 2016-08-29-