Advertisement

Distributed Computing

, Volume 26, Issue 5–6, pp 321–340 | Cite as

Byzantine agreement with homonyms

  • Carole Delporte-Gallet
  • Hugues Fauconnier
  • Rachid Guerraoui
  • Anne-Marie Kermarrec
  • Eric Ruppert
  • Hung Tran-The
Article

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.

Keywords

Consensus Message passing  Process identifiers  Byzantine failures 

Notes

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.

References

  1. 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)Google Scholar
  2. 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)CrossRefGoogle Scholar
  3. 3.
    Attiya, H., Gorbach, A., Moran, S.: Computing in totally anonymous asynchronous shared memory systems. Inf. Comput. 173(2), 162–183 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 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)Google Scholar
  5. 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)CrossRefGoogle Scholar
  6. 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)CrossRefGoogle Scholar
  7. 7.
    Chaum, D., van Heyst, E.: Group signatures. In: Advances in Cryptology: EUROCRYPT ’91, vol. 547 of LNCS, pp. 257–265, (1991)Google Scholar
  8. 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)Google Scholar
  9. 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)Google Scholar
  10. 10.
    Dwork, C., Lynch, N.A., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)MathSciNetCrossRefGoogle Scholar
  11. 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. 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. 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)Google Scholar
  14. 14.
    Guerraoui, R., Ruppert, E.: Anonymous and fault-tolerant shared-memory computing. Distrib. Comput. 20(3), 165–177 (2007)CrossRefzbMATHGoogle Scholar
  15. 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)Google Scholar
  16. 16.
    Lamport, L., Shostak, R., Pease, M.: The Byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)CrossRefzbMATHGoogle Scholar
  17. 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)Google Scholar
  18. 18.
    Okun, M., Barak, A.: Efficient algorithms for anonymous Byzantine agreement. Theory Comput. Syst. 42(2), 222–238 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Okun, M., Barak, A., Gafni, E.: Renaming in synchronous message passing systems with Byzantine failures. Distrib. Comput. 20(6), 403–413 (2008)CrossRefzbMATHGoogle Scholar
  20. 20.
    Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. J. ACM 27(2), 228–234 (1980)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 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)Google Scholar
  22. 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)Google Scholar
  23. 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. 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)CrossRefGoogle Scholar
  25. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Carole Delporte-Gallet
    • 1
  • Hugues Fauconnier
    • 1
  • Rachid Guerraoui
    • 2
  • Anne-Marie Kermarrec
    • 3
  • Eric Ruppert
    • 4
  • Hung Tran-The
    • 1
  1. 1.University Paris DiderotParisFrance
  2. 2.Ecole Polytechnique Fédérale de LausanneLausanneSwitzerland
  3. 3.INRIA Rennes-Bretagne AtlantiqueRennesFrance
  4. 4.York UniversityTorontoCanada

Personalised recommendations