An experimental evaluation of the assumption of independence in multiversion programming
IEEE Transactions on Software Engineering
Consensus in the presence of partial synchrony
Journal of the ACM (JACM)
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementing fault-tolerant services using the state machine approach: a tutorial
ACM Computing Surveys (CSUR)
Replication in the harp file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
ACM Transactions on Computer Systems (TOCS)
Practical Byzantine fault tolerance
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Deciding when to forget in the Elephant file system
Proceedings of the seventeenth ACM symposium on Operating systems principles
Reaching Agreement in the Presence of Faults
Journal of the ACM (JACM)
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
BASE: using abstraction to improve fault tolerance
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Practical byzantine fault tolerance and proactive recovery
ACM Transactions on Computer Systems (TOCS)
Modeling the Effect of Technology Trends on the Soft Error Rate of Combinational Logic
DSN '02 Proceedings of the 2002 International Conference on Dependable Systems and Networks
Understanding Replication in Databases and Distributed Systems
ICDCS '00 Proceedings of the The 20th International Conference on Distributed Computing Systems ( ICDCS 2000)
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Separating agreement from execution for byzantine fault tolerant services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
High Throughput Byzantine Fault Tolerance
DSN '04 Proceedings of the 2004 International Conference on Dependable Systems and Networks
Commercial Fault Tolerance: A Tale of Two Systems
IEEE Transactions on Dependable and Secure Computing
Distributed Computing
The Soft Error Problem: An Architectural Perspective
HPCA '05 Proceedings of the 11th International Symposium on High-Performance Computer Architecture
Fault-scalable Byzantine fault-tolerant services
Proceedings of the twentieth ACM symposium on Operating systems principles
Speculative execution in a distributed file system
Proceedings of the twentieth ACM symposium on Operating systems principles
Proceedings of the twentieth ACM symposium on Operating systems principles
IEEE Transactions on Dependable and Secure Computing
Using model checking to find serious file system errors
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Why do internet services fail, and what can be done about it?
USITS'03 Proceedings of the 4th conference on USENIX Symposium on Internet Technologies and Systems - Volume 4
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
EXPLODE: a lightweight, general system for finding serious storage system errors
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
HQ replication: a hybrid quorum protocol for byzantine fault tolerance
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
SafeStore: a durable and practical storage system
ATC'07 2007 USENIX Annual Technical Conference on Proceedings of the USENIX Annual Technical Conference
A new paradigm for collision-free hashing: incrementality at reduced cost
EUROCRYPT'97 Proceedings of the 16th annual international conference on Theory and application of cryptographic techniques
Lower bounds for asynchronous consensus
Future directions in distributed computing
Beyond one-third faulty replicas in byzantine fault tolerant systems
NSDI'07 Proceedings of the 4th USENIX conference on Networked systems design & implementation
Attested append-only memory: making adversaries stick to their word
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
DepSpace: a byzantine fault-tolerant coordination service
Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
NSDI'08 Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation
Distributed computing in SOSP and OSDI
ACM SIGACT News
Zyzzyva: speculative Byzantine fault tolerance
Communications of the ACM - Remembering Jim Gray
Lower bounds for randomized consensus under a weak adversary
Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing
Diverse replication for single-machine Byzantine-fault tolerance
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
The FOREVER service for fault/intrusion removal
Proceedings of the 2nd workshop on Recent advances on intrusiton-tolerant systems
How to Solve Consensus in the Smallest Window of Synchrony
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
Bosco: One-Step Byzantine Asynchronous Consensus
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
Evita raced: metacompilation for declarative networks
Proceedings of the VLDB Endowment
LADIS '08 Proceedings of the 2nd Workshop on Large-Scale Distributed Systems and Middleware
Reducing the costs of large-scale BFT replication
LADIS '08 Proceedings of the 2nd Workshop on Large-Scale Distributed Systems and Middleware
Design and implementation of a Byzantine fault tolerance framework for Web services
Journal of Systems and Software
Toward a cloud computing research agenda
ACM SIGACT News
TrInc: small trusted hardware for large distributed systems
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Making Byzantine fault tolerant systems tolerate Byzantine faults
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Zeno: eventually consistent Byzantine-fault tolerance
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Tolerating latency in replicated state machines through client speculation
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Proceedings of the 28th ACM symposium on Principles of distributed computing
Remote storage with byzantine servers
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Zyzzyva: Speculative Byzantine fault tolerance
ACM Transactions on Computer Systems (TOCS)
Consensus When All Processes May Be Byzantine for Some Time
SSS '09 Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems
Unifying Byzantine Consensus Algorithms with Weak Interactive Consistency
OPODIS '09 Proceedings of the 13th International Conference on Principles of Distributed Systems
Proceedings of the 5th European conference on Computer systems
From almost everywhere to everywhere: byzantine agreement with Õ(n³/²) bits
DISC'09 Proceedings of the 23rd international conference on Distributed computing
Brief announcement: a leader-free byzantine consensus algorithm
DISC'09 Proceedings of the 23rd international conference on Distributed computing
Breaking the O(n2) bit barrier: scalable byzantine agreement with an adaptive adversary
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Applying prolog to develop distributed systems
Theory and Practice of Logic Programming
Scalable byzantine computation
ACM SIGACT News
Prophecy: using history for high-throughput fault tolerance
NSDI'10 Proceedings of the 7th USENIX conference on Networked systems design and implementation
Mencius: building efficient replicated state machines for WANs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Efficient data structures for tamper-evident logging
SSYM'09 Proceedings of the 18th conference on USENIX security symposium
ZooKeeper: wait-free coordination for internet-scale systems
USENIXATC'10 Proceedings of the 2010 USENIX conference on USENIX annual technical conference
Independent faults in the cloud
Proceedings of the 4th International Workshop on Large Scale Distributed Systems and Middleware
Scalable agreement: toward ordering as a service
HotDep'10 Proceedings of the Sixth international conference on Hot topics in system dependability
HotDep'10 Proceedings of the Sixth international conference on Hot topics in system dependability
Increasing performance in byzantine fault-tolerant systems with on-demand replica consistency
Proceedings of the sixth conference on Computer systems
Efficient middleware for byzantine fault tolerant database replication
Proceedings of the sixth conference on Computer systems
ZZ and the art of practical BFT execution
Proceedings of the sixth conference on Computer systems
Intrusion-tolerant fine-grained authorization for Internet applications
Journal of Systems Architecture: the EUROMICRO Journal
Paxos replicated state machines as the basis of a high-performance data store
Proceedings of the 8th USENIX conference on Networked systems design and implementation
Breaking the O(n2) bit barrier: Scalable byzantine agreement with an adaptive adversary
Journal of the ACM (JACM)
Adaptive data-driven service integrity attestation for multi-tenant cloud systems
Proceedings of the Nineteenth International Workshop on Quality of Service
Efficient fault tolerant consensus using preemptive token
ACAI '11 Proceedings of the International Conference on Advances in Computing and Artificial Intelligence
A leader-free Byzantine consensus algorithm
ICDCN'10 Proceedings of the 11th international conference on Distributed computing and networking
Lower Bounds for Randomized Consensus under a Weak Adversary
SIAM Journal on Computing
Commensal cuckoo: secure group partitioning for large-scale services
ACM SIGOPS Operating Systems Review
Improving server applications with system transactions
Proceedings of the 7th ACM european conference on Computer Systems
State machine replication with byzantine faults
Replication
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
On the price of equivocation in byzantine agreement
PODC '12 Proceedings of the 2012 ACM symposium on Principles of distributed computing
Surviving congestion in geo-distributed storage systems
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
Practical hardening of crash-tolerant systems
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
Pushouts in software architecture design
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
All about Eve: execute-verify replication for multi-core servers
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Adaptive request batching for byzantine replication
ACM SIGOPS Operating Systems Review
On the practicality of practical Byzantine fault tolerance
Proceedings of the 13th International Middleware Conference
Quantitative survivability evaluation of three virtual machine-based server architectures
Journal of Network and Computer Applications
Iwazaru: the byzantine sequencer
ARCS'13 Proceedings of the 26th international conference on Architecture of Computing Systems
Churn Tolerance Algorithm for State Machine Replication
WI-IAT '12 Proceedings of the The 2012 IEEE/WIC/ACM International Joint Conferences on Web Intelligence and Intelligent Agent Technology - Volume 02
Hash-based Byzantine fault tolerant agreement with enhanced view consistency
International Journal of Communication Networks and Distributed Systems
Hi-index | 0.00 |
We present Zyzzyva, a protocol that uses speculation to reduce the cost and simplify the design of Byzantine fault tolerant state machine replication. 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. Instead, they optimistically adopt the order proposed by the primary and respond immediately to the client. Replicas can thus become temporarily inconsistent with one another, but clients detect inconsistencies, help correct replicas converge on a single total ordering of requests, and only rely on responses that are consistent with this total order. This approach allows Zyzzyva to reduce replication overheads to near their theoretical minimal.