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

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

Backlinks