the two generals problem

expression

programmingnetworking

The classic proof that two parties on an unreliable channel can never be perfectly certain they agree.

Each general needs the other's confirmation, the confirmation needs its own confirmation, forever - no finite number of messengers yields certainty. It is why exactly-once delivery over a lossy network is impossible in the strict sense, and why TCP settles for reliable-enough with acknowledgments and retries.

Also known as: two generals' problem

All glossary entries