Repository navigation
[r3.8] cl/phase1/network/registry: let one peer forward a slot's aggregates at once - #25250
Merged
AskAlexSharov merged 1 commit intoOct 23, 2026
Conversation
…at once (#25236) Fixes #25235. The `beacon_aggregate_and_proof` topic allowed 8 messages per second per peer, with a burst of 16. Aggregates for a slot are published at the same point in the slot, so peers forward them in bursts. Gossipsub marks a message as seen before Caplin validates it, so an aggregate the limiter ignored was also dropped when other peers sent it, and the node lost whole committees. One peer may now forward a whole slot's expected aggregates in one burst (`MaxCommitteesPerSlot * TargetAggregatorsPerCommittee`, 1,024 on mainnet), refilled over the slot. The other topics' limits are unchanged. ## Measurement Mainnet node, pool read 1.4 s into the next slot, 40 slots each: | | before | after | |---|---:|---:| | committees with no aggregate (vs a Lighthouse reference: 0) | 24 | 0 | | votes in the pool vs finally included | 98.8–99.0% | 99.87% | ## Tests `TestAggregateAndProofRateLimiterAdmitsSlotBurstFromOnePeer` covers the mainnet and minimal presets; it fails on the old limit. `make lint` is clean twice; `make erigon integration` builds. (cherry picked from commit 2cedbab)
domiwei
approved these changes
Oct 22, 2026
AskAlexSharov
deleted the
feature/lystopad/r38-aggregate-gossip-rate-limit
branch
October 23, 2026 03:34
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.
Cherry-pick of #25236 to release/3.8.
The
beacon_aggregate_and_prooftopic allowed 8 messages per second per peer, with a burst of 16. Aggregates for a slot arrive in a burst, and an aggregate the limiter ignored was also dropped from every other peer because gossipsub had already marked it as seen, so the node lost whole committees. One peer may now forward a whole slot's expected aggregates in one burst (MaxCommitteesPerSlot * TargetAggregatorsPerCommittee), refilled over the slot. Fixes #25235 on release/3.8.Clean cherry-pick of 2cedbab.
go test -race ./cl/phase1/network/registry/passes;make lintis clean twice;make erigon integrationbuilds. The same change has run on a release/3.8-based mainnet node since 2026-10-22 (see #25236).