01Overview

In 1978 Lamport proposed logical clocks: if you cannot rely on a physical clock for absolute order, define “before” from causality between events. In 1982 he, Shostak and Pease posed the Byzantine generals problem and showed how many nodes are needed to reach agreement in the presence of traitors.

The core difficulty of distributed systems is partial failure: you can never tell whether a machine is slow, dead or cut off by the network. CAP, the FLP impossibility result, idempotence and retries, timeouts and backpressure are all answers to that reality. Today microservices, global databases and edge computing put these thirty-year-old theoretical problems in front of every engineer.

02History

  1. 1978

    Logical clocks

    Causality and partial order.

  2. 1982

    The Byzantine generals problem

    Agreement with faulty nodes.

  3. 1985

    The FLP impossibility result

    The limit of consensus in asynchronous systems.

  4. 2000

    The CAP theorem

    Consistency, availability, partition tolerance.

03Core concepts

Logical clock

A counter that captures the causal order between events.

Partial failure

Some nodes fail while the rest keeps working.

Consistency model

Linearisable, sequential, eventual — contracts about what a reader may see.

04Hands-on

Do it once — it beats reading it ten times

Run two processes on one machine with an artificial network delay and an injected partition; log what each believes

05Self-check

Say it in your own words first, then open the answer. Whatever you cannot explain is what to review next.

Can you explain "Logical clock"?

A counter that captures the causal order between events.

Can you explain "Partial failure"?

Some nodes fail while the rest keeps working.

Can you explain "Consistency model"?

Linearisable, sequential, eventual — contracts about what a reader may see.

What problem did it solve, and why was there nothing better at the time?

Go back to the history section: how was this done before, and what did it cost?

If you had to build it today, how would you break it down?

Use the hands-on task above: write a plan of at most three steps before you start.

06Key people

L

Leslie Lamport

1941 –

Logical clocks, Paxos and LaTeX.

B

Barbara Liskov

1939 –

Abstract data types and the Liskov substitution principle.

07Further reading

  • Time, Clocks, and the Ordering of Events in a Distributed SystemLeslie Lamport · 1978
  • Distributed Systems: Concepts and DesignCoulouris et al. · 1994