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
- Partial knowledge: no machine has complete information about the system’s global state.
- Local decisions: machines decide using only locally available information, including information received from neighbouring participants.
- No single point of failure: failure of one machine does not stop the algorithm as a whole. No individual participant is indispensable.
- 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.