Date Added: Mar 2010
Byzantine Fault Tolerant (BFT) state machine replication has the potential to become a generic solution for reliable distributed computing. BFT replication can be used to make any deterministic server application tolerant to worst-case failures in eventually synchronous systems. However, the potential for generality can be fully exploited only if the performance overhead and replication costs of BFT are minimized. This motivates much ongoing work aimed at making BFT replication more efficient, from the PBFT protocol, to quorum-based protocols, to fast BFT protocols exhibiting the optimal number of agreement steps. The properties of relevant primary-based BFT replication protocols and shows how practical BFT replication has evolved to more advanced solutions based on speculation like Zyzzyva.