Abstract
Consider a network of \(n\) processes, where each process inputs a \(d\)-dimensional vector of reals. All processes can communicate directly with others via reliable FIFO channels. We discuss two problems. The multidimensional Byzantine consensus problem, for synchronous systems, requires processes to decide on a single \(d\)-dimensional vector \(v \in {\mathbb {R}}^d\), inside the convex hull of \(d\)-dimensional vectors that were input by the non-faulty processes. Also, the multidimensional Byzantine approximate agreement (MBAA) problem, for asynchronous systems, requires processes to decide on multiple \(d\)-dimensional vectors in \({\mathbb {R}}^d\), all within a fixed Euclidean distance \(\epsilon \) of each other, and inside the convex hull of \(d\)-dimensional vectors that were input by the non-faulty processes. We obtain the following results for the problems above, while tolerating up to \(f\) Byzantine failures in systems with complete communication graphs: (1) In synchronous systems, \(n > \max \{3f, (d+1)f\}\) is necessary and sufficient to solve the multidimensional consensus problem. (2) In asynchronous systems, \(n > (d+2)f\) is necessary and sufficient to solve the multidimensional approximate agreement problem. Our sufficiency proofs are constructive, giving explicit protocols for the problems. In particular, for the MBAA problem, we give two protocols with strictly different properties and applications.
Similar content being viewed by others
Notes
For basic definitions on simplicial topology, see [20].
References
Abraham, I., Amit, Y., Dolev, D.: Optimal resilience asynchronous approximate agreement. In: Higashino, T. (ed.) Principles of Distributed Systems. Lecture Notes in Computer Science, vol. 3544, pp. 229–239. Springer, Berlin (2005)
Agarwal, P.K., Sharir, M., Welzl, E.: Algorithms for center and Tverberg points. In: Proceedings of the 20th Annual Symposium on Computational Geometry (SCG), pp. 61–67. ACM, New York, NY, USA (2004)
Attiya, H., Welch, J.: Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2nd edn. Wiley, New York (2004)
Ben-Or, M., Dolev, D., Hoch, E.: Brief announcement: simple gradecast based algorithms. In: Lynch, N., Shvartsman, A. (eds.) Distributed Computing. Lecture Notes in Computer Science, vol. 6343, pp. 194–197. Springer, Berlin (2010)
Bouzid, Z., Potop-Butucaru, M.G., Tixeuil, S.: Optimal Byzantine-resilient convergence in uni-dimensional robot networks. Theor. Comput. Sci. 411(34–36), 3154–3168 (2010)
Boyd, S., Vandenberghe, L.: Convex Optimization. Cambridge University Press, Cambridge (2004)
Bracha, G.: Asynchronous Byzantine agreement protocols. Inf. Comput. 75(2), 130–143 (1987)
Danzer, L., Grünbaum, B., Klee, V.: Helly’s theorem and its relatives. In: Klee, V.L. (ed.) Proceedings of the Seventh Symposium in Pure Mathematics, vol. 7, pp. 101–180. American Mathematical Society (1963)
Dolev, D., Lynch, N., Pinter, S., Stark, E., Weihl, W.: Reaching approximate agreement in the presence of faults. J. ACM 33(3), 499–516 (1986)
Dolev, D., Reischuk, R., Strong, H.R.: Early stopping in Byzantine agreement. J. ACM 37(4), 720–741 (1990)
Doudou, A., Schiper, A.: Muteness detectors for consensus with Byzantine processes. In: Proceedings of the Seventeenth Annual ACM Symposium on Principles of Distributed Computing, PODC ’98, p. 315. ACM, New York, NY, USA (1998)
Fekete, A.: Asymptotically optimal algorithms for approximate agreement. Distrib. Comput. 4(1), 9–29 (1990)
Fischer, M., Lynch, N., Merritt, M.: Easy impossibility proofs for distributed consensus problems. Distrib. Comput. 1(1), 26–39 (1986)
Fischer, M., Lynch, N., Paterson, M.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)
Jadhav, S., Mukhopadhyay, A.: Computing a centerpoint of a finite planar set of points in linear time. Discrete Comput. Geom. 12(1), 291–312 (1994)
Lamport, L., Shostak, R., Pease, M.: The Byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)
Mendes, H., Herlihy, M.: Multidimensional approximate agreement in Byzantine asynchronous systems. In: Proceedings of the 45th Annual ACM Symposium on Theory of Computing, pp. 391–400. STOC’13. ACM, New York, NY, USA (2013). doi:10.1145/2488608.2488657
Miller, G.L., Sheehy, D.R.: Approximate centerpoints with proofs. Comput. Geom. 43(8), 647–654 (2010)
Mulzer, W., Werner, D.: Approximating Tverberg points in linear time for any fixed dimension. In: Proceedings of the 28th Annual Symposium on Computational Geometry, SoCG ’12, pp. 303–310. ACM, New York, NY, USA (2012)
Munkres, J.: Elements of Algebraic Topology, 2nd edn. Prentice Hall, Englewood Cliffs (1984)
Neves, N.F., Correia, M., Verissimo, P.: Solving vector consensus with a wormhole. IEEE Trans. Parallel Distrib. Syst. 16(12), 1120–1131 (2005)
Perles, M., Sigron, M.: A generalization of the Tverberg’s theorem (2007). arXiv:0710.4668
Potop-Butucaru, M., Raynal, M., Tixeuil, S.: Distributed computing with mobile robots: an introductory survey. In: 14th International Conference on Network-Based Information Systems, NBiS’11, pp. 318–324 (2011)
Saari, D.: Basic Geometry of Voting. Springer, Berlin (1995)
Srikanth, T., Toueg, S.: Simulating authenticated broadcasts to derive simple fault-tolerant algorithms. Distrib. Comput. 2(2), 80–94 (1987)
Tverberg, H.: A generalization of Radon’s theorem. J. Lond. Math. Soc. s1–41(1), 123–128 (1966)
Vaidya, N., Garg, V.K.: Byzantine vector consensus in complete graphs. In: Proceedings of the 2013 ACM Symposium on Principles of Distributed Computing, PODC ’13. ACM, New York, NY, USA (2013). doi:10.1145/2484239.2484256
Author information
Authors and Affiliations
Corresponding author
Additional information
(M. Herlihy) Supported by NSF 0830491. (N. Vaidya and V. K. Garg) This research is supported in part by National Science Foundation awards CNS-1059540 and CNS-1115808, and the Cullen Trust for Higher Education. Any opinions, findings, and conclusions or recommendations expressed here are those of the authors and do not necessarily reflect the views of the funding agencies or the U.S. government.
Appendix: Tverberg’s Theorem
Appendix: Tverberg’s Theorem
Theorem 8
(Tverberg’s Theorem [22, 26]) For any integer \(f\) with \(f \ge 1\) and any multiset \(X\) containing at least \((d+1)f+1\) points in \({\mathbb {R}}^d\), there exists a partition \(X_1,\ldots , X_{f+1}\) of \(X\) into \(f+1\) non-empty multisets such that \(\cap _{1 \le x \le f+1} {\mathrm {Poly}}({X_x}) \ne \emptyset \).
The points in the above multiset \(X\) are not necessarily distinct [22, 26], so the same point may occur multiple times in \(X\). Any partition in Theorem 8 is called a Tverberg partition, and the points in \(\cap _{1 \le x \le f+1} {\mathrm {Poly}}({X_x})\) in Theorem 8 are called Tverberg points. It can be shown that any Tverberg point of a particular multiset \(X\) is necessarily within the safe area \({\mathrm {Safe}}_{f}({X})\) [27].
Algorithm 5 requires non-faulty processes to choose identically any point in \(S\) as the output vector. The deterministic procedure in the algorithm could therefore return a Tverberg point. For arbitrary \(d\), no algorithm to compute a Tverberg point of an arbitrary multiset is currently known with polynomial complexity [2, 18, 19]. However, in some restricted cases, efficient algorithms are known (e.g., [15]).
Rights and permissions
About this article
Cite this article
Mendes, H., Herlihy, M., Vaidya, N. et al. Multidimensional agreement in Byzantine systems. Distrib. Comput. 28, 423–441 (2015). https://doi.org/10.1007/s00446-014-0240-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-014-0240-5