  This paper describes BigBFT, a multi-leader Byzantine fault tolerance
protocol that achieves high throughput and scalable consensus in blockchain
systems. BigBFT achieves this by (1) enabling every node to be a leader that
can propose and order the blocks in parallel, (2) piggybacking votes within
rounds, (3) pipelining blocks across rounds, and (4) using only two
communication steps to order blocks in the common case.
  BigBFT has an amortized communication cost of $O(n)$ over $n$ requests. We
evaluate BigBFT's performance both analytically, using back-of-the-envelope
load formulas to construct a cost analysis, and also empirically by
implementing it in our PaxiBFT framework. Our evaluation compares BigBFT with
PBFT, Tendermint, Streamlet, and Hotstuff under various workloads using
deployments of 4 to 20 nodes. Our results show that BigBFT outperforms PBFT,
Tendermint, Streamlet, and Hotstuff protocols either in terms of latency (by up
to $70\%$) or in terms of throughput (by up to $190\%$).
