Reaching Consensus in the Byzantine Empire: A Comprehensive Review of BFT Consensus Algorithms
Byzantine fault-tolerant (BFT) consensus algorithms are at the core of providing safety and liveness guarantees for distributed systems that must operate in the presence of arbitrary failures. Recently, numerous new BFT algorithms have been proposed, not least due to the traction blockchain technologies have garnered in search for consensus solutions that offer high throughput, low latency, and robust system designs. In this paper, we conduct a systematic survey of selected and distinguished BFT algorithms that have received attention in academia and industry alike. We perform a qualitative comparison among all algorithms we review along the lines of messaging and time complexities. Furthermore, we decompose each consensus algorithm into its constituent subprotocols for replication and view change backed by intuitive figures illustrating its message-passing pattern; we also elaborate on the strengths and weaknesses of each algorithm as compared to the state of the art.
READ FULL TEXT