Table of Contents
Fetching ...

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.

Angelfish: Leader, DAG, or Anywhere in Between

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.

Paper Structure

This paper contains 12 sections, 10 theorems, 13 figures, 2 tables.

Key Result

Corollary 1

Honest parties commit the same leader vertices in the same order.

Figures (13)

  • Figure 1: Basic data structures for Angelfish. The utility functions are adapted from spiegelman2022bullsharkshrestha2024sailfish.
  • Figure 2: Angelfish: DAG construction protocol for party $P_{i}\xspace$
  • Figure 3: This represents the set of local vertices and votes observed by $P_2$. $L_{r+3}$ did not deliver round $r+1$ and round $r+2$ leader vertices; therefore, $L_{r+3}$'s vertex must contain $\mathcal{TC}_{r+1}$ and $\mathcal{TC}_{r+2}$.
  • Figure 4: Angelfish: Jumping rounds
  • Figure 5: Angelfish: The commit rule for party $P_{i}\xspace$
  • ...and 8 more figures

Theorems & Definitions (42)

  • Definition 3.1: Byzantine atomic broadcast keidar2021allspiegelman2022bullshark
  • Definition A.1: Byzantine reliable broadcast bracha1987asynchronous
  • Claim 1
  • proof
  • Claim 2
  • proof
  • Claim 3
  • proof
  • Corollary 1
  • Lemma 1: Total order
  • ...and 32 more