Skip to content

Relax bid gossip dependency on proposer preferences#5036

Open
nflaig wants to merge 2 commits intoethereum:masterfrom
nflaig:relax-bid-preference-dependency
Open

Relax bid gossip dependency on proposer preferences#5036
nflaig wants to merge 2 commits intoethereum:masterfrom
nflaig:relax-bid-preference-dependency

Conversation

@nflaig
Copy link
Copy Markdown
Member

@nflaig nflaig commented Mar 24, 2026

Remove the hard requirement for SignedProposerPreferences to have been seen before forwarding execution_payload_bid messages. The fee_recipient and gas_limit checks are now only applied if preferences have been seen, otherwise bids are forwarded without preference validation.

This decouples the two gossip topics so that bids can flow even if preferences were delayed or missed due to network partition.

The proposer still validates bids against their own preferences locally.

@github-actions github-actions bot added the gloas label Mar 24, 2026
@jtraglia
Copy link
Copy Markdown
Member

jtraglia commented Mar 25, 2026

I disagree with this PR but let's leave it open until client devs have a chance to weigh in.

In my opinion, this change would make the bid forwarding more complex for no real benefits.

  1. If a proposer does not accept bids (signaled by not sharing their preferences) builders can essentially spam the network even though it will not be used.
  2. There could be a period before the proposer preferences are seen (now that same-epoch preferences are allowed; Allow same epoch proposer preferences #5035) in which a malicious builder could send increasingly valuable bids to a fee recipient that the proposer does not own. This is a DoS risk.
  3. If there are high-value bids on the network before the proposer preferences are shared, nodes will need to reset their forwarding settings. Right now, only the highest value bid is forwarded. If there's a high value bid to the wrong fee recipient, those bids must be ignored when receiving bids with the correct fee recipient.
  4. Even if builders set the fee recipient to the validator's withdrawal credentials address, this only works for solo stakers with 0x01+ creds. Staking pools do not want rewards going to the withdrawal credentials as this complicates their reward distributions.

@nflaig
Copy link
Copy Markdown
Member Author

nflaig commented Mar 25, 2026

while I opened the PR I am also not in favor of it and agree with your points

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants