Lukas' Notes

Definition

Decentralised Algorithm ( Distributed System)

A decentralised algorithm distributes decision-making among participating machines rather than relying on a central decision point. Each machine acts on its local state and information obtained from its surroundings.

Design Requirements

  1. Partial knowledge: no machine has complete information about the system’s global state.
  2. Local decisions: machines decide using only locally available information, including information received from neighbouring participants.
  3. No single point of failure: failure of one machine does not stop the algorithm as a whole. No individual participant is indispensable.
  4. No implicit global clock: correctness must not silently assume that all machines share the same clock. Any timing or synchronisation assumptions must be stated explicitly.

Fault tolerance is a design requirement, not an automatic consequence of distributing computation. Its guarantees depend on the algorithm’s stated failure model.