Reducing the agreement cost of BFT replication
Byzantine fault-tolerant (BFT) replication is a powerful technique for guaranteeing correctness of distributed services despite arbitrary faults. BFT replication protocols are typically composed of two phases: agreement and execution. Although some monolithic solutions exist that incorporate both phases, providing a clear separation between agreement and execution is often desired, due to for instance higher level of abstraction or better resource utilization. At the same time, however, separation can increase latency and reduce throughput, as an additional communication round is typically required to relay the requests between the phases. In this article we address this issue by proposing an approach that reduces the cost of agreement in BFT replication protocols without sacrificing phase separation. The article presents Otonaru, a dedicated sequencer that achieves around 30% higher performance than solutions usually deployed in the agreement phase of modern BFT replication protocols. As a result, the solutions built using the proposed approach can take advantage of all benefits of separation, at the same time providing a performance competitive to monolithic BFT protocols.
Author: Maciej Zbierski