Fast Byzantine Leader Election in Dynamic Networks

We study the fundamental Byzantine leader election problem in dynamic networks where the topology can change from round to round and nodes can also experience heavy churn i.e., nodes can join and leave the network continuously over time. We assume the full information model where the Byzantine nodes have complete knowledge about the entire state of the network at every round including random choices made by all the nodes, have unbounded computational power and can deviate arbitrarily from the protocol. The churn is controlled by an adversary that has complete knowledge and control over which nodes join and leave and at what times and also may rewire the topology in every round and has unlimited computational power, but is oblivious to the random choices made by the algorithm. Our main contribution is an $$O\log ^3 n$$ round algorithm that achieves Byzantine leader election under the presence of up to $$O{n}^{1/2 - \varepsilon }$$ Byzantine nodes for a small constant $$\epsilon > 0$$ and a churn of up to $$O\sqrt{n}/{\text {polylog}}n$$ nodes per round where n is the stable network size. The algorithm elects a leader with probability at least $$1-n^{-\varOmega 1}$$ and guarantees that it is an honest node with probability at least $$1-n^{-\varOmega 1}$$; assuming the algorithm succeeds, the leader's identity will be known to a $$1-o1$$ fraction of the honest nodes. Our algorithm is fully-distributed, lightweight, and is simple to implement. It is also scalable, as it runs in polylogarithmic in n time and requires nodes to send and receive messages of only polylogarithmic size per round. To the best of our knowledge, our algorithm is the first scalable solution for Byzantine leader election in a dynamic network with a high rate of churn; our protocol can also be used to solve Byzantine agreement in a straightforward way. We also show how to implement an almost-everywhere public coin with constant bias in a dynamic network with Byzantine nodes and provide a mechanism for enabling honest nodes to store information reliably in the network, which might be of independent interest.

[1]  Eli Upfal,et al.  Fault Tolerance in Networks of Bounded Degree , 1988, SIAM J. Comput..

[2]  Anne-Marie Kermarrec,et al.  Highly dynamic distributed computing with byzantine failures , 2013, PODC '13.

[3]  Yehuda Afek,et al.  The slide mechanism with applications in dynamic networks , 1992, PODC '92.

[4]  John Augustine,et al.  Enabling Robust and Efficient Distributed Computation in Dynamic Peer-to-Peer Networks , 2015, 2015 IEEE 56th Annual Symposium on Foundations of Computer Science.

[5]  Yoram Moses,et al.  Coordinated consensus in dynamic networks , 2011, PODC '11.

[6]  Eli Upfal Tolerating a Linear Number of Faults in Networks of Bounded Degree , 1994, Inf. Comput..

[7]  Nancy A. Lynch,et al.  Distributed computation in dynamic networks , 2010, STOC '10.

[8]  Bruce M. Kapron,et al.  Fast asynchronous byzantine agreement and leader election with full information , 2008, SODA '08.

[9]  Eli Upfal,et al.  Building low-diameter P2P networks , 2001, Proceedings 2001 IEEE International Conference on Cluster Computing.

[10]  Jared Saia,et al.  Breaking the O(n2) bit barrier: Scalable byzantine agreement with an adaptive adversary , 2010, JACM.

[11]  Christian Scheideler,et al.  The effect of faults on network expansion , 2004, SPAA.

[12]  Christian Scheideler,et al.  How to spread adversarial nodes?: rotate! , 2005, STOC '05.

[13]  Jared Saia,et al.  Faster Agreement via a Spectral Method for Detecting Malicious Behavior , 2014, SODA.

[14]  John Kubiatowicz,et al.  Asymptotically Efficient Approaches to Fault-Tolerance in Peer-to-Peer Networks , 2003, DISC.

[15]  Dimitri P. Bertsekas,et al.  Distributed Algorithms for Generating Loop-Free Routes in Networks with Frequently Changing Topology , 1981, IEEE Trans. Commun..

[16]  Erik Vee,et al.  Towards Secure and Scalable Computation in Peer-to-Peer Networks , 2006, 2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS'06).

[17]  John Augustine,et al.  Towards robust and efficient computation in dynamic peer-to-peer networks , 2011, SODA.

[18]  Amos Fiat,et al.  Censorship resistant peer-to-peer content addressable networks , 2002, SODA '02.

[19]  Boaz Patt-Shamir,et al.  Adapting to asynchronous dynamic networks (extended abstract) , 1992, STOC '92.

[20]  Boaz Patt-Shamir,et al.  Adapting to Asynchronous Dynamic Networks , 1992 .

[21]  Anisur Rahaman Molla,et al.  Fast Distributed Computation in Dynamic Networks via Random Walks , 2012, DISC.

[22]  Roger Wattenhofer,et al.  Information dissemination in highly dynamic graphs , 2005, DIALM-POMC '05.

[23]  Kai-Yeung Siu,et al.  Distributed construction of random expander networks , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[24]  Moni Naor,et al.  A Simple Fault Tolerant Distributed Hash Table , 2003, IPTPS.

[25]  Baruch Awerbuch,et al.  Applying static network protocols to dynamic networks , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[26]  John Augustine,et al.  Fast byzantine agreement in dynamic networks , 2013, PODC '13.

[27]  John Augustine,et al.  Storage and search in dynamic peer-to-peer networks , 2013, SPAA.

[28]  Christian Scheideler,et al.  Stabilizing consensus with the power of two choices , 2011, SPAA '11.

[29]  Chen Avin,et al.  How to Explore a Fast-Changing World (Cover Time of a Simple Random Walk on Evolving Graphs) , 2008, ICALP.

[30]  Erik Vee,et al.  Scalable leader election , 2006, SODA '06.