Skip to content

Reject bids with invalid prev_randao during gossip validation - #8609

Merged
tersec merged 3 commits into
unstablefrom
dev/etan/gf-prevrandao
Jun 18, 2026
Merged

Reject bids with invalid prev_randao during gossip validation#8609
tersec merged 3 commits into
unstablefrom
dev/etan/gf-prevrandao

Conversation

@etan-status

Copy link
Copy Markdown
Contributor

When someone sends us a bid with invalid prev_randao but high value, it kicks out the legitimate bid. The invalid one is also non-punishable as it fails subsequent state transition by peers.

Add an extra reject rule to filter out invalid prev_randao, there is only a single valid value for each parent block root, and we have efficient functionality in the blockchain_dag to obtain correct RANDAO without expensive state replays.

Also proposed for spec inclusion, but we'll need the rule regardless:

Have moved this check to the end, because if the correct value has not yet been cached (i.e., no valid bid received), we may have to load the block from disk (once).

When someone sends us a bid with invalid prev_randao but high value,
it kicks out the legitimate bid. The invalid one is also non-punishable
as it fails subsequent state transition by peers.

Add an extra reject rule to filter out invalid prev_randao, there is
only a single valid value for each parent block root, and we have
efficient functionality in the blockchain_dag to obtain correct RANDAO
without expensive state replays.

Also proposed for spec inclusion, but we'll need the rule regardless:

- ethereum/consensus-specs#5360

Have moved this check to the end, because if the correct value has not
yet been cached (i.e., no valid bid received), we may have to load the
block from disk (once).
Comment thread beacon_chain/consensus_object_pools/execution_payload_pool.nim Outdated
@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown

Unit Test Results

       12 files  ±0    2 840 suites  ±0   1h 18m 45s ⏱️ + 13m 24s
16 033 tests ±0  14 432 ✔️ ±0  1 601 💤 ±0  0 ±0 
76 596 runs  ±0  74 850 ✔️ ±0  1 746 💤 ±0  0 ±0 

Results for commit 26c79ba. ± Comparison against base commit a6fcb67.

♻️ This comment has been updated with latest results.

@tersec

tersec commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Merge conflict in beacon_chain/consensus_object_pools/execution_payload_pool.nim

Comment thread beacon_chain/consensus_object_pools/execution_payload_pool.nim Outdated
@tersec
tersec merged commit 757420a into unstable Jun 18, 2026
12 checks passed
@tersec
tersec deleted the dev/etan/gf-prevrandao branch June 18, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants