spec(gossipsub): add v1.3 specification for Partial Messages Extension#25
Open
shivv23 wants to merge 1 commit into
Open
spec(gossipsub): add v1.3 specification for Partial Messages Extension#25shivv23 wants to merge 1 commit into
shivv23 wants to merge 1 commit into
Conversation
Promotes the Partial Messages Extension design document to a formal versioned specification (gossipsub v1.3). Updates the README and implementation-status.md to reflect the new version. - Creates pubsub/gossipsub/gossipsub-v1.3.md with protocol ID /meshsub/1.3.0 SubOpts negotiation fields (requestsPartial, supportsSendingPartial), PartialMessagesExtension RPC message, behavior tables, and backwards compatibility guarantees - Updates README.md to add v1.3 to the specification index and implementation status table - Updates implementation-status.md to promote [1.3-alpha] to [1.3], add [1.4] tracking row, and add [Large Message Segmentation] extension row
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We've had spec documents for v1.0 through v1.2 for a while now, and the Partial Messages design doc has been sitting alongside them as an extension proposal. This PR promotes it into a proper versioned spec — v1.3 — so it sits naturally in the lineage and implementers have a single place to look.
The core idea hasn't changed: instead of sending an entire large message when a peer is only missing a small piece, you send just the parts they need. The Ethereum DA use case is the main driver here, but it's general enough that other applications will benefit too.
Changes in this PR:
pubsub/gossipsub/gossipsub-v1.3.md — new file. Covers the protocol ID, the two new SubOpts fields, the PartialMessagesExtension message, when to send partial vs full messages (with behavior tables), gossip semantics, and how to migrate an existing topic incrementally. The structure mirrors the existing v1.0/v1.1/v1.2 docs so nothing feels out of place.
pubsub/gossipsub/README.md — v1.3 added to the spec index and the implementation status table.
pubsub/gossipsub/implementation-status.md — promoted the [1.3-alpha] row to [1.3] and added tracking rows for [1.4] and [Large Message Segmentation] so the DMP 2026 contributions have somewhere to land once they're ready.