Angelfish: Leader, DAG, or Anywhere in Between
Qianyu Yu, Giuliano Losa, Nibesh Shrestha, Xuechao Wang
TL;DR
Angelfish proposes a hybrid BFT consensus that blends leader-based and DAG-based designs to bridge latency and throughput gaps in partially-synchronous, Byzantine environments. By allowing most participants to use best-effort broadcast to issue lightweight votes while a rotating leader still guides DAG formation, Angelfish reduces communication costs and improves latency under moderate loads, without sacrificing throughput. It introduces leader-edge and timeout-certificate mechanisms to safely connect leader vertices across rounds, supports jumping rounds and multi-leader configurations, and extends to Multi-leader Angelfish for further latency improvements. Empirical evaluation on a geo-distributed testbed shows Angelfish achieving state-of-the-art peak throughput with latency comparable to leader-based protocols under moderate load, and multi-leader configurations delivering sub-second latencies at tens of thousands of transactions per second, making it a practical, open-source solution for scalable blockchain consensus.
Abstract
To maximize performance, many modern blockchain systems rely on eventually-synchronous, Byzantine fault-tolerant (BFT) consensus protocols. Two protocol designs have emerged in this space: protocols that minimize latency using a leader that drives both data dissemination and consensus, and protocols that maximize throughput using a separate, asynchronous data dissemination layer. Recent protocols such as Partially-Synchronous Bullshark and Sailfish combine elements of both approaches by using a DAG to enable parallel data dissemination and a leader that paces DAG formation. This improves latency while achieving state-of-the-art throughput. However, the DAG-formation process of those protocols imposes overheads that prevent matching the latency possible with a leader-based protocol. We present Angelfish, a hybrid protocol that adapts smoothly across this design space, from leader-based to DAG-based consensus. Angelfish lets a dynamically-adjusted subset of parties use best-effort broadcast to issue lightweight votes instead of using a costlier reliably broadcast to create DAG vertices. This reduces communication, tolerates more lagging nodes, and lowers latency in practice compared to prior DAG-based protocols. Our empirical evaluation shows that Angelfish attains state-of-the-art peak throughput while matching the latency of leader-based protocols under moderate throughput, delivering the best of both worlds. The implementation is open-sourced and publicly available.
