Table of Contents
Fetching ...

Staggering and Fragmentation for Improved Large Message Handling in libp2p GossipSub

Muhammad Umar Farooq, Tanguy Cizain, Daniel Kaiser

TL;DR

The paper tackles the challenge of disseminating large messages in libp2p GossipSub, where store-and-forward relays become a bottleneck as message size grows. It proposes four targeted techniques—fragmentation of messages into smaller chunks, IDONTWANT announcements to suppress redundant forwarding, message-staggering to sequentially relay to peers, and TCP-congestion-aware considerations—to improve throughput and reduce bandwidth. The authors formalize network-wide dissemination time as $Lcov100 ≈ (tau_p + tau_tx) × H$, with $H = ceil(log N / log D)$, and evaluate the approaches using the shadow simulator. Results show that fragmentation yields significant latency reductions (up to ~55%), IDONTWANT reduces redundant traffic, staggering accelerates delivery, and the combination achieves the largest gains, including a >64% reduction in latency for 1 MB messages in large networks and notable bandwidth savings.

Abstract

The libp2p GossipSub protocol leverages a full-message mesh with a lower node degree and a more densely connected metadata-only (gossip) mesh. This combination allows an efficient dissemination of messages in unstructured peer-to-peer (P2P) networks. However, GossipSub needs to consider message size, which is crucial for the efficient operation of many applications, such as handling large Ethereum blocks. This paper proposes modifications to improve GossipSub's performance when transmitting large messages. We evaluate the proposed improvements using the shadow simulator. Our results show that the proposed improvements significantly enhance GossipSub's performance for large message transmissions in sizeable networks.

Staggering and Fragmentation for Improved Large Message Handling in libp2p GossipSub

TL;DR

The paper tackles the challenge of disseminating large messages in libp2p GossipSub, where store-and-forward relays become a bottleneck as message size grows. It proposes four targeted techniques—fragmentation of messages into smaller chunks, IDONTWANT announcements to suppress redundant forwarding, message-staggering to sequentially relay to peers, and TCP-congestion-aware considerations—to improve throughput and reduce bandwidth. The authors formalize network-wide dissemination time as , with , and evaluate the approaches using the shadow simulator. Results show that fragmentation yields significant latency reductions (up to ~55%), IDONTWANT reduces redundant traffic, staggering accelerates delivery, and the combination achieves the largest gains, including a >64% reduction in latency for 1 MB messages in large networks and notable bandwidth savings.

Abstract

The libp2p GossipSub protocol leverages a full-message mesh with a lower node degree and a more densely connected metadata-only (gossip) mesh. This combination allows an efficient dissemination of messages in unstructured peer-to-peer (P2P) networks. However, GossipSub needs to consider message size, which is crucial for the efficient operation of many applications, such as handling large Ethereum blocks. This paper proposes modifications to improve GossipSub's performance when transmitting large messages. We evaluate the proposed improvements using the shadow simulator. Our results show that the proposed improvements significantly enhance GossipSub's performance for large message transmissions in sizeable networks.

Paper Structure

This paper contains 9 sections, 6 figures, 4 tables.

Figures (6)

  • Figure 1: GossipSub full-message mesh with D=3
  • Figure 2: First message latency vs median latency (TCP $C_{wnd}$)
  • Figure 3: IDONTWANT message impact: average latency ($L_{cov}^{100}$) and bandwidth utilization ($B_N$)
  • Figure 4: Message-staggering with IDONTWANT messages: average Latency ($L_{cov}^{100}$), bandwidth utilization ($B_N$), and the number of IWANT requests
  • Figure 5: Message fragmentation impact (using 4 Fragments): average Latency ($L_{cov}^{100}$) and bandwidth utilization ($B_N$)
  • ...and 1 more figures