Loosely-self-stabilizing Byzantine-tolerant Binary Consensus for Signature-free Message-passing Systems

Many distributed applications, such as cloud computing, service replication, load balancing, and distributed ledgers, e.g., Blockchain, require the system to solve consensus in which all nodes reliably agree on a single value. Binary consensus, where the set of values that can be proposed is either zero or one, is a fundamental building block for other “flavors” of consensus, e.g., multivalued, or vector, and of total order broadcast. At PODC 2014, Mostéfaoui, Moumen, and Raynal, in short MMR, presented a randomized signature-free asynchronous binary consensus algorithm. They demonstrated that their solution can deal with up to t Byzantine nodes, where t < n/3 and n is the number of nodes. MMR assumes the availability of a common coin service and fair scheduling of message arrivals, which does not depend on the current coin values. It terminates within O(1) expected time. Our study, which focuses on binary consensus, aims at the design of an even more robust consensus protocol. We do so by augmenting MMR with self-stabilization, a powerful notion of fault-tolerance. In addition to tolerating node and communication failures, self-stabilizing systems can automatically recover after the occurrence of arbitrary transient-faults; these faults represent any violation of the assumptions on which the system was designed to operate (provided that the algorithm code remains intact). We present the first loosely-self-stabilizing fault-tolerant asynchronous solution to binary consensus in Byzantine message-passing systems. This is achieved via an instructive transformation of MMR to a self-stabilizing solution that can violate safety requirements with the probability Pr = O(2−M ), where M ∈ Z+ is a predefined constant that can be set to any positive value at the cost of 3Mn + logM bits of local memory. The obtained self-stabilizing version of the MMR algorithm considers a far broader fault-model since it recovers from transient faults. Additionally, the algorithm preserves the MMR’s properties of optimal resilience and termination, i.e., t < n/3, and O(1) expected decision time. Furthermore, it only requires a bounded amount of memory.

[1]  Fukuhito Ooshita,et al.  Loosely-Stabilizing Leader Election for Arbitrary Graphs in Population Protocol Model , 2019, IEEE Transactions on Parallel and Distributed Systems.

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

[3]  Achour Mostéfaoui,et al.  Signature-Free Asynchronous Byzantine Systems: From Multivalued to Binary Consensus with t < n/3, O(n2) Messages, and Constant Time , 2015, SIROCCO.

[4]  Shlomi Dolev,et al.  Self-stabilizing Byzantine Resilient Topology Discovery and Message Delivery - (Extended Abstract) , 2012, NETYS.

[5]  Maria Gradinariu Potop-Butucaru,et al.  Optimal Storage under Unsynchronized Mobile Byzantine Faults , 2017, 2017 IEEE 36th Symposium on Reliable Distributed Systems (SRDS).

[6]  Shlomi Dolev,et al.  Brief Announcement: Robust and Private Distributed Shared Atomic Memory in Message Passing Networks , 2015, PODC.

[7]  Yukiko Yamauchi,et al.  Loosely-stabilizing leader election in a population protocol model , 2012, Theor. Comput. Sci..

[8]  Christian Scheideler,et al.  A Loosely Self-stabilizing Protocol for Randomized Congestion Control with Logarithmic Memory , 2019, SSS.

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

[10]  Shlomi Dolev,et al.  Communication Adaptive Self-Stabilizing Group Membership Service , 2001, WSS.

[11]  Idit Keidar,et al.  A simple proof of the uniform consensus synchronous lower bound , 2003, Inf. Process. Lett..

[12]  Michel Raynal,et al.  Atomic Broadcast in Asynchronous Crash-Recovery Distributed Systems and Its Use in Quorum-Based Replication , 2003, IEEE Trans. Knowl. Data Eng..

[13]  James Aspnes,et al.  Lower bounds for distributed coin-flipping and randomized consensus , 1997, STOC '97.

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

[15]  Gabriel Bracha,et al.  Asynchronous Byzantine Agreement Protocols , 1987, Inf. Comput..

