Separating agreement from execution for byzantine fault tolerant services

  • Authors:
  • Jian Yin;Jean-Philippe Martin;Arun Venkataramani;Lorenzo Alvisi;Mike Dahlin

  • Affiliations:
  • The University of Texas at Austin, TX;The University of Texas at Austin, TX;The University of Texas at Austin, TX;The University of Texas at Austin, TX;The University of Texas at Austin, TX

  • Venue:
  • SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.