Knowledge and Common Knowledge in a Distributed Environment
Reference
Halpern, J. Y., & Moses, Y. (1990). “Knowledge and Common Knowledge in a Distributed Environment.” Journal of the ACM, 37(3), 549-587. URL
Summary
Halpern and Moses recast distributed protocol design as knowledge transformation: sending a message changes the knowledge state of the system, and correctness specifications can be stated in terms of what individual processes, groups, or “the system” know at various points. The paper develops a formal epistemic logic for distributed systems with operators K_i (agent i knows), E (everyone knows), and C (common knowledge — everyone knows that everyone knows, to infinite depth).
The central technical result is striking: in a truly asynchronous distributed system, common knowledge is unattainable. The classical “coordinated attack” problem (two generals must attack simultaneously but communicate only via lossy messengers) is unsolvable because simultaneous action requires common knowledge of the time to attack, and no finite message chain ever reaches the fixpoint. The muddy children puzzle — a beloved epistemic set piece walked through in the opening — shows how a public announcement can create common knowledge that sequential private reasoning cannot, illuminating why synchronous broadcast matters.
Because strict common knowledge is unattainable, the paper introduces and characterises weaker variants: eventual common knowledge, ε-common knowledge (bounded delay), timestamped common knowledge, and concurrent common knowledge. Each corresponds to a different system model (synchronous, partially synchronous, etc.) and a different class of solvable coordination tasks. This framework turned “what does a protocol achieve?” into a precise epistemic question and seeded the entire field of Theoretical Aspects of Reasoning about Knowledge (TARK).
Key Ideas
- Epistemic hierarchy: distributed knowledge ⊑ someone knows ⊑ everyone knows (E) ⊑ common knowledge (C).
- Common knowledge (C): fixpoint E^ω — needed for any simultaneous coordinated action.
- Coordinated attack / muddy children: canonical illustrations of how public announcements create C.
- Impossibility: in async or even synchronous-with-uncertain-delivery systems, C cannot be attained by message exchange.
- Weakenings: ε-C (bounded-time C), eventual C, timestamped C, concurrent C — each aligned with a synchrony assumption.
- Protocols as knowledge transformers: specifications are claims about K_i, E, C; message sends are knowledge updates.
- Runs-and-systems semantics: each global history is a “run”; agent’s knowledge is the set of runs it cannot distinguish from the actual one.
Connections
- Epistemic Logic
- Epistemic S5
- Knowing What vs Knowing That
- The Synthesis of Digital Machines with Provable Epistemic Properties — Rosenschein-Kaelbling operationalise this framework.
- Time Clocks and the Ordering of Events in a Distributed System — the “local history” underpinning indistinguishable runs is Lamport’s past-cone.
- Impossibility of Distributed Consensus with One Faulty Process — consensus impossibility has an epistemic reading: common knowledge of a decision cannot be attained.
- CAP Theorem
Conceptual Contribution
Distributed coordination is the attainment of particular epistemic states among agents, and different coordination problems require different levels on the hierarchy K_i → E → C. Strict common knowledge is impossible in asynchronous systems; practical protocols deliver weaker, explicitly characterized approximations. This epistemic lens turns distributed systems design into a logical engineering problem: match the required knowledge state to what the communication medium can deliver.
Tags
#distributed-systems #epistemic-logic #common-knowledge #halpern-moses #foundational #knowledge-representation #coordination #muddy-children