gossipsub: define scoring and resource management semantics for partial messages#7
Conversation
This update introduces normative requirements for integrating the Partial Messages extension with the Gossipsub v1.1 Peer Scoring system. - Define P2 credit attribution for "eligible contributors" to reassembled messages. - Discourage "last segment wins" incentive distortion in scoring. - Mandate P4 penalties for invalid message segments. - Introduce P7 behavioural penalties for segment-flood and broken promises. - Formalize mandatory resource bounds and O(1) cleanup requirements for reassembly buffers. These changes ensure production-grade security and prevent state-exhaustion attacks in segmented propagation.
|
One design goal of this PR was to preserve compatibility with existing v1.1 scoring semantics while avoiding implementation-forcing proportional accounting rules. The intent is to standardize minimum behavioural guarantees and resource bounds without over-constraining implementation-specific scoring strategies. |
|
I explored the interaction between the Partial Messages extension and the existing Gossipsub v1.1 scoring/resource-management model, and opened a PR focused on normative scoring semantics and bounded-resource guarantees for segmented propagation: The PR introduces:
One of the main goals was to preserve compatibility with existing v1.1 scoring assumptions while avoiding implementation-forcing proportional accounting rules. Would appreciate feedback, especially around:
|
Overview
This PR adds normative scoring and resource-management semantics to the Gossipsub Partial Messages extension.
The current draft primarily defines segmentation and propagation wire formats, but leaves the interaction with the existing Gossipsub v1.1 scoring framework largely unspecified. This creates ambiguity around:
This PR formalizes how segmented propagation interacts with the existing scoring model while preserving implementation flexibility and backwards compatibility.
Key Changes
P₂: First Message Deliveries
"last segment wins"behavior.P₂credit.P₃: Mesh Message Delivery Rate
P₃credit.P₄: Invalid Messages
P₄penalties for individually verifiable invalid segments.P₇: Behavioural Penalties
Defines normative behavioural penalties for:
A "Broken Promise" refers to repeatedly advertising segment availability via
partsMetadatawhile failing to deliver the requested parts beyond what can reasonably be attributed to network churn or transient packet loss.Resource Management and DoS Mitigations
This PR also introduces normative bounded-resource requirements for segmented propagation, including:
Additionally, cleanup of expired/orphaned sessions SHOULD be performed in
O(1)or amortized constant-time complexity to reduce CPU exhaustion risk during adversarial floods.Rationale
Segmented propagation introduces several new attack surfaces and scoring ambiguities that do not exist in atomic message delivery systems.
Without these semantics:
This PR aims to provide interoperable, production-oriented guidance while avoiding unnecessary protocol complexity.
Compatibility
Security Considerations
This PR directly addresses:
while maintaining compatibility with future large-data dissemination systems and DAS-style propagation models.