Abstract
This paper presents a new algorithm that reduces multivalued consensus to binary consensus in an asynchronous message-passing system made up of n processes where up to t may commit Byzantine failures. This algorithm has the following noteworthy properties: it assumes \(t<n/3\) (and is consequently optimal from a resilience point of view), uses \(O(n^2)\) messages, has a constant time complexity, and uses neither signatures nor additional computational power (such as random numbers, failure detectors, additional scheduling assumption, or additional synchrony assumption). The design of this reduction algorithm relies on two new all-to-all communication abstractions. The first one allows the non-faulty processes to reduce the number of proposed values to c, where c is a small constant. The second communication abstraction allows each non-faulty process to compute a set of (proposed) values satisfying the following property: if the set of a non-faulty process is a singleton containing value v, the set of any non-faulty process contains v. Both communication abstractions have an \(O(n^2)\) message complexity and a constant time complexity. The reduction of multivalued Byzantine consensus to binary Byzantine consensus is then a simple sequential use of these communication abstractions. To the best of our knowledge, this is the first asynchronous message-passing algorithm that reduces multivalued consensus to binary consensus with \(O(n^2)\) messages and constant time complexity (measured with the longest causal chain of messages) in the presence of up to \(t<n/3\) Byzantine processes, and without using cryptography techniques. Moreover, this reduction algorithm uses a single instance of the underlying binary consensus, and tolerates message re-ordering by Byzantine processes.
Similar content being viewed by others
Notes
Directing the non-faulty processes to decide a predefined default value—instead of an arbitrary value, possibly proposed only by faulty processes—in specific circumstances, is close to the notion of an abortable object as defined in [17, 36] where an operation is allowed to abort in the presence of concurrency. This notion of an abortable object is different from the notion of a query-abortable object introduced in [1].
References
Aguilera, M.K., Frolund, S., Hadzilacos, V., Horn, S., Toueg S.: Abortable and query-abortable objects and their efficient implementation. In: Proceedings of 26th Annual ACM Symposium on Principles of Distributed Computing (PODC’07), pp. 23–32 (2007)
Attiya, H., Welch, J.: Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2d edn. Wiley-Interscience, New York (2004)
Ben-Or M.: Another advantage of free choice: completely asynchronous agreement protocols. In: Proceedings of the 2nd ACM Symposium on Principles of Distributed Computing (PODC’83), pp. 27–30. ACM Press, New York (1983)
Bracha, G.: Asynchronous Byzantine agreement protocols. Inf. Comput. 75(2), 130–143 (1987)
Bracha, G., Toueg, S.: Asynchronous consensus and broadcast protocols. J. ACM 32(4), 824–840 (1985)
Cachin, Ch., Kursawe, K., Petzold, F., Shoup, V.: Secure and efficient asynchronous broadcast protocols. In: Proceedings of the 21st Annual International Cryptology Conference (CRYPTO’01). LNCS, vol. 2139, pp. 524–541. Springer, Berlin (2001)
Correia, M., Ferreira Neves, N., Verissimo, P.: From consensus to atomic broadcast: time-free Byzantine-resistant protocols without signatures. Comput. J. 49(1), 82–96 (2006)
De Prisco, R., Malkhi, D., Reiter, M.: On \(k\)-set consensus problems in asynchronous systems. Trans. Parallel Distrib. Syst. 12(1), 7–21 (2001)
Doudou, A., Garbinato, B., Guerraoui, R., Schiper, A.: Muteness failure detectors: specification and implementation. In: Proceedings of the Third European Dependable Computing Conference (EDCC’99). LNC, vol. 1667, pp. 71–87. Springer, Berlin (1999)
Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)
Ezhilchelvan, P., Mostéfaoui, A., Raynal, M.: Randomized multivalued consensus. In: Proceedings of the 4th IEEE International Symposium Object-Oriented Real-Time Distributed Computing (ISORC’01), pp. 195–200. IEEE Society Press, New York (2001)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)
Fitzi, M., Hirt, M.: Optimally efficient multi-valued Byzantine agreement. In: Proceedings of the 25th ACM Symposium on Principles of Distributed Computing (PODC’06), pp. 163–168. ACM Press, New York (2006)
Friedman, R., Mostéfaoui, A., Rajsbaum, S., Raynal, M.: Distributed agreement problems and their connection with error-correcting codes. IEEE Trans. Comput. 56(7), 865–875 (2007)
Friedman, R., Mostéfaoui, A., Raynal, M.: \(\Diamond {\cal P}_{mute}\)-based consensus for asynchronous Byzantine systems. Parallel Process. Lett. 15(1–2), 162–182 (2005)
Friedman, R., Mostéfaoui, A., Raynal, M.: Simple and efficient oracle-based consensus protocols for asynchronous Byzantine systems. IEEE Trans. Dependable Secure Comput. 2(1), 46–56 (2005)
Hadzilacos, V., Toueg, S.: On deterministic abortable objects. In: Proceedings of the 32th Annual ACM Symposium on Principles of Distributed Computing (PODC’13), pp. 4–12 (2013)
Kihlstrom, K.P., Moser, L.E., Melliar-Smith, P.M.: Byzantine fault detectors for solving consensus. Comput. J. 46(1), 16–35 (2003)
King, V., Saia, J.: Breaking the \(O(n^2)\) bit barrier: scalable Byzantine agreement with an adaptive adversary. In: Proceedings of the 30th ACM Symposium on Principles of Distributed Computing (PODC’11), pp. 420–429. ACM Press, New York (2011)
Lamport, L., Shostack, R., Pease, M.: The Byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)
Liang, G., Vaidya, N.: Error-free multi-valued consensus with Byzantine failures. In: Proceeding 30th ACM Symposium on Principles of Distributed Computing (PODC’11), pp. 11–20. ACM Press, New York (2011)
Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann Publications, San Francisco (1996)
Martin, J-Ph, Alvisi, L.: Fast Byzantine consensus. IEEE Trans. Dependable Secure Comput. 3(3), 202–215 (2006)
Milosevic, Z., Hutle, M., Schiper, A.: On the reduction of atomic broadcast to consensus with Byzantine faults. In: Proceedings of the 30th IEEE International Symposium on Reliable Distributed Systems (SRDS’11), pp. 235–244. IEEE Computer Press, Los Alamitos (2011)
Mostéfaoui, A., Moumen, H., Raynal, M.: Signature-free asynchronous Byzantine consensus with \(t<n/3\) and \(O(n^2)\) messages. In: Proceedings of the 33rd Annual ACM Symposium on Principles of Distributed Computing (PODC’14), pp. 2–9. ACM Press, New York (2014)
Mostéfaoui, A., Moumen, H., Raynal, M.: Signature-free asynchronous binary Byzantine consensus with \(t<n/3\), \(O(n^2)\) messages, and \(O(1) \) expected time. J. ACM 62(4), 21 (2015)
Mostéfaoui, A., Rajsbaum, S., Raynal, M.: Conditions on input vectors for consensus solvability in asynchronous distributed systems. J. ACM 50(6), 922–954 (2003)
Mostéfaoui, A., Raynal, M.: Signature-free broadcast-based intrusion tolerance: never decide a Byzantine value. In: Proceedings of the 14th International Conference on Principles of Distributed Systems (OPODIS’010). LNCS, vol. 6490, pp. 144–159. Springer, Berlin (2010)
Mostéfaoui, A., Raynal, M.: Signature-free asynchronous Byzantine systems: from multivalued to binary consensus with \(t<n/3\), \(O(n^2)\) messages, and constant time. In: Proceedings of the 22nd International Colloquium on Structural Information and Communication Complexity (SIROCCO’15). LNCS, vol. 9439, pp. 194–208. Springer, Berlin (2015)
Mostéfaoui, A., Raynal, M., Tronel, F.: From binary consensus to multivalued consensus in asynchronous message-passing systems. Inf. Process. Lett. 73, 207–213 (2000)
Patra, A.: Error-free multi-valued broadcast and Byzantine agreement with optimal communication complexity. In: Proceedings of the 15th International Conference on Principles of Distributed Systems (OPODIS’10). LNCS, vol. 7109, pp. 34–49. Springer, Berlin (2011)
Pease, M., Shostak R, R., Lamport, L.: Reaching agreement in the presence of faults. J. ACM 27, 228–234 (1980)
Rabin M.: Randomized Byzantine generals. In: Proceedings of the 24th IEEE Symposium on Foundations of Computer Science (FOCS’83), pp. 116–124. IEEE Computer Society Press, New York (1983)
Raynal, M.: Communication and Agreement Abstractions for Fault-Tolerant Asynchronous Distributed Systems. Morgan & Claypool, San Rafael (2010)
Raynal, M.: Fault-Tolerant Agreement in Synchronous Message-Passing Systems. Morgan & Claypool, San Rafael (2010)
Raynal, M.: Concurrent Programming: Algorithms, Principles and Foundations. Springer, Berlin (2013)
Toueg, S.: Randomized Byzantine agreement. In: Proceedings of the 3rd Annual ACM Symposium on Principles of Distributed Computing (PODC’84), pp. 163–178. ACM Press, New York (1984)
Turpin, R., Coan, B.A.: Extending binary Byzantine agreement to multivalued Byzantine agreement. Inf. Process. Lett. 18, 73–76 (1984)
Zhang, H., Zhao, W., Moser, L.E., Melliar-Smith, P.M.: Design and implementation of a Byzantine fault tolerance framework for non-deterministic applications. IET Softw. 5(3), 342–356 (2011)
Zhang, J., Chen, W.: Bounded cost algorithms for multivalued consensus using binary consensus instances. Inf. Process. Lett. 109(17), 1005–1009 (2009)
Acknowledgments
We want to thank the referees for their constructive comments. This work has been partially supported by the Franco-German ANR project DISCMAT devoted to connections between mathematics and distributed computing.
Author information
Authors and Affiliations
Corresponding author
Additional information
An extended abstract of this paper appeared in SIROCCO 2015 [29].
Rights and permissions
About this article
Cite this article
Mostéfaoui, A., Raynal, M. Signature-free asynchronous Byzantine systems: from multivalued to binary consensus with \(t<n/3\), \(O(n^2)\) messages, and constant time. Acta Informatica 54, 501–520 (2017). https://doi.org/10.1007/s00236-016-0269-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-016-0269-y