Skip to content

Two Generals Problem

Two parties cannot reach certain agreement through an unreliable channel - the first impossibility result in distributed systems, proving that perfect coordination is impossible when messages can be lost.

Tension Addressed

Agreement vs. Progress

Recognizable As

Acknowledgment protocols; at-least-once vs. exactly-once semantics; idempotency requirements; two-phase commit limitations; distributed transaction challenges

Canonical Sources

Gray, "Notes on Data Base Operating Systems" (1978); Akkoyunlu et al., "Some Constraints and Tradeoffs in the Design of Network Communications" (1975)

Transfers To

Network protocols, payment systems, order processing, any system requiring coordination across unreliable boundaries

This result explains why distributed transactions are hard and why idempotency is essential. It's not a limitation of current technology but a fundamental impossibility that no algorithm can overcome.