Practical Byzantine fault tolerance
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
BASE: using abstraction to improve fault tolerance
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
ACM SIGACT News
Notes on Data Base Operating Systems
Operating Systems, An Advanced Course
An asynchronous [(n - 1)/3]-resilient consensus protocol
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
Adaptive and efficient abortable mutual exclusion
Proceedings of the twenty-second annual symposium on Principles of distributed computing
On building blocks for distributed systems
On building blocks for distributed systems
Fault-scalable Byzantine fault-tolerant services
Proceedings of the twentieth ACM symposium on Operating systems principles
One-step Consensus with Zero-Degradation
DSN '06 Proceedings of the International Conference on Dependable Systems and Networks
Chain replication for supporting high throughput and availability
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
HQ replication: a hybrid quorum protocol for byzantine fault tolerance
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
Open versus closed: a cautionary tale
NSDI'06 Proceedings of the 3rd conference on Networked Systems Design & Implementation - Volume 3
Paxos made live: an engineering perspective
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
Abortable and query-abortable objects and their efficient implementation
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
Low-overhead byzantine fault-tolerant storage
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
NSDI'08 Proceedings of the 5th 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
Lower bounds for asynchronous consensus
Future directions in distributed computing
Optimistic asynchronous atomic broadcast
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Computing with reads and writes in the absence of step contention
DISC'05 Proceedings of the 19th international conference on Distributed Computing
The byzantine empire in the intercloud
ACM SIGACT News
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
Depot: cloud storage with minimal trust
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Increasing performance in byzantine fault-tolerant systems with on-demand replica consistency
Proceedings of the sixth conference on Computer systems
ZZ and the art of practical BFT execution
Proceedings of the sixth conference on Computer systems
MOMMIE knows best: systematic optimizations for verifiable distributed algorithms
HotOS'13 Proceedings of the 13th USENIX conference on Hot topics in operating systems
Depot: Cloud Storage with Minimal Trust
ACM Transactions on Computer Systems (TOCS)
CheapBFT: resource-efficient byzantine fault tolerance
Proceedings of the 7th ACM european conference on Computer Systems
Byzantine fault-tolerance with commutative commands
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 cost of composing shared-memory algorithms
Proceedings of the twenty-fourth annual ACM symposium on Parallelism in algorithms and architectures
Adaptive request batching for byzantine replication
ACM SIGOPS Operating Systems Review
Augustus: scalable and robust storage for cloud applications
Proceedings of the 8th ACM European Conference on Computer Systems
Introducing speculation in self-stabilization: an application to mutual exclusion
Proceedings of the 2013 ACM symposium on Principles of distributed computing
Towards Byzantine fault tolerant publish/subscribe: a state machine approach
Proceedings of the 9th Workshop on Hot Topics in Dependable Systems
On the efficiency of durable state machine replication
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
Hi-index | 0.00 |
Modern Byzantine fault-tolerant state machine replication (BFT) protocols involve about 20,000 lines of challenging C++ code encompassing synchronization, networking and cryptography. They are notoriously difficult to develop, test and prove. We present a new abstraction to simplify these tasks. We treat a BFT protocol as a composition of instances of our abstraction. Each instance is developed and analyzed independently. To illustrate our approach, we first show how our abstraction can be used to obtain the benefits of a state-of-the-art BFT protocol with much less pain. Namely, we develop AZyzzyva, a new protocol that mimics the behavior of Zyzzyva in best-case situations (for which Zyzzyva was optimized) using less than 24% of the actual code of Zyzzyva. To cover worst-case situations, our abstraction enables to use in AZyzzyva any existing BFT protocol, typically, a classical one like PBFT which has been tested and proved correct. We then present Aliph, a new BFT protocol that outperforms previous BFT protocols both in terms of latency (by up to 30%) and throughput (by up to 360%). The development of Aliph required two new instances of our abstraction. Each instance contains less than 25% of the code needed to develop state-of-the-art BFT protocols.