Skip to main content
Log in

Byzantine agreement with homonyms

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

So far, the distributed computing community has either assumed that all the processes of a distributed system have distinct identifiers or, more rarely, that the processes are anonymous and have no identifiers. These are two extremes of the same general model: namely, \(n\) processes use \(\ell \) different identifiers, where \(1 \le \ell \le n\). In this paper, we ask how many identifiers are actually needed to reach agreement in a distributed system with \(t\) Byzantine processes. We show that having \(3t+1\) identifiers is necessary and sufficient for agreement in the synchronous case but, more surprisingly, the number of identifiers must be greater than \(\frac{n+3t}{2}\) in the partially synchronous case. This demonstrates two differences from the classical model (which has \(\ell =n\)): there are situations where relaxing synchrony to partial synchrony renders agreement impossible; and, in the partially synchronous case, increasing the number of correct processes can actually make it harder to reach agreement. The impossibility proofs use the fact that a Byzantine process can send multiple messages to the same recipient in a round. We show that removing this ability makes agreement easier: then, \(t+1\) identifiers are sufficient for agreement, even in the partially synchronous model, assuming processes can count the number of messages with the same identifier they receive in a round.

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
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. Angluin, D: Local and global properties in networks of processors (extended abstract). In: Proceedings of the 12th ACM Symposium on Theory of Computing, pp. 82–93. ACM (1980)

  2. Aspnes, J., Fich, F.E., Ruppert, E.: Relationships between broadcast and shared memory in reliable anonymous distributed systems. Distrib. Comput. 18(3), 209–219 (2006)

    Article  Google Scholar 

  3. Attiya, H., Gorbach, A., Moran, S.: Computing in totally anonymous asynchronous shared memory systems. Inf. Comput. 173(2), 162–183 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  4. Boldi, P., Vigna, S.: An effective characterization of computability in anonymous networks. In: Proceedings of the 15th International Conference on Distributed Computing, vol. 2180 of LNCS, pp. 33–47. Springer (2001)

  5. Bonnet, F., Raynal, M.: The price of anonymity: optimal consensus despite asynchrony, crash, and anonymity. ACM Trans. Auton. Adapt. Syst. 6(4), 23:1–23:28 (2011)

    Article  Google Scholar 

  6. Buhrman, H., Panconesi, A., Silvestri, R., Vitányi, P.M.B.: On the importance of having an identity or, is consensus really universal? Distrib. Comput. 18(3), 167–176 (2006)

    Article  Google Scholar 

  7. Chaum, D., van Heyst, E.: Group signatures. In: Advances in Cryptology: EUROCRYPT ’91, vol. 547 of LNCS, pp. 257–265, (1991)

  8. Delporte-Gallet, C., Fauconnier, H., Guerraoui, R., Kermarrec, A.-M., Ruppert, E., Tran-The, H.: Byzantine agreement with homonyms. In: Proceedings of the 30th ACM Symposium on Principles of Distributed Computing, pp. 21–30 (2011)

  9. Delporte-Gallet, C., Fauconnier, H., Tielmann, A.: Fault-tolerant consensus in unknown and anonymous networks. In: Proceedings of the 29th IEEE International Conference on Distributed Computing Systems, pp. 368–375. IEEE Computer Society (2009)

  10. Dwork, C., Lynch, N.A., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)

    Article  MathSciNet  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  13. Garay, J.A., Yoram, M.: Fully polynomial byzantine agreement for \(n{>}3t\) processors in \(t+1\) rounds. SIAM J. Comput. 27(1), 247–290 (1998)

  14. Guerraoui, R., Ruppert, E.: Anonymous and fault-tolerant shared-memory computing. Distrib. Comput. 20(3), 165–177 (2007)

    Article  MATH  Google Scholar 

  15. Jayanti, P., Toueg, S.: Wakeup under read/write atomicity. In: van Leeuwen J., Santoro N., (eds.). Proceedings of the 4th International Workshop on Distributed Algorithms, vol. 486 of LNCS, pp. 277–288. Springer (1990)

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

    Article  MATH  Google Scholar 

  17. Okun, M.: Agreement among unacquainted Byzantine generals. In: Proceedings of the 19th International Conference on Distributed Computing, vol. 3724 of LNCS, pp. 499–500. Springer (2005)

  18. Okun, M., Barak, A.: Efficient algorithms for anonymous Byzantine agreement. Theory Comput. Syst. 42(2), 222–238 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  19. Okun, M., Barak, A., Gafni, E.: Renaming in synchronous message passing systems with Byzantine failures. Distrib. Comput. 20(6), 403–413 (2008)

    Article  MATH  Google Scholar 

  20. Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. J. ACM 27(2), 228–234 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  21. Rowstron, A.I.T., Druschel, P.: Pastry: scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In: Middleware, vol. 2218 of LNCS, pp. 329–350 (2001)

  22. Ruppert, E.: The anonymous consensus hierarchy and naming problems. In: Proceedings of the Principles of Distributed Systems, 11th International Conference, vol. 4878 of LNCS, pp. 386–400. Springer (2007)

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

    Google Scholar 

  24. Stoica, I., Morris, R., Liben-Nowell, D., Karger, D.R., Kaashoek, M.F., Dabek, F., Balakrishnan, H.: Chord: a scalable peer-to-peer lookup protocol for internet applications. IEEE/ACM Trans. Netw. 11(1), 17–32 (2003)

    Article  Google Scholar 

  25. Yamashita, M., Kameda, T.: Computing on anonymous networks: part I-characterizing the solvable cases. IEEE Trans. Parallel Distrib. Syst. 7(1), 69–89 (1996)

    Google Scholar 

Download references

Acknowledgments

We are grateful to Christian Cachin for his useful comments on our model with homonyms. We thank the anonymous reviewers for all of their very helpful comments. An abbreviated version of this paper appeared in [8]. Eric Ruppert received funding from the Natural Sciences and Engineering Research Council of Canada. This work is supported by the ERC Starting Grant GOSSPLE number 204742 and the ANR VERSO SHAMAN.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carole Delporte-Gallet.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Delporte-Gallet, C., Fauconnier, H., Guerraoui, R. et al. Byzantine agreement with homonyms. Distrib. Comput. 26, 321–340 (2013). https://doi.org/10.1007/s00446-013-0190-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-013-0190-3

Keywords

Navigation