BFT in Blockchains: From Protocols to Use Cases

Xin Wang,Sisi Duan,James Clavin,Haibin Zhang
DOI: https://doi.org/10.1145/3503042
IF: 16.6
2022-01-01
ACM Computing Surveys
Abstract:A blockchain is a distributed system that achieves strong security guarantees in storing, managing, and processing data. All blockchains achieve a common goal: building a decentralized system that provides a trustworthy service in an untrustworthy environment. A blockchain builds a Byzantine fault-tolerant (BFT) system in which decentralized nodes run a protocol to reach an agreement on the common system state. In this article, we focus on the research of BFT protocols. In particular, we categorize BFT protocols according to both the system models and workflow. We seek to answer these important questions: How has the research in BFT evolved in the past four decades, especially with the rise of blockchains? What are the driven needs for BFT research in the future?
What problem does this paper attempt to address?