# Zyzzyva: speculative Byzantine fault tolerance

@article{Kotla2008ZyzzyvaSB,
title={Zyzzyva: speculative Byzantine fault tolerance},
author={Ramakrishna Kotla and Allen Clement and Edmund L. Wong and Lorenzo Alvisi and Michael Dahlin},
journal={Commun. ACM},
year={2008},
volume={51},
pages={86-95}
}
A longstanding vision in distributed systems is to build reliable systems from unreliable components. An enticing formulation of this vision is Byzantine fault-tolerant (BFT) state machine replication, in which a group of servers collectively act as a correct server even if some of the servers misbehave or malfunction in arbitrary ("Byzantine") ways. Despite this promise, practitioners hesitate to deploy BFT systems at least partly because of the perception that BFT must impose high overheads… Expand
428 Citations
hBFT: Speculative Byzantine Fault Tolerance with Minimum Cost
• Computer Science
• IEEE Transactions on Dependable and Secure Computing
• 2015
We present hBFT, a hybrid, Byzantine fault-tolerant, replicated state machine protocol with optimal resilience. Under normal circumstances, hBFT uses speculation, i.e., replicas directly adopt theExpand
Zyzzyva: speculative byzantine fault tolerance
• Computer Science
• TOCS
• 2010
In Zyzzyva, replicas respond to a client's request without first running an expensive three-phase commit protocol to reach agreement on the order in which the request must be processed. Expand
Zeno: Eventually Consistent Byzantine-Fault Tolerance
• Computer Science
• NSDI
• 2009
A novel BFT state machine replication protocol called Zeno that trades consistency for higher availability and replaces strong consistency with a weaker guarantee (eventual consistency): clients can temporarily miss each other's updates but when the network is stable the states from the individual partitions are merged by having the replicas agree on a total order for all requests. Expand
ezBFT: Decentralizing Byzantine Fault-Tolerant State Machine Replication
• Computer Science
• 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS)
• 2019
EzBFT improves client-side latency by as much as 40% over state-of-the-art byzantine fault-tolerant protocols including PBFT, FaB, and Zyzzyva. 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
Prophecy: Using History for High-Throughput Fault Tolerance
• Computer Science
• NSDI
• 2010
This work eliminates the cost for read-mostly workloads through Prophecy, a system that interposes itself between clients and any replicated service, and derives a distributed variant of Prophecy that achieves the same consistency but without any trusted components. Expand
Scrooge: Reducing the costs of fast Byzantine replication in presence of unresponsive replicas
• Computer Science
• 2010 IEEE/IFIP International Conference on Dependable Systems & Networks (DSN)
• 2010
This paper shows, perhaps surprisingly, that fast Byzantine agreement despite f failures is practically attainable using only b − 1 additional replicas, which is independent of the number of crashes tolerated. Expand
XFT: Practical Fault Tolerance beyond Crashes
• Computer Science
• OSDI
• 2016
This paper introduces cross fault tolerance or XFT, a novel approach to building reliable and secure distributed systems and applies it to the classical state-machine replication (SMR) problem, which provides the reliability guarantees of widely used asynchronous CFT SMR protocols such as Paxos and Raft, but also tolerates Byzantine faults in combination with network asynchrony. Expand
Optimistic Byzantine fault tolerance
• Wenbing Zhao
• Computer Science
• Int. J. Parallel Emergent Distributed Syst.
• 2016
In optimistic Byzantine fault tolerance, a replica executes a request immediately without first establishing a total order of the message, and Byzantine agreement is used only to establish a common state synchronization point and the set of individual states needed to resolve conflicts. Expand
Making Speculative BFT Resilient with Trusted Monotonic Counters
• Computer Science
• 2019 38th Symposium on Reliable Distributed Systems (SRDS)
• 2019
SACZyzzyva is proved to be optimally robust and that trusted components cannot increase fault tolerance unless they are present in at least two-thirds of replicas, demonstrating low latency and high scalability. Expand

#### References

SHOWING 1-10 OF 71 REFERENCES
Zyzzyva: speculative byzantine fault tolerance
• Computer Science
• TOCS
• 2010
In Zyzzyva, replicas respond to a client's request without first running an expensive three-phase commit protocol to reach agreement on the order in which the request must be processed. Expand
Practical byzantine fault tolerance and proactive recovery
• Computer Science
• TOCS
• 2002
A new replication algorithm, BFT, is described that can be used to build highly available systems that tolerate Byzantine faults and is used to implement the first Byzantine-fault-tolerant NFS file system, BFS. Expand
HQ replication: a hybrid quorum protocol for byzantine fault tolerance
• Computer Science
• OSDI '06
• 2006
HQ is presented, a hybrid Byzantine-fault-tolerant state machine replication protocol that employs a lightweight quorum-based protocol when there is no contention, but uses BFT to resolve contention when it arises and shows that both HQ and the new implementation of BFT scale as f increases. Expand
High throughput Byzantine fault tolerance
• Computer Science
• International Conference on Dependable Systems and Networks, 2004
• 2004
This paper proposes a high throughput Byzantine fault tolerant architecture that uses application-specific information to identify and concurrently execute independent requests and provides a general way to exploit application parallelism in order to provide high throughput without compromising correctness. Expand
Separating agreement from execution for byzantine fault tolerant services
• Computer Science
• SOSP '03
• 2003
A new architecture for Byzantine fault tolerant state machine replication that separates agreement that orders requests from execution that processes requests is described, which reduces replication costs and allows a general privacy firewall architecture to protect confidentiality through replication. Expand
BASE: Using abstraction to improve fault tolerance
• Computer Science
• TOCS
• 2003
A replication technique, BASE, is described, which uses abstraction to reduce the cost of Byzantine fault tolerance and to improve its ability to mask software errors. Expand
BAR fault tolerance for cooperative services
• Computer Science
• SOSP '05
• 2005
An implementation of BAR-B the first cooperative backup service to tolerate both Byzantine users and an unbounded number of rational users is described, an asynchronous replicated state machine that provides the customary safety and liveness guarantees despite nodes exhibiting both Byzantine and rational behaviors. 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
Practical Byzantine fault tolerance
A new replication algorithm that is able to tolerate Byzantine faults that works in asynchronous environments like the Internet and incorporates several important optimizations that improve the response time of previous algorithms by more than an order of magnitude. Expand
Fault-scalable Byzantine fault-tolerant services
• Computer Science
• SOSP '05
• 2005
The Query/Update (Q/U) protocol is a new tool that enables construction of fault-scalable Byzantine fault-tolerant services that provide better throughput and fault- scalability than replicated state machines using agreement-based protocols. Expand