On self-stabilizing synchronous actions despite byzantine attacks

  • Authors:
  • Danny Dolev;Ezra N. Hoch

  • 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:
  • DISC'07 Proceedings of the 21st international conference on Distributed Computing
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Consider a distributed network of n nodes that is connected to a global source of "beats". All nodes receive the "beats" simultaneously, and operate in lock-step. A scheme that produces a "pulse" every Cycle beats is shown. That is, the nodes agree on "special beats", which are spaced Cycle beats apart. Given such a scheme, a clock synchronization algorithm is built. The "pulsing" scheme is self-stabilized despite any transient faults and the continuous presence of up to f n/3 Byzantine nodes. Therefore, the clock synchronization built on top of the "pulse" is highly fault tolerant. In addition, a highly fault tolerant general stabilizer algorithm is constructed on top of the "pulse" mechanism. Previous clock synchronization solutions, operating in the exact same model as this one, either support f n/4 and converge in linear time, or support f n/3 and have exponential convergence time that also depends on the value of max-clock (the clock wrap around value). The proposed scheme combines the best of both worlds: it converges in linear time that is independent of max-clock and is tolerant to up to f n/3 Byzantine nodes. Moreover, considering problems in a self-stabilizing, Byzantine tolerant environment that require nodes to know the global state (clock synchronization, token circulation, agreement, etc.), the work presented here is the first protocol to operate in a network that is not fully connected.