Only allow bids compatible with the head view - #5491
Closed
potuz wants to merge 4 commits into
Closed
Conversation
potuz
force-pushed
the
single_bid_broadcasting
branch
from
July 28, 2026 18:13
b629d69 to
84fade5
Compare
nflaig
reviewed
Jul 28, 2026
| - _[IGNORE]_ this is the first signed bid seen with a valid signature from the | ||
| given builder for this slot. | ||
| given builder for the tuple | ||
| `(bid.slot, bid.parent_block_hash, bid.parent_block_root)`. |
Member
There was a problem hiding this comment.
I would assume all clients do this, but need to make sure we only add a bid to seen cache if it passes the is_bid_on_current_head check below, but the gossip check here only says with a valid signature and not bid that passes validation, so maybe it's a bit ambiguous. At least in lodestar, we only add bids to seen cache if they pass all gossip checks. related to my comment here #5472 (comment)
Member
There was a problem hiding this comment.
Yeah that is a bit misleading. The executable specs will clear it up.
Member
|
I'm going to close this one in favor of #5497. Several devs have remarked that this version is too complex:
|
jtraglia
pushed a commit
that referenced
this pull request
Jul 31, 2026
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.

The rationale for this PR is as follows. By allowing bids for branches that are not compatible with the head view, nodes will allow arbitrary messages on a global topic. Filtering by bid price is not useful since the builder can submit bids with arbitrarily large bids as they won't be includable by any honest proposer.
The alternative is to allow bids for arbitrary branches but restricting the number of bids per builder, it opens that DOS door, but it lacks the complexity of this PR.
The biggest drawback of this PR is that in order for account for the possibility of honest CL reorgs, the node needs to process attestations before the next slot, every slot, and run forkchoice, something that nodes typically only do when they are proposing. After thinking over this for a while I believe the DOS may be even better than an extra forkchoice run at the end of the slot just for this.
An alternative would be to only allow for the current head, but that does not cover the situation of proposer boost reorgs.