Hybrid Fault-Tolerant Consensus in Asynchronous and Wireless Embedded Systems

Byzantine fault-tolerant (BFT) consensus in an asynchronous system can only tolerate up to floor[(n-1)/3] faulty processes in a group of n processes. This is quite a strict limit in certain application scenarios, for example a group consisting of only 3 processes. In order to break through this limit, we can leverage a hybrid fault model, in which a subset of the system is enhanced and cannot be arbitrarily faulty except for crashing. Based on this model, we propose a randomized binary consensus algorithm that executes in complete asynchrony, rather than in partial synchrony required by deterministic algorithms. It can tolerate up to floor[(n-1)/2] Byzantine faulty processes as long as the trusted subsystem in each process is not compromised, and terminates with a probability of one. The algorithm is resilient against a strong adversary, i. e. the adversary is able to inspect the state of the whole system, manipulate the delay of every message and process, and then adjust its faulty behaviour during execution. From a practical point of view, the algorithm is lightweight and has little dependency on lower level protocols or communication primitives. We evaluate the algorithm and the results show that it performs promisingly in a testbed consisting of up to 10 embedded devices connected via an ad hoc wireless network.

[1]  Ran Canetti,et al.  Fast asynchronous Byzantine agreement with optimal resilience , 1993, STOC.

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

[3]  Paulo Veríssimo,et al.  Travelling through wormholes: a new look at distributed systems models , 2006, SIGA.

[4]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .

[5]  Peidong Liu,et al.  Drones for cooperative search and rescue in post-disaster situation , 2015, 2015 IEEE 7th International Conference on Cybernetics and Intelligent Systems (CIS) and IEEE Conference on Robotics, Automation and Mechatronics (RAM).

[6]  Kiseon Kim,et al.  A Cooperative Wireless Sensor Network for Indoor Industrial Monitoring , 2017, IEEE Transactions on Industrial Informatics.

[7]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[8]  Johannes Behl,et al.  CheapBFT: resource-efficient byzantine fault tolerance , 2012, EuroSys '12.

[9]  Miguel Correia,et al.  Turquois: Byzantine consensus in wireless ad hoc networks , 2010, 2010 IEEE/IFIP International Conference on Dependable Systems & Networks (DSN).

[10]  Miguel Correia,et al.  Asynchronous Byzantine consensus with 2f+1 processes , 2010, SAC '10.

[11]  Johannes Behl,et al.  Hybrids on Steroids: SGX-Based High Performance BFT , 2017, EuroSys.

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

[13]  Toru Namerikawa,et al.  Consensus-based cooperative formation control with collision avoidance for a multi-UAV system , 2014, 2014 American Control Conference.

[14]  Marcos K. Aguilera,et al.  The correctness proof of Ben-Or’s randomized consensus algorithm , 2012, Distributed Computing.

[15]  Danny Dolev,et al.  An almost-surely terminating polynomial protocol for asynchronous byzantine agreement with optimal resilience , 2008, PODC '08.

[16]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[17]  Jacob R. Lorch,et al.  TrInc: Small Trusted Hardware for Large Distributed Systems , 2009, NSDI.

[18]  Nuno Ferreira Neves,et al.  Robust and Speculative Byzantine Randomized Consensus with Constant Time Complexity in Normal Conditions , 2012, 2012 IEEE 31st Symposium on Reliable Distributed Systems.

[19]  Miguel Correia,et al.  Efficient Byzantine Fault-Tolerance , 2013, IEEE Transactions on Computers.

[20]  Rüdiger Kapitza,et al.  RATCHETA: Memory-Bounded Hybrid Byzantine Consensus for Cooperative Embedded Systems , 2018, 2018 IEEE 37th Symposium on Reliable Distributed Systems (SRDS).