Reaching Agreement in the Presence of Faults
Journal of the ACM (JACM)
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Impossibility of distributed consensus with one faulty process
PODS '83 Proceedings of the 2nd ACM SIGACT-SIGMOD symposium on Principles of database systems
Polynomial algorithms for multiple processor agreement
STOC '82 Proceedings of the fourteenth annual ACM symposium on Theory of computing
Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
An Approach to Designing Fault-Tolerant Computing Systems
An Approach to Designing Fault-Tolerant Computing Systems
An O(lg n) expected rounds randomized Byzantine generals protocol
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
An O(log n) expected rounds randomized byzantine generals protocol
Journal of the ACM (JACM)
The consensus problem in fault-tolerant computing
ACM Computing Surveys (CSUR)
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
On k-set consensus problems in asynchronous systems
Proceedings of the eighteenth annual ACM symposium on Principles of distributed computing
Simple constant-time consensus protocols in realistic failure models (extended abstract)
Proceedings of the fourth annual ACM symposium on Principles of distributed computing
On k-Set Consensus Problems in Asynchronous Systems
IEEE Transactions on Parallel and Distributed Systems
A Group Membership Algorithm with a Practical Specification
IEEE Transactions on Parallel and Distributed Systems
Patterns of communication in consensus protocols
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
Randomized Byzantine Agreements
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
Tolerating latency in replicated state machines through client speculation
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Consensus in the presence of partial synchrony (Preliminary Version)
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
Proceedings of the 2013 ACM symposium on Principles of distributed computing
Hi-index | 0.00 |
A consensus protocol enables a system of n asynchronous processes, some of which are faulty, to reach agreement. There are two kinds of faulty processes: fail-stop processes can only die, malicious processes can also send false messages. We investigate consensus protocols that terminate within finite time with probability 1 under certain assumptions on the behavior of the system. With fail-stop processes, we show that [(n + 1)/2] correct processes are necessary and sufficient to reach agreement. In the malicious case, we show that [(2n + 1)/3] correct processes are necessary and sufficient to reach agreement. This is contrasted with a recent result that there is no consensus protocol for the fail-stop case that always terminates within a bounded number of steps, even if only one process can fail.