Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions fetch/docs/docs/gossipsub-large-message-flow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Gossipsub 1.4 Large Message Propagation

## Overview

This document describes the proposed large-message
propagation mechanism for Gossipsub 1.4.

Large payloads are segmented into smaller chunks
before propagation through the gossip mesh.

---

# Segmentation Flow

```text
Publisher
Large Message
Segmentation Layer
┌───────────────┐
│ Segment 1 │
│ Segment 2 │
│ Segment 3 │
└───────────────┘
Gossipsub Mesh
Receiving Peers
Reassembly Layer
Reconstructed Message
```

---

# Segment Metadata

Each segment contains:

| Field | Description |
|---|---|
| message_id | Unique identifier for original message |
| segment_index | Current segment number |
| total_segments | Total number of segments |
| checksum | Integrity verification |
| payload | Segment data |

---

# Reconstruction

Receiving peers reconstruct the message after all
segments are received.

Reconstruction includes:

- ordered reassembly
- integrity verification
- duplicate filtering
- missing segment recovery

---

# Security Considerations

Potential concerns include:

- malicious segment flooding
- incomplete message spam
- memory exhaustion attacks
- invalid checksum propagation

Integrity verification should occur before reassembly.