Byzantine Fault-Tolerant Consensus in Wireless Ad Hoc Networks

Wireless ad hoc networks, due to their inherent unreliability, pose significant challenges to the task of achieving tight coordination among nodes. The failure of some nodes and momentary breakdown of communications, either of accidental or malicious nature, should not result in the failure of the entire system. This paper presents an asynchronous Byzantine consensus protocol-called Turquois-specifically designed for resource-constrained wireless ad hoc networks. The key to its efficiency is the fact that it tolerates dynamic message omissions, which allows an efficient utilization of the wireless broadcasting medium. The protocol also refrains from computationally expensive public-key cryptographic during its normal operation. The protocol is safe despite the arbitrary failure of f <; n/3 nodes from a total of n nodes, and unrestricted message omissions. Progress is ensured in rounds where the number of omissions is σ ≤ [n-t/2] (n - k - t) + k - 2, where k is the number of nodes required to terminate and t ≤ f is the number of nodes that are actually faulty. These characteristics make Turquois the first consensus protocol that simultaneously circumvents the FLP and the Santoro-Widmayer impossibility results, which is achieved through randomization. Finally, the protocol was prototyped and subject to a comparative performance evaluation against two well-known Byzantine fault-tolerant consensus protocols. The results show that, due to its design, Turquois outperforms the other protocols by more than an order of magnitude as the number of nodes in the system increases.

[1]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[2]  Jiannong Cao,et al.  Design and Performance Evaluation of Efficient Consensus Protocols for Mobile Ad Hoc Networks , 2007, IEEE Transactions on Computers.

[3]  Nitin H. Vaidya,et al.  Reliable broadcast in radio networks: the bounded collision case , 2006, PODC '06.

[4]  Abdelmadjid Bouabdallah,et al.  Solving the consensus problem in a dynamic group: an approach suitable for a mobile environment , 2002, Proceedings ISCC 2002 Seventh International Symposium on Computers and Communications.

[5]  Nicola Santoro,et al.  Agreement in synchronous networks with ubiquitous faults , 2007, Theor. Comput. Sci..

[6]  Nitin H. Vaidya,et al.  On reliable broadcast in a radio network , 2005, PODC '05.

[7]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[8]  Wei Chen,et al.  Implementing uniform reliable broadcast with binary consensus in systems with fair-lossy links , 2009, Inf. Process. Lett..

[9]  Sam Toueg,et al.  Fault-tolerant broadcasts and related problems , 1993 .

[10]  Gabriel Bracha,et al.  An asynchronous [(n - 1)/3]-resilient consensus protocol , 1984, PODC '84.

[11]  Roy Friedman,et al.  Efficient Byzantine broadcast in wireless ad-hoc networks , 2005, 2005 International Conference on Dependable Systems and Networks (DSN'05).

[12]  Idit Keidar,et al.  Impossibility Results and Lower Bounds for Consensus under Link Failures , 2008, SIAM J. Comput..

[13]  Rachid Guerraoui,et al.  Deconstructing paxos , 2003, SIGA.

[14]  André Schiper,et al.  A Leader-Free Byzantine Consensus Algorithm , 2010, ICDCN.

[15]  Sam Toueg,et al.  Simulating authenticated broadcasts to derive simple fault-tolerant algorithms , 1987, Distributed Computing.

[16]  André Schiper,et al.  The Heard-Of model: computing in distributed systems with benign faults , 2009, Distributed Computing.

[17]  Victor Shoup,et al.  Random Oracles in Constantinople: Practical Asynchronous Byzantine Agreement Using Cryptography , 2000, Journal of Cryptology.

[18]  Rachid Guerraoui,et al.  The Generic Consensus Service , 2001, IEEE Trans. Software Eng..

[19]  Miguel Correia,et al.  The Crutial Way of Critical Infrastructure Protection , 2008, IEEE Security & Privacy Magazine.

[20]  André Schiper,et al.  Tolerating corrupted communication , 2007, PODC '07.

[21]  Chiu-Yuen Koo,et al.  Broadcast in radio networks tolerating byzantine adversarial behavior , 2004, PODC '04.

[22]  Dariusz R. Kowalski,et al.  On selection problem in radio networks , 2005, PODC '05.

[23]  Miguel Correia,et al.  A Distributed Systems Approach to Airborne Self-Separation , 2009 .

[24]  Michael O. Rabin,et al.  Randomized byzantine generals , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[25]  Miguel Correia,et al.  Randomization can be a healer: consensus with dynamic omission failures , 2010, Distributed Computing.

[26]  Mike Hibler,et al.  An integrated experimental environment for distributed systems and networks , 2002, OPSR.

[27]  Murat Demirbas,et al.  Consensus and collision detectors in wireless Ad Hoc networks , 2005, PODC '05.

[28]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[29]  Raja Sengupta,et al.  Cooperative Collision Warning: Enabling Crash Avoidance with Wireless Technology , 2005 .

[30]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[31]  Sally Floyd,et al.  ns-3 project goals , 2006 .

[32]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

[33]  André Schiper,et al.  Extending Paxos/LastVoting with an Adequate Communication Layer for Wireless Ad Hoc Networks , 2008, 2008 Symposium on Reliable Distributed Systems.

[34]  Michael K. Reiter,et al.  The Rampart Toolkit for Building High-Integrity Services , 1994, Dagstuhl Seminar on Distributed Systems.

[35]  Antonio Casimiro,et al.  Timeout-based adaptive consensus: improving performance through adaptation , 2012, SAC '12.

[36]  Paul D. Ezhilchelvan,et al.  Design and performance-study of crash-tolerant protocols for broadcasting and reaching consensus in MANETs , 2005, 24th IEEE Symposium on Reliable Distributed Systems (SRDS'05).

[37]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[38]  Raimundo José de Araújo Macêdo,et al.  Solving the consensus problem in a mobile environment , 1999, 1999 IEEE International Performance, Computing and Communications Conference (Cat. No.99CH36305).

[39]  Baruch Awerbuch,et al.  An on-demand secure routing protocol resilient to byzantine failures , 2002, WiSE '02.

[40]  Amin Vahdat,et al.  Epidemic Routing for Partially-Connected Ad Hoc Networks , 2009 .

[41]  Andrzej Pelc,et al.  Broadcasting with locally bounded Byzantine faults , 2005, Inf. Process. Lett..

[42]  Andrea E. F. Clementi,et al.  Selective families, superimposed codes, and broadcasting on unknown radio networks , 2001, SODA '01.

[43]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[44]  Miguel Correia,et al.  From Consensus to Atomic Broadcast: Time-Free Byzantine-Resistant Protocols without Signatures , 2006, Comput. J..

[45]  Jean-Philippe Martin,et al.  Fast Byzantine Consensus , 2006, IEEE Transactions on Dependable and Secure Computing.

[46]  Nicola Santoro,et al.  Time is Not a Healer , 1989, STACS.

[47]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[48]  Leslie Lamport,et al.  Consensus on transaction commit , 2004, TODS.

[49]  Miguel Correia,et al.  RITAS: Services for Randomized Intrusion Tolerance , 2011, IEEE Transactions on Dependable and Secure Computing.