[16]  Ning Zhang,et al.  A Survey of Distributed Consensus Protocols for Blockchain Networks , 2019, IEEE Communications Surveys & Tutorials.

[17]  Silvio Micali,et al.  Optimal algorithms for Byzantine agreement , 1988, STOC '88.

[18]  Leslie Lamport,et al.  Byzantizing Paxos by Refinement , 2011, DISC.

[19]  Shlomi Dolev,et al.  Self Stabilization , 2004, J. Aerosp. Comput. Inf. Commun..

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

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

[22]  Moni Naor,et al.  Distributed Pseudo-random Functions and KDCs , 1999, EUROCRYPT.

[23]  Achour Mostéfaoui,et al.  Signature-free asynchronous byzantine consensus with t < n/3 and o(n2) messages , 2014, PODC.

[24]  Taisuke Izumi On Space and Time Complexity of Loosely-Stabilizing Leader Election , 2015, SIROCCO.

[25]  Adi Shamir,et al.  How to share a secret , 1979, CACM.

[26]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[27]  Maria Gradinariu Potop-Butucaru,et al.  Self-stabilizing byzantine asynchronous unison , 2012, J. Parallel Distributed Comput..

[28]  D. Powell Failure mode assumptions and assumption coverage , 1992, [1992] Digest of Papers. FTCS-22: The Twenty-Second International Symposium on Fault-Tolerant Computing.

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

[30]  Jennifer L. Welch,et al.  Self-stabilizing clock synchronization with Byzantine faults , 1995, PODC '95.

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

[32]  Maria Gradinariu Potop-Butucaru,et al.  Optimal Mobile Byzantine Fault Tolerant Distributed Storage: Extended Abstract , 2016, PODC.

[33]  Shlomi Dolev,et al.  Self-stabilizing Byzantine Consensus for Blockchain - (Brief Announcement) , 2019, CSCML.

[34]  Mohamed Faouzi Atig,et al.  Networked Systems: 7th International Conference, NETYS 2019, Marrakech, Morocco, June 19–21, 2019, Revised Selected Papers , 2019, NETYS.

[35]  Maria Gradinariu Potop-Butucaru,et al.  Dynamic FTSS in asynchronous systems: The case of unison , 2009, Theor. Comput. Sci..

[36]  Chryssis Georgiou,et al.  Self-stabilizing Byzantine Tolerant Replicated State Machine Based on Failure Detectors , 2018, CSCML.

[37]  Elad Michael Schiller,et al.  Practically-Self-Stabilizing Vector Clocks in the Absence of Execution Fairness , 2017, NETYS.

[38]  Michel Raynal,et al.  Fault-Tolerant Message-Passing Distributed Systems , 2018, Springer International Publishing.

[39]  Christoph Lenzen,et al.  Self-Stabilizing Byzantine Clock Synchronization with Optimal Precision , 2017, Theory of Computing Systems.

[40]  Maria Gradinariu Potop-Butucaru,et al.  Stabilizing Server-Based Storage in Byzantine Asynchronous Message-Passing Systems: Extended abstract , 2015, PODC.

[41]  Shlomi Dolev,et al.  Self-stabilizing End-to-End Communication in (Bounded Capacity, Omitting, Duplicating and non-FIFO) Dynamic Networks - (Extended Abstract) , 2012, SSS.

[42]  Maria Gradinariu Potop-Butucaru,et al.  Stabilizing data-link over non-FIFO channels with optimal fault-resilience , 2010, Inf. Process. Lett..

[43]  Danny Dolev,et al.  Fast self-stabilizing byzantine tolerant digital clock synchronization , 2008, PODC '08.

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

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

[46]  Maria Gradinariu Potop-Butucaru,et al.  Stabilizing Byzantine-Fault Tolerant Storage , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium.

[47]  Franck Petit,et al.  Introduction to Distributed Self-Stabilizing Algorithms , 2019, Introduction to Distributed Self-Stabilizing Algorithms.

[48]  Nancy A. Lynch,et al.  A Lower Bound for the Time to Assure Interactive Consistency , 1982, Inf. Process. Lett..

