# Practical Byzantine fault tolerance

@inproceedings{Castro1999PracticalBF,
title={Practical Byzantine fault tolerance},
author={Miguel Castro},
booktitle={OSDI '99},
year={1999}
}
• M. Castro
• Published in OSDI '99 1999
• Computer Science
This paper describes a new replication algorithm that is able to tolerate Byzantine faults. We believe that Byzantinefault-tolerant algorithms will be increasingly important in the future because malicious attacks and software errors are increasingly common and can cause faulty nodes to exhibit arbitrary behavior. Whereas previous algorithms assumed a synchronous system or were too slow to be used in practice, the algorithm described in this paper is practical: it works in asynchronous… Expand
2,738 Citations

#### Figures, Tables, and Topics from this paper

Byzantine fault tolerance can be fast
• Computer Science
• 2001 International Conference on Dependable Systems and Networks
• 2001
A replicated NFS file system is implemented using BFT, a state-machine replication algorithm that tolerates Byzantine faults in asynchronous systems that performs 2% faster to 24% slower than production implementations of the NFS protocol that are not fault-tolerant. Expand
Byzantine Fault Tolerance in Large Scale Reliable Storage System
• 2014
Byzantine-fault-tolerant replication enhances the availability and reliability of Internet services that store critical state and preserve it despite attacks and software errors. ExistingExpand
Proactive recovery in a Byzantine-fault-tolerant system
• Computer Science
• OSDI
• 2000
An asynchronous state-machine replication system that tolerates Byzantine faults, which can be caused by malicious attacks or software errors, and is the first to recover Byzantine-faulty replicas proactively, which performs well because it uses symmetric rather than public-key cryptography for authentication. Expand
Parallel Byzantine Fault Tolerance
This work proposes Apex, a parallel Byzantine fault-tolerant execution algorithm, which can execute the incoming packs of requests even several times faster than other similar algorithms. Expand
A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm
• Computer Science
• 1999
This work has developed a practical algorithm for state-machine replication that tolerates Byzantine faults and incorporates important optimizations that enable it to outperform previous systems by more than an order of magnitude. Expand
Minimal Byzantine Fault Tolerance
• Computer Science
• 2008
This paper is the first to present BFT algorithms with 2 f + 1 replicas that require a trusted service implementable using commercial off-the-shelf trusted hardware: this service can be implemented with the Trusted Platform Module currently available as a chip in the mainboard of many commodity PCs. Expand
Making Byzantine Fault Tolerant Systems Tolerate Byzantine Faults
• Computer Science
• NSDI
• 2009
Aardvark can achieve peak performance within 40% of that of the best existing protocol in the authors' tests and provide a significant fraction of that performance when up to f servers and any number of clients are faulty. Expand
Minimal Byzantine Fault Tolerance: Algorithm and Evaluation
• Computer Science
• 2009
The performance evaluation shows that, even with the trusted component access overhead, the two asynchronous Byzantine faulttolerant state machine replication algorithms can have better throughput than Castro and Liskov's PBFT, and better latency in networks with nonnegligible communication delays. Expand
A study of Byzantine fault-tolerant algorithms
Five of the most characteristic examples of Byzantine fault-tolerant algorithms are presented and compared to each other by evaluating their strengths and weaknesses and a particular algorithm is suggested for a specific scenario since one-size-fits-all protocols might be hard if not impossible to design in practice. Expand
Byzantine fault-tolerance and beyond
• Engineering
• 2006
Byzantine fault-tolerance techniques are useful because they tolerate arbitrary faults regardless of cause: bugs, hardware glitches, even hackers. These techniques have recently gained popularityExpand

#### References

SHOWING 1-10 OF 122 REFERENCES
Proactive recovery in a Byzantine-fault-tolerant system
• Computer Science
• OSDI
• 2000
An asynchronous state-machine replication system that tolerates Byzantine faults, which can be caused by malicious attacks or software errors, and is the first to recover Byzantine-faulty replicas proactively, which performs well because it uses symmetric rather than public-key cryptography for authentication. Expand
A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm
• Computer Science
• 1999
This work has developed a practical algorithm for state-machine replication that tolerates Byzantine faults and incorporates important optimizations that enable it to outperform previous systems by more than an order of magnitude. Expand
Fault detection for Byzantine quorum systems
• Computer Science
• Dependable Computing for Critical Applications 7
• 1999
This work proposes two statistical approaches for estimating the number of faulty servers based on responses to read requests in a system where each client accesses the replicated data at only a subset of servers in each operation. Expand
Authenticated Byzantine Fault Tolerance Without Public-Key Cryptography
• Computer Science
• 1999
The optimization replaces public-key signatures by vectors of message authentication codes during normal operation, and it overcomes a fundamental limitation on the power of message Authentication codes relative to digital signatures — the inability to prove that a message is authentic to a third party. Expand
Muteness Failure Detectors: Specification and Implementation
• Computer Science
• EDCC
• 1999
It is shown that, modulo a simple modification a consensus algorithm that has been designed in a crash-stop model with⋄S, can be reused in the presence of muteness failures simply by replacing ⋄MA with ⋅S. Expand
Dynamic byzantine quorum systems
• Computer Science
• Proceeding International Conference on Dependable Systems and Networks. DSN 2000
• 2000
Protocols for dynamically raising and lowering the resilience threshold of a quorum-based Byzantine fault-tolerant data service in response to current information on the number of server failures are presented. Expand
Atomic Broadcast: From Simple Message Diffusion to Byzantine Agreement
• Computer Science
• Inf. Comput.
• 1995
A systematic derivation of a family of atomic broadcast protocols that are tolerant of increasingly general failure classes: omission failures, timing failures, and authentication-detectable Byzantine failures and can tolerate any number of link and process failures up to network partitioning is presented. Expand
Secure and scalable replication in Phalanx
• Computer Science
• Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281)
• 1998
The implementation of some of the data abstractions provided by Phalanx are described, their ability to scale to large systems is discussed, and an example application is described. Expand
Byzantine quorum systems
• Engineering, Computer Science
• Distributed Computing
• 1998
This paper considers the arbitrary (Byzantine) failure of data repositories and presents the first study of quorum system requirements and constructions that ensure data availability and consistency despite these failures, and demonstrates quorum systems over n servers with a load of O(\frac{1}{\sqrt{n}})\$, thus meeting the lower bound on load for benignly fault-tolerant quorum Systems. Expand
The Rampart Toolkit for Building High-Integrity Services
• M. Reiter
• Computer Science
• Dagstuhl Seminar on Distributed Systems
• 1994
A brief overview of Rampart is given, focusing primarily on its protocol architecture, and its performance in the prototype implementation and ongoing work is sketched. Expand