Self-stabilization of byzantine protocols

  • Authors:
  • Ariel Daliot;Danny Dolev

  • Affiliations:
  • School of Engineering and Computer Science, The Hebrew University of Jerusalem, Israel;School of Engineering and Computer Science, The Hebrew University of Jerusalem, Israel

  • Venue:
  • SSS'05 Proceedings of the 7th international conference on Self-Stabilizing Systems
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Awareness of the need for robustness in distributed systems increases as distributed systems become integral parts of day-to-day systems. Self-stabilizing while tolerating ongoing Byzantine faults are wishful properties of a distributed system. Many distributed tasks (e.g. clock synchronization) possess efficient non-stabilizing solutions tolerating Byzantine faults or conversely non-Byzantine but self-stabilizing solutions. In contrast, designing algorithms that self-stabilize while at the same time tolerating an eventual fraction of permanent Byzantine failures present a special challenge due to the “ambition” of malicious nodes to hamper stabilization if the systems tries to recover from a corrupted state. This difficulty might be indicated by the remarkably few algorithms that are resilient to both fault models. We present the first scheme that takes a Byzantine distributed algorithm and produces its self-stabilizing Byzantine counterpart, while having a relatively low overhead of O(f′) communication rounds, where f′ is the number of actual faults. Our protocol is based on a tight Byzantine self-stabilizing pulse synchronization procedure. The synchronized pulses are used as events for initializing Byzantine agreement on every node’s local state. The set of local states is used for global predicate detection. Should the global state represent an illegal system state then the target algorithm is reset.