Bullshark: DAG BFT Protocols Made Practical
We present Bullshark, the first directed acyclic graph (DAG) based Byzantine Fault tolerant (BFT) protocol that is optimized for partial synchrony. Bullshark inherits all the desired properties of its predecessor (DAG-Rider) such as optimal amortized complexity, asynchronous liveness, zero-overhead, and post-quantum safety, but at same time Bullshark provides a practical low latency fast-path that exploits synchronous periods. In addition, we introduce a stand alone partially synchronous version of Bullshark and evaluate it against the state of the art. The resulting protocol is embarrassingly simple (20 LOC on top of a DAG-based mempool implementation) and highly efficient, achieving for example, 125k transaction per second and 3 seconds latency with 50 nodes.
READ FULL TEXT