A randomized protocol for signing contracts
Communications of the ACM
An experimental evaluation of the assumption of independence in multiversion programming
IEEE Transactions on Software Engineering
Scale and performance in a distributed file system
ACM Transactions on Computer Systems (TOCS)
Data Diversity: An Approach to Software Fault Tolerance
IEEE Transactions on Computers - Fault-Tolerant Computing
ACM Transactions on Computer Systems (TOCS)
Implementing fault-tolerant services using the state machine approach: a tutorial
ACM Computing Surveys (CSUR)
CRYPTO '89 Proceedings on Advances in cryptology
Replication in the harp file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Message authentication with one-way hash functions
ACM SIGCOMM Computer Communication Review
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Asynchronous consensus and broadcast protocols
Journal of the ACM (JACM)
Fast crash recovery in distributed file systems
Fast crash recovery in distributed file systems
A General Theory of Composition for a Class of "Possibilistic" Properties
IEEE Transactions on Software Engineering
The Rio file cache: surviving operating system crashes
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
Fully Polynomial Byzantine Agreement for Processors in Rounds
SIAM Journal on Computing
ACM Transactions on Computer Systems (TOCS)
Practical Byzantine fault tolerance
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
The Timed Asynchronous Distributed System Model
IEEE Transactions on Parallel and Distributed Systems
Separating key management from file system security
Proceedings of the seventeenth ACM symposium on Operating systems principles
Secure distributed storage and retrieval
Theoretical Computer Science
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Untraceable electronic mail, return addresses, and digital pseudonyms
Communications of the ACM
A method for obtaining digital signatures and public-key cryptosystems
Communications of the ACM
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
OceanStore: an architecture for global-scale persistent storage
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
BASE: using abstraction to improve fault tolerance
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
SEDA: an architecture for well-conditioned, scalable internet services
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
COCA: A secure distributed online certification authority
ACM Transactions on Computer Systems (TOCS)
Voting with Regenerable Volatile Witnesses
Proceedings of the Seventh International Conference on Data Engineering
Proactive Secret Sharing Or: How to Cope With Perpetual Leakage
CRYPTO '95 Proceedings of the 15th Annual International Cryptology Conference on Advances in Cryptology
The Rampart Toolkit for Building High-Integrity Services
Selected Papers from the International Workshop on Theory and Practice in Distributed Systems
The SecureRing Protocols for Securing Group Communication
HICSS '98 Proceedings of the Thirty-First Annual Hawaii International Conference on System Sciences - Volume 3
Asynchronous Active Replication in Three-Tier Distributed Systems
PRDC '02 Proceedings of the 2002 Pacific Rim International Symposium on Dependable Computing
Statistical Identification of Encrypted Web Browsing Traffic
SP '02 Proceedings of the 2002 IEEE Symposium on Security and Privacy
Distributed Computing
Farsite: federated, available, and reliable storage for an incompletely trusted environment
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
Using model checking to debug device firmware
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
CMC: a pragmatic approach to model checking real code
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
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
A new distributed storage scheme for cluster video server
Journal of Systems Architecture: the EUROMICRO Journal
BAR fault tolerance for cooperative services
Proceedings of the twentieth ACM symposium on Operating systems principles
Fully Distributed Three-Tier Active Software Replication
IEEE Transactions on Parallel and Distributed Systems
IEEE Transactions on Dependable and Secure Computing
The SMART way to migrate replicated stateful services
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Building a reactive immune system for software services
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
A Parsimonious Approach for Obtaining Resource-Efficient and Trustworthy Execution
IEEE Transactions on Dependable and Secure Computing
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
Zyzzyva: speculative byzantine fault tolerance
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Tolerating byzantine faults in transaction processing systems using commit barrier scheduling
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
PeerReview: practical accountability for distributed systems
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Attested append-only memory: making adversaries stick to their word
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
HQ replication: a hybrid quorum protocol for byzantine fault tolerance
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
The Chubby lock service for loosely-coupled distributed systems
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
Flexible intrusion tolerant voting architecture
Proceedings of the 2007 ACM workshop on Scalable trusted computing
DepSpace: a byzantine fault-tolerant coordination service
Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
Zyzzyva: speculative Byzantine fault tolerance
Communications of the ACM - Remembering Jim Gray
Diverse replication for single-machine Byzantine-fault tolerance
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
Tiered fault tolerance for long-term integrity
FAST '09 Proccedings of the 7th conference on File and storage technologies
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
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 ACM SIGOPS 22nd symposium on Operating systems principles
Zyzzyva: Speculative Byzantine fault tolerance
ACM Transactions on Computer Systems (TOCS)
A dependable intrusion detection architecture based on agreement services
SSS'06 Proceedings of the 8th international conference on Stabilization, safety, and security of distributed systems
Prophecy: using history for high-throughput fault tolerance
NSDI'10 Proceedings of the 7th USENIX conference on Networked systems design and implementation
Scalable agreement: toward ordering as a service
HotDep'10 Proceedings of the Sixth international conference on Hot topics in system dependability
SPORC: group collaboration using untrusted cloud resources
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Architecture and protocol support for providing consensus as a fault-tolerant virtualised service
Proceedings of the 8th International Conference on Frontiers of Information Technology
Small trusted primitives for dependable systems
ACM SIGOPS Operating Systems Review
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
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
Beyond one-third faulty replicas in byzantine fault tolerant systems
NSDI'07 Proceedings of the 4th USENIX conference on Networked systems design & implementation
N-party BAR Transfer: motivation, definition, and challenges
Proceedings of the 3rd International Workshop on Theoretical Aspects of Dynamic Distributed Systems
Behavioral distance for intrusion detection
RAID'05 Proceedings of the 8th international conference on Recent Advances in Intrusion Detection
Commensal cuckoo: secure group partitioning for large-scale services
ACM SIGOPS Operating Systems Review
A practical distributed mutual exclusion protocol in dynamic peer-to-peer systems
IPTPS'04 Proceedings of the Third international conference on Peer-to-Peer Systems
Parsimony-Based approach for obtaining resource-efficient and trustworthy execution
LADC'05 Proceedings of the Second Latin-American conference on Dependable Computing
Behavioral distance measurement using hidden markov models
RAID'06 Proceedings of the 9th international conference on Recent Advances in Intrusion Detection
Improving server applications with system transactions
Proceedings of the 7th ACM european conference on Computer Systems
CheapBFT: resource-efficient byzantine fault tolerance
Proceedings of the 7th ACM european conference on Computer Systems
State machine replication with byzantine faults
Replication
Gnothi: separating data and metadata for efficient and available storage replication
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
Iwazaru: the byzantine sequencer
ARCS'13 Proceedings of the 26th international conference on Architecture of Computing Systems
Augustus: scalable and robust storage for cloud applications
Proceedings of the 8th ACM European Conference on Computer Systems
A virtual grouping based fault-tolerant scheme for autonomous networks
Engineering Applications of Artificial Intelligence
Scalable and leaderless Byzantine consensus in cloud computing environments
Information Systems Frontiers
Hi-index | 0.00 |
We describe a new architecture for Byzantine fault tolerant state machine replication that separates agreement that orders requests from execution that processes requests. This separation yields two fundamental and practically significant advantages over previous architectures. First, it reduces replication costs because the new architecture can tolerate faults in up to half of the state machine replicas that execute requests. Previous systems can tolerate faults in at most a third of the combined agreement/state machine replicas. Second, separating agreement from execution allows a general privacy firewall architecture to protect confidentiality through replication. In contrast, replication in previous systems hurts confidentiality because exploiting the weakest replica can be sufficient to compromise the system. We have constructed a prototype and evaluated it running both microbenchmarks and an NFS server. Overall, we find that the architecture adds modest latencies to unreplicated systems and that its performance is competitive with existing Byzantine fault tolerant systems.