[49]  Shlomi Dolev,et al.  Self-Stabilizing and Private Distributed Shared Atomic Memory in Seldomly Fair Message Passing Networks , 2018, Algorithmica.

[50]  Shlomi Dolev,et al.  Self-stabilizing Byzantine-Tolerant Distributed Replicated State Machine , 2016, SSS.

[51]  Miguel Castro,et al.  Practical byzantine fault tolerance and proactive recovery , 2002, TOCS.

[52]  Haibin Zhang,et al.  BEAT: Asynchronous BFT Made Practical , 2018, CCS.

[53]  Christoph Lenzen,et al.  Self-Stabilising Byzantine Clock Synchronisation Is Almost as Easy as Consensus , 2019, J. ACM.

[54]  Miguel Correia,et al.  Byzantine consensus in asynchronous message-passing systems: a survey , 2011, Int. J. Crit. Comput. Based Syst..

[55]  Michel Raynal,et al.  Self-stabilizing Uniform Reliable Broadcast , 2020, NETYS.

[56]  Victor Shoup,et al.  Secure and Efficient Asynchronous Broadcast Protocols , 2001, CRYPTO.

[57]  Marko Vukolic,et al.  Blockchain Consensus Protocols in the Wild (Keynote Talk) , 2017, DISC.

[58]  Maria Gradinariu Potop-Butucaru,et al.  Brief Announcement: Optimal Self-stabilizing Mobile Byzantine-Tolerant Regular Register with Bounded Timestamps , 2018, SSS.

[59]  Alysson Neves Bessani,et al.  State Machine Replication for the Masses with BFT-SMART , 2014, 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.

[60]  Chryssis Georgiou,et al.  Practically-self-stabilizing virtual synchrony , 2015, J. Comput. Syst. Sci..

[61]  Fukuhito Ooshita,et al.  Loosely Stabilizing Leader Election on Arbitrary Graphs in Population Protocols without Identifiers or Random Numbers , 2020, IEICE Trans. Inf. Syst..

[62]  Rachid Guerraoui,et al.  Introduction to Reliable and Secure Distributed Programming (2. ed.) , 2011 .

[63]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

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

[65]  Joffroy Beauquier,et al.  Fault-tolerance and self-stabilization: impossibility results and solutions using self-stabilizing failure detectors , 1997, Int. J. Syst. Sci..

[66]  Leslie Lamport,et al.  Reaching Agreement in the Presence of Faults , 1980, JACM.

[67]  Michel Raynal,et al.  Self-Stabilizing Indulgent Zero-degrading Binary Consensus , 2021, ICDCN.

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

[69]  Fukuhito Ooshita,et al.  Loosely-Stabilizing Leader Election with Polylogarithmic Convergence Time , 2018, OPODIS.

[70]  Vassos Hadzilacos,et al.  Tolerating Transient and Permanent Failures (Extended Abstract) , 1993, WDAG.

[71]  Sam Toueg,et al.  Randomized Byzantine Agreements , 1984, PODC '84.

[72]  Chryssis Georgiou,et al.  Self-stabilization Overhead: A Case Study on Coded Atomic Storage , 2019, NETYS.

[73]  Noga Alon,et al.  Practically stabilizing SWMR atomic memory in message-passing systems , 2015, J. Comput. Syst. Sci..

[74]  Silvio Micali,et al.  An Optimal Probabilistic Algorithm For Synchronous Byzantine Agreement , 1989, ICALP.

[75]  Leslie Lamport,et al.  Paxos Made Simple , 2001 .

[76]  Robbert van Renesse,et al.  Paxos Made Moderately Complex , 2015, ACM Comput. Surv..

[77]  Chryssis Georgiou,et al.  Self-stabilization Overhead: an Experimental Case Study on Coded Atomic Storage , 2018, ArXiv.

[78]  Chryssis Georgiou,et al.  Self-stabilizing Snapshot Objects for Asynchronous Failure-Prone Networked Systems , 2019, NETYS.

[79]  Elaine Shi,et al.  The Honey Badger of BFT Protocols , 2016, CCS.