Hybrid binary consensus in anonymous asynchronous systems using coins and failure detectors

  • Ernesto JiménezEmail author
  • José Luis López-Presa
  • Javier Martín-Rueda


Fault tolerance and agreement are essential capabilities of current distributed systems. In this context, Binary Consensus is a key problem. It is well-known that consensus cannot be solved in a pure asynchronous system when at least one process can crash. To overcome this impossibility result, the asynchronous system is usually augmented with randomization, failure detectors or some kind of synchronization. Random binary consensus in classic asynchronous systems is usually solved using a common coin to achieve a constant expected number of rounds. However, to our knowledge, the literature lacks the existence of common coin algorithms for anonymous asynchronous systems. In this paper, an implementation of a common coin that runs on anonymous asynchronous systems is proposed and it is proved that the probability that this common coin gives the same outcome to all processes is bigger than 0.75 with small bias. This result allows to solve random consensus, in anonymous asynchronous systems, in four expected rounds, independently of the number of processes in the system. The main result of this paper is a hybrid (deterministic/random) binary consensus algorithm which solves consensus in anonymous asynchronous systems enriched with a common coin and a failure detector of class \(A{\varOmega}'\), where less than half of the processes may fail, which is an optimal bound on the number of failures. To our knowledge, this is the first such algorithm. It only needs a quadratic number of interchanged messages per round, and the size of these messages is minimal (O(1) bytes). Consensus is achieved in one round by our hybrid algorithm if the failure detector does not make any errors or all processes propose the same value, and in four expected rounds if the adversary does not control the common coin. Additionally, we conducted an experimental evaluation whose results agree with the expected ones and slightly improve them. In particular, above 95% of the times, all processes get the same outcome from the coin, and random consensus is achieved in less than two rounds on average with very small standard deviation. This makes our algorithms good candidates for deployment in practical distributed systems.


Fault-tolerant distributed systems Binary consensus Common coin Hybrid consensus Anonymous asynchronous systems 



We would like to thank Jesús García López de Lacalle for his help with mathematical aspects of the proofs.


This work has been partially funded by the Ministry of Economy and Competitiveness (MINECO) under Project CloudDB (TIN2016-80350), European Union Horizon 2020 Programme under Project CloudDBAppliance (Grant 732051), and by the Regional Government of Madrid (CM) under Project Cloud4BigData (S2013/ICE-2894) cofunded by FSE & FEDER.


  1. 1.
    Aguilera MK, Toueg S (1998) Failure detection and randomization: a hybrid approach to solve consensus. SIAM J Comput 28(3):890–903MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Akyildiz IF, Weilian S, Sankarasubramaniam Y, Cayirci E (2002) Wireless sensor networks: a survey. Comput Netw 38(4):393–422CrossRefGoogle Scholar
  3. 3.
    Angluin D (1980) Local and global properties in networks of processors (extended abstract). In: Miller RE, Ginsburg S, Burkhard WA, Lipton RJ (eds) Proceedings of the 12th Annual ACM Symposium on Theory of Computing, April 28–30, 1980, Los Angeles, CA, USA. ACM, pp 82–93Google Scholar
  4. 4.
    Angluin D, Aspnes J, Diamadi Z, Fischer MJ, Peralta R (2006) Computation in networks of passively mobile finite-state sensors. Distrib Comput 18(4):235–253CrossRefzbMATHGoogle Scholar
  5. 5.
    Angluin D, Aspnes J, Eisenstat D, Ruppert E (2005) On the power of anonymous one-way communication. In: Anderson JH, Prencipe G, Wattenhofer R (eds) Principles of Distributed Systems, 9th International Conference, OPODIS 2005, Pisa, Italy, 12–14 Dec 2005, Revised Selected Papers, volume 3974 of Lecture Notes in Computer Science. Springer, pp 396–411Google Scholar
  6. 6.
    Aspnes J (2003) Randomized protocols for asynchronous consensus. Distrib Comput 16(2–3):165–175CrossRefGoogle Scholar
  7. 7.
    Attiya H, Snir M, Warmuth MK (1988) Computing on an anonymous ring. J ACM 35(4):845–875MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Attiya H, Welch J (2004) Distributed computing: fundamentals, simulations and advanced topics. Wiley, HobokenCrossRefzbMATHGoogle Scholar
  9. 9.
    Babu KS, Hota J, Jena SK (2014) Privacy preserving social networking. Int J Comput Sci Eng 9(3):165–176Google Scholar
  10. 10.
    Ben-Or M (1983) Another advantage of free choice: completely asynchronous agreement protocols (extended abstract). In: Probert RL, Lynch NA, Santoro N (eds) Proceedings of the Second Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Montreal, QC, Canada, 17–19 Aug 1983. ACM, pp 27–30Google Scholar
  11. 11.
    Bonnet F, Raynal M (2011) The price of anonymity: optimal consensus despite asynchrony, crash, and anonymity. TAAS 6(4):23:1–23:28CrossRefzbMATHGoogle Scholar
  12. 12.
    Bonnet F, Raynal M (2013) Anonymous asynchronous systems: the case of failure detectors. Distrib Comput 26(3):141–158CrossRefzbMATHGoogle Scholar
  13. 13.
    Bouzid Z, Travers C (2012) Anonymity, failures, detectors and consensus. Working paper or preprint, AugustGoogle Scholar
  14. 14.
    Bouzid Z, Travers C (2012) Brief announcement: anonymity, failures, detectors and consensus. In: Aguilera MK (ed) Distributed Computing—26th International Symposium, DISC 2012, Salvador, Brazil, 16–18 Oct 2012. Proceedings, volume 7611 of Lecture Notes in Computer Science. Springer, pp 427–428Google Scholar
  15. 15.
    Bracha G (1987) Asynchronous Byzantine agreement protocols. Inf Comput 75(2):130–143MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Cachin C, Guerraoui R, Rodrigues L (2011) Introduction to reliable and secure distributed programming, 2nd edn. Springer, Berlin IncorporatedCrossRefzbMATHGoogle Scholar
  17. 17.
    Cachin C, Kursawe K, Shoup V (2005) Random oracles in constantinople: practical asynchronous Byzantine agreement using cryptography. J Cryptol 18(3):219–246MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Canetti R, Rabin T (1993) Fast asynchronous Byzantine agreement with optimal resilience. In: Rao KS, Johnson DS, Aggarwal A (eds) Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing, 16–18 May 1993, San Diego, CA, USA. ACM, pp 42–51Google Scholar
  19. 19.
    Chandra TD, Hadzilacos V, Toueg S (1996) The weakest failure detector for solving consensus. J ACM 43(4):685–722MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Chandra TD, Toueg S (1996) Unreliable failure detectors for reliable distributed systems. J ACM 43(2):225–267MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Chang C-C, Lin C-Y, Lin K-C (2007) Simple efficient mutual anonymity protocols for peer-to-peer network based on primitive roots. J Netw Comput Appl 30(2):662–676CrossRefGoogle Scholar
  22. 22.
    Chor B, Dwork C (1989) Randomization in Byzantine agreement. Adv Comput Res 5:443–497Google Scholar
  23. 23.
    Chor B, Merritt M, Shmoys DB (1989) Simple constant-time consensus protocols in realistic failure models. J ACM 36(3):591–614MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Chothia T, Chatzikokolakis K (2005) A survey of anonymous peer-to-peer file-sharing. In: Enokido T, Yan L, Xiao B, Kim D, Dai Y-S, Yang LT (eds) Embedded and Ubiquitous Computing—EUC 2005 Workshops, EUC 2005 Workshops: UISW, NCUS, SecUbiq, USN, and TAUES, Nagasaki, Japan, 6–9 Dec 2005, Proceedings, volume 3823 of Lecture Notes in Computer Science. Springer, pp 744–755Google Scholar
  25. 25.
    Correia M, Veronese GS, Neves NF, Verissimo P (2011) Byzantine consensus in asynchronous message-passing systems: a survey. Int J Crit Comput Based Syst 2(2):141–161CrossRefGoogle Scholar
  26. 26.
    Durresi A, Paruchuri V, Durresi M, Barolli L (2005) A hierarchical anonymous communication protocol for sensor networks. In: Yang LT, Amamiya M, Liu Z, Guo M, Rammig FJ (eds) Embedded and Ubiquitous Computing—EUC 2005, International Conference EUC 2005, Nagasaki, Japan, December 6-9, 2005, Proceedings, volume 3824 of Lecture Notes in Computer Science, pp 1123–1132. SpringerGoogle Scholar
  27. 27.
    Fischer MJ, Lynch NA, Paterson MS (1985) Impossibility of distributed consensus with one faulty process. J ACM 32(2):374–382MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    Goldreich O, Petrank E (1990) The best of both worlds: guaranteeing termination in fast randomized Byzantine agreement protocols. Inf Process Lett 36(1):45–49MathSciNetCrossRefzbMATHGoogle Scholar
  29. 29.
    Guerraoui R, Ruppert E (2005) What can be implemented anonymously? In: Fraigniaud P (ed) Distributed Computing, 19th International Conference, DISC 2005, Cracow, Poland, 26–29 Sept 2005, Proceedings, volume 3724 of Lecture Notes in Computer Science. Springer, pp 244–259Google Scholar
  30. 30.
    Jiménez E, Arévalo S, Fernández A (2006) Implementing unreliable failure detectors with unknown membership. Inf Process Lett 100(2):60–63MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    Jiménez E, Arévalo S, Herrera C, Tang J (2015) Eventual election of multiple leaders for solving consensus in anonymous systems. J Supercomput 71(10):3726–3743CrossRefGoogle Scholar
  32. 32.
    Lamport L, Shostak R, Pease M (1982) The Byzantine generals problem. ACM Trans Program Lang Syst 4(3):382–401CrossRefzbMATHGoogle Scholar
  33. 33.
    Mostéfaoui A, Moumen H, Raynal M (2015) Signature-free asynchronous binary byzantine consensus with \(\text{ t } < \text{ n }/3\), o(n2) messages, and O(1) expected time. J ACM 62(4):31:1–31:21CrossRefzbMATHGoogle Scholar
  34. 34.
    Mostéfaoui A, Raynal M, Tronel F (2000) The best of both worlds: a hybrid approach to solve consensus. In: 2000 International Conference on Dependable Systems and Networks (DSN 2000) (formerly FTCS-30 and DCCA-8), 25–28 June 2000, New York, NY, USA. IEEE Computer Society, pp 513–522Google Scholar
  35. 35.
    Mostéfaoui A, Raynal M, Tronel F (2000) From binary consensus to multivalued consensus in asynchronous message-passing systems. Inf Process Lett 73(5):207–212MathSciNetCrossRefzbMATHGoogle Scholar
  36. 36.
    Ould-Ahmed-Vall EM, Blough DM, Heck-Ferri BS, Riley GF (2009) Distributed global ID assignment for wireless sensor networks. Ad Hoc Netw 7(6):1194–1216CrossRefGoogle Scholar
  37. 37.
    Pease M, Shostak R, Lamport L (1980) Reaching agreement in the presence of faults. J ACM 27(2):228–234MathSciNetCrossRefzbMATHGoogle Scholar
  38. 38.
    Rabin MO (1983) Randomized Byzantine generals. In: 24th Annual Symposium on Foundations of Computer Science, Tucson, AZ, USA, 7–9 Nov 1983. IEEE Computer Society, pp 403–409Google Scholar
  39. 39.
    Raynal M (2009) Failure detectors for asynchronous distributed systems: an introduction. Wiley Encycl Comput Sci Eng 2:1181–1191Google Scholar
  40. 40.
    Raynal M (2010) Communication and agreement abstractions for fault-tolerant asynchronous distributed systems. Synthesis lectures on distributed computing theory. Morgan & Claypool Publishers, Los AltosGoogle Scholar
  41. 41.
    Sherwood R, Bhattacharjee B, Srinivasan A (2002) P5 : a protocol for scalable anonymous communication. In: Proceedings 2002 IEEE Symposium on Security and Privacy, pp 58–70Google Scholar
  42. 42.
    Srikanth TK, Toueg S (1987) Simulating authenticated broadcasts to derive simple fault-tolerant algorithms. Distrib Comput 2(2):80–94CrossRefGoogle Scholar
  43. 43.
    Toueg S (1984) Randomized byzantine agreements. In: Kameda T, Misra J, Peters JG, Santoro N (eds) Proceedings of the Third Annual ACM Symposium on Principles of Distributed Computing, Vancouver, BC, Canada, 27–29 Aug 1984. ACM, pp 163–178Google Scholar
  44. 44.
    Zamsky A (1996) A randomized byzantine agreement protocol with constant expected time and guaranteed termination in optimal (deterministic) time. In: Burns JE, Moses Y (eds) Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, Philadelphia, PA, USA, 23–26 May 1996. ACM, pp 201–208Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Universidad Politécnica de MadridMadridSpain

Personalised recommendations