UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

On the performance of Byzantine fault-tolerant consensus in the blockchain era Gai, Fangyu

Abstract

Blockchain systems rely on Byzantine fault-tolerant (BFT) consensus protocols to provide replication services that tolerate limited arbitrary behavior among participants. To support large-scale decentralized applications, a scalable and efficient design is the key. This dissertation studies the performance of BFT consensus in the blockchain era including a new BFT paradigm, a nested protocol construction, and a solution to resolve the communication bottleneck of BFT protocols. As blockchain emerges, a new paradigm, combined with decades of research in BFT State Machine Replication (SMR) and blockchain (namely chained-BFT, or cBFT), has been proposed. Chained-BFT protocols have a unifying propose-vote scheme instead of multiple different voting phases with a set of voting and commit rules to guarantee safety and liveness. In this dissertation, we study cBFT protocols following a two-pronged systematic approach. First, we present an evaluation and benchmarking framework, called Bamboo, for quick prototyping of cBFT protocols. Then, to validate our implementations on Bamboo, we introduce an analytic model using queuing theory which also offers a back-of-the-envelope guide for dissecting these protocols. Instead of building a scalable blockchain to replace existing ones, we can use sidechains to scale long-lived blockchains that are troublesome to change. Sidechains enable off-chain scaling by sending transactions in a private network rather than broadcasting them in the public blockchain (i.e., the mainchain) network. In this dissertation, we propose a novel sidechain construction, called Cumulus, which builds BFT-based sidechains atop public blockchains and ensures bidirectional safety of users' assets. Leader-based BFT consensus protocols suffer from the leader bottleneck since most of the communications are drained from the leader node. To alleviate this issue, we attempt to decouple transaction distribution from consensus. Our idea is to have replicas disseminate transactions in a distributed manner and have the leader only propose transaction ids. Stratus uses a provably available broadcast (PAB) protocol to ensure the availability of the referenced transactions. To deal with unbalanced load across replicas, Stratus adopts a distributed load balancing protocol that is co-designed with PAB.

Item Media

Item Citations and Data

Rights

Attribution-NonCommercial-NoDerivatives 4.0 International