Reaching approximate agreement in the presence of faults
Journal of the ACM (JACM)
Asymptotically optimal algorithms for approximate agreement
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
Optimal algorithms for Byzantine agreement
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
Modular construction of a Byzantine agreement protocol with optimal message bit complexity
Information and Computation
Reaching Agreement in the Presence of Faults
Journal of the ACM (JACM)
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computing Global Functions in Asynchronous Distributed Systems Prone to Process Crashes
ICDCS '00 Proceedings of the The 20th International Conference on Distributed Computing Systems ( ICDCS 2000)
Interactive Consistency Algorithms Based on Voting and Error-Correcting Codes
FTCS '95 Proceedings of the Twenty-Fifth International Symposium on Fault-Tolerant Computing
Introduction to Coding Theory
Asynchronous Agreement and Its Relation with Error-Correcting Codes
IEEE Transactions on Computers
Hi-index | 0.00 |
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(mn3), where m is the length of the message. In this paper, we present an all-to-all gradecast algorithm that takes O(mtn2) message bits, where t is the maximum number of faulty processes. This is a significant reduction in message bit complexity in real systems where tn. 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(mtn3) message bit complexity, we get a new byzantine agreement algorithm with O(mt2n2) message bit complexity. Also, this algorithm can be used with their approximate agreement algorithm to get O(kn2t) instead of O(kn3) message bit complexity.