All-to-All Gradecast Using Coding with Byzantine Failures

  • John F. BridgmanIII
  • Vijay K. Garg
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7596)


This paper presents a method that uses forward error correction codes to minimize the message bit complexity when acquiring consistent global information in the presence of faulty processes. We show a modification to the gradecast algorithm that implements our method. Gradecast, first proposed by Feldman and Micali, is a broadcast algorithm for distributed systems that can handle Byzantine failures. It can be used as a basic building block to solve many important problems in distributed computing in the presence of Byzantine failures, such as agreement, clock synchronization, and approximate agreement. Many of these problems require a step where all processes need to send information to all other processes. We refer to the version of gradecast where all processes broadcast to all other processes as all-to-all gradecast. In a distributed system with n processes, n instances of the original gradecast algorithm to perform all-to-all gradecast has a message bit complexity of O(mn 3), where m is the length of the message. In this paper, we present an all-to-all gradecast algorithm that takes O(mtn 2) message bits, where t is the maximum number of faulty processes. This is a significant reduction in message bit complexity in real systems where t < < n. Our all-to-all gradecast algorithm uses coding theory to mask Byzantine failures and has wide applicability in distributed systems. For example, by replacing the original gradecast in the byzantine agreement algorithm proposed by Ben-Or, Dolev and Hoch with O(mtn 3) message bit complexity, we get a new byzantine agreement algorithm with O(mt 2 n 2) message bit complexity. Also, this algorithm can be used with their approximate agreement algorithm to get O(kn 2 t) instead of O(kn 3) message bit complexity.


Correct Process Clock Synchronization Broadcast Algorithm Faulty Process Approximate Agreement 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Feldman, P., Micali, S.: Optimal algorithms for byzantine agreement. In: Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing, Ser. STOC 1988, pp. 148–161. ACM, New York (1988), CrossRefGoogle Scholar
  2. 2.
    Ben-Or, M., Dolev, D., Hoch, E.N.: Simple gradecast based algorithms (September 2010),
  3. 3.
    Roth, R.M.: Introduction to coding theory. Cambridge University Press (2006)Google Scholar
  4. 4.
    Dolev, D., Lynch, N.A., Pinter, S.S., Stark, E.W., Weihl, W.E.: Reaching approximate agreement in the presence of faults. Journal of the ACM 33, 499–516 (1986)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Fekete, A.D.: Asymptotically optimal algorithms for approximate agreement. In: Proceedings of the Fifth Annual ACM Symposium on Principles of Distributed Computing, ser. PODC 1986, pp. 73–87. ACM, New York (1986), CrossRefGoogle Scholar
  6. 6.
    Coan, B.A., Welch, J.L.: Modular construction of a byzantine agreement protocol with optimal message bit complexity. Information and Computation, 97(1), 61–85 (1992),
  7. 7.
    Srikanth, T.K., Toueg, S.: Simulating authenticated broadcasts to derive simple fault-tolerant algorithms. Distributed Computing, 2, 80–94 (1987), Google Scholar
  8. 8.
    Hélary, J.-M., Hurfin, M., Mostéfaoui, A., Raynal, M., Tronel, F.: Computing global functions in asynchronous distributed systems prone to process crashes. In: International Conference on Distributed Computing Systems, pp. 584–591 (2000)Google Scholar
  9. 9.
    Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. J. ACM 27, 228–234 (1980), Google Scholar
  10. 10.
    Liang, G., Vaidya, N.H.: Error-free multi-valued consensus with byzantine failures. CoRR, vol. abs/1101.3520 (2011)Google Scholar
  11. 11.
    Friedman, R., Mostéfaoui, A., Rajsbaum, S., Raynal, M.: Asynchronous agreement and its relation with error-correcting codes. IEEE Trans. Computers 56(7), 865–875 (2007)CrossRefGoogle Scholar
  12. 12.
    Krol, T.: Interactive consistency algorithms based on voting and error-correcting codes. In: Twenty Fifth International Symposium on Fault-Tolerant Computing, Digest of Papers, FTCS-25 Silver Jubilee, pp. 89–98. IEEE Computer Society Press, Los Alamitos (1995)CrossRefGoogle Scholar
  13. 13.
    Lamport, L., Shostak, R., Pease, M.: The byzantine generals problem. ACM Trans. Program. Lang. Syst. 4, 382–401 (1982), Google Scholar
  14. 14.
    Parchive: Parity archive tool,
  15. 15.
    Reed, I.S., Solomon, G.: Polynomial codes over certain finite fields. Society for Industrial and Applied Mathematics 8(2), 300–304 (1960)MathSciNetzbMATHCrossRefGoogle Scholar
  16. 16.
    Partow, A.: Schifra reed-solomon error correcting code library,

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • John F. BridgmanIII
    • 1
  • Vijay K. Garg
    • 1
  1. 1.Parallel and Distributed Systems Lab, Electrical and Computer EngineeringThe University of Texas at AustinAustinUSA

Personalised recommendations