11261 update gossip rules - #11270
mehdi-aouadi merged 6 commits into
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 095c1e1. Configure here.
lucassaldanha
left a comment
There was a problem hiding this comment.
LGTM. One thing I notice is that we had a bunch of comments edited/removed. In some instances, they seem to provide relevant context for the validation's applicability. Not sure if that was deliberate, but it's worth double-checking whether some of them are still relevant.
I double checked: The comments are the same as the spec now. Some comments related to implementation details were removed (the DoS prevention mechanism description for example) and other comments were deliberately removed because seemed excessive to me (state lookup by block root instead of slot for example). |
b94bc78
into
Consensys-Incorporated:master

PR Description
Update Gloas gossip rules for beta 0 spec
Fixed Issue(s)
fixes #11261
Documentation
doc-change-requiredlabel to this PR if updates are required.Changelog
Note
Medium Risk
Changes consensus gossip validation for Gloas messages (bids, preferences, payload attestations), including new IGNORE rules and ordering that can alter which messages are accepted or deferred on the network.
Overview
Updates Gloas (EPBS) gossip validators to match the beta 0 spec: rule ordering, IGNORE vs REJECT semantics, and clearer spec-style comments across payload attestations, execution payload bids/envelopes, and proposer preferences.
Shared helpers:
GossipValidationHelperaddsisWithinProposerLookaheadandisWithinParentProposerLookahead(MIN_SEED_LOOKAHEAD), used by bid and proposer-preferences validation.Execution payload bids: Ignores bids whose slot is past the parent block’s proposer lookahead; treats fee-recipient mismatch as IGNORE (not reject); splits builder checks (index in range, active, payload-builder version). Duplicate-bid ignore messages include slot and builder index.
Proposer preferences: Early dedup; IGNORE pre-Gloas proposal epochs; proposer-known check via
isWithinProposerLookahead; requires dependent block state viagetStateAtBlockRootbefore checkpoint state (ignore if dependent root has not passed validation).Payload attestations: REJECT when validator index is out of range; centralized trace logging with validator/slot/block context for accept/reject/ignore/save-for-future.
Execution payload envelopes: Comment/label alignment only for most rules; limit checks documented as explicit [REJECT] steps.
Tests cover lookahead helpers, bid lookahead/blob/builder cases, out-of-range payload attestation validators, and new proposer-preferences paths.
Reviewed by Cursor Bugbot for commit 1db393e. Bugbot is set up for automated code reviews on this repo. Configure here.