On Self-stabilizing Synchronous Actions Despite Byzantine Attacks

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.

[1]  Anish Arora,et al.  Maintaining Digital Clocks In Step , 1991, WDAG.

[2]  Danny Dolev,et al.  Dynamic fault-tolerant clock synchronization , 1995, JACM.

[3]  Danny Dolev,et al.  Linear Time Byzantine Self-Stabilizing Clock Synchronization , 2003, OPODIS.

[4]  Anish Arora,et al.  Dining philosophers that tolerate malicious crashes , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[5]  Anish Arora,et al.  Tolerance to unbounded Byzantine faults , 2002, 21st IEEE Symposium on Reliable Distributed Systems, 2002. Proceedings..

[6]  Jennifer L. Welch,et al.  Self-Stabilizing Clock Synchronization in the Presence of ByzantineFaults ( Preliminary Version ) Shlomi Dolevy , 1995 .

[7]  Marina Papatriantafilou,et al.  On Self-Stabilizing Wait-Free Clock Synchronization , 1994, SWAT.

[8]  Kenneth J. Perry,et al.  Unifying self-stabilization and fault-tolerance , 1993, PODC '93.

[9]  Fukuhito Ooshita,et al.  A Self-stabilizing Link-Coloring Protocol Resilient to Byzantine Faults in Tree Networks , 2004, OPODIS.

[10]  Ted Herman Phase Clocks for Transient Fault Repair , 2000, IEEE Trans. Parallel Distributed Syst..

[11]  Shmuel Katz,et al.  Self-stabilizing extensions for message-passing systems , 1990, PODC '90.

[12]  Yehuda Afek,et al.  Local stabilizer , 1997, PODC '97.

[13]  Sébastien Tixeuil,et al.  Self-Stabilizing Systems , 2003, Lecture Notes in Computer Science.

[14]  Danny Dolev,et al.  Self-stabilization of Byzantine Protocols , 2005, Self-Stabilizing Systems.

[15]  Danny Dolev,et al.  Self-stabilizing Byzantine Digital Clock Synchronization , 2006, SSS.

[16]  Shlomi Dolev,et al.  Possible and Impossible Self-Stabilizing Digital Clock Synchronization in General Graphs , 1997, Real-Time Systems.

[17]  Jennifer L. Welch,et al.  Wait-Free Clock Synchronization , 1993, PODC '93.

[18]  Danny Dolev,et al.  The Byzantine Generals Strike Again , 1981, J. Algorithms.