Skip to main content
Log in

Multidimensional agreement in Byzantine systems

  • Published:
Distributed Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Notes

  1. For basic definitions on simplicial topology, see [20].

References

  1. 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)

  2. 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)

  3. Attiya, H., Welch, J.: Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2nd edn. Wiley, New York (2004)

    Book  Google Scholar 

  4. 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)

  5. 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)

    Article  MATH  MathSciNet  Google Scholar 

  6. Boyd, S., Vandenberghe, L.: Convex Optimization. Cambridge University Press, Cambridge (2004)

    Book  MATH  Google Scholar 

  7. Bracha, G.: Asynchronous Byzantine agreement protocols. Inf. Comput. 75(2), 130–143 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  8. 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)

  9. 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)

    Article  MathSciNet  Google Scholar 

  10. Dolev, D., Reischuk, R., Strong, H.R.: Early stopping in Byzantine agreement. J. ACM 37(4), 720–741 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  11. 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)

  12. Fekete, A.: Asymptotically optimal algorithms for approximate agreement. Distrib. Comput. 4(1), 9–29 (1990)

    Article  MathSciNet  Google Scholar 

  13. Fischer, M., Lynch, N., Merritt, M.: Easy impossibility proofs for distributed consensus problems. Distrib. Comput. 1(1), 26–39 (1986)

    Article  MATH  Google Scholar 

  14. Fischer, M., Lynch, N., Paterson, M.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)

  15. 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)

  16. Lamport, L., Shostak, R., Pease, M.: The Byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)

  17. 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

  18. Miller, G.L., Sheehy, D.R.: Approximate centerpoints with proofs. Comput. Geom. 43(8), 647–654 (2010)

    Article  MATH  MathSciNet  Google Scholar 

  19. 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)

  20. Munkres, J.: Elements of Algebraic Topology, 2nd edn. Prentice Hall, Englewood Cliffs (1984)

    MATH  Google Scholar 

  21. Neves, N.F., Correia, M., Verissimo, P.: Solving vector consensus with a wormhole. IEEE Trans. Parallel Distrib. Syst. 16(12), 1120–1131 (2005)

    Article  Google Scholar 

  22. Perles, M., Sigron, M.: A generalization of the Tverberg’s theorem (2007). arXiv:0710.4668

  23. 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)

  24. Saari, D.: Basic Geometry of Voting. Springer, Berlin (1995)

    Book  MATH  Google Scholar 

  25. Srikanth, T., Toueg, S.: Simulating authenticated broadcasts to derive simple fault-tolerant algorithms. Distrib. Comput. 2(2), 80–94 (1987)

    Article  Google Scholar 

  26. Tverberg, H.: A generalization of Radon’s theorem. J. Lond. Math. Soc. s1–41(1), 123–128 (1966)

    Article  MathSciNet  Google Scholar 

  27. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nitin Vaidya.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-014-0240-5

Keywords

Navigation