Distler T (2021)
Publication Type: Journal article, Review article
Publication year: 2021
Book Volume: 54
Article Number: 24
Journal Issue: 1
DOI: 10.1145/3436728
Byzantine fault-Tolerant (BFT) state-machine replication makes it possible to design systems that are resilient against arbitrary faults, a requirement considered crucial for an increasing number of use cases such as permissioned blockchains, firewalls, and SCADA systems. Unfortunately, the strong fault-Tolerance guarantees provided by BFT replication protocols come at the cost of a high complexity, which is why it is inherently difficult to correctly implement BFT systems in practice. This is all the more true with regard to the plethora of solutions and ideas that have been developed in recent years to improve performance, availability, or resource efficiency. This survey aims at facilitating the task of building BFT systems by presenting an overview of state-of-The-Art techniques and analyzing their practical implications, for example, with respect to applicability and composability. In particular, this includes problems that arise in the context of concrete implementations, but which are often times passed over in literature. Starting with an in-depth discussion of the most important architectural building blocks of a BFT system (i.e., clients, agreement protocol, execution stage), the survey then focuses on selected approaches and mechanisms addressing specific tasks such as checkpointing and recovery.
APA:
Distler, T. (2021). Byzantine Fault-Tolerant State-machine Replication from a Systems Perspective. ACM Computing Surveys, 54(1). https://doi.org/10.1145/3436728
MLA:
Distler, Tobias. "Byzantine Fault-Tolerant State-machine Replication from a Systems Perspective." ACM Computing Surveys 54.1 (2021).
BibTeX: Download