Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Separating agreement from execution for Byzantine fault tolerant services

Jian Yin, Jean-Philippe Martin, Arun Venkataramani, Lorenzo Alvisi, and Mike Dahlin

Abstract

We describe a new architecture for Byzantine fault tolerant state machine replication that separates agreement - ordering requests - from execution - processing 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.

Details

Publication typeInproceedings
Published inProceedings of the nineteenth ACM symposium on Operating systems principles
URLhttp://www.cs.utexas.edu/users/lasr/papers/Yin03Separating.pdf
Pages253–267
ISBN1-58113-757-5
PublisherACM Press
> Publications > Separating agreement from execution for Byzantine fault tolerant services