Skip to content

eip7732: add gossip rule for old payloads#4695

Merged
jtraglia merged 4 commits intoethereum:masterfrom
ethDreamer:gloas-envelope-gossip-rule
Oct 29, 2025
Merged

eip7732: add gossip rule for old payloads#4695
jtraglia merged 4 commits intoethereum:masterfrom
ethDreamer:gloas-envelope-gossip-rule

Conversation

@ethDreamer
Copy link
Copy Markdown
Contributor

This additional gossip rule is needed on the ExecutionPayloadEnvelope per today's breakout room call

Comment thread specs/gloas/p2p-interface.md Outdated
@jtraglia jtraglia changed the title EIP-7732: Add Gossip Rule for Old Payloads eip7732: add gossip rule for old payloads Oct 25, 2025
@jtraglia jtraglia added the eip7732 ePBS label Oct 25, 2025
Comment thread specs/gloas/p2p-interface.md Outdated
`SignedExecutionPayloadEnvelope` for this block root from this builder.
- _[IGNORE]_ The envelope is from a slot greater than the latest finalized slot
-- i.e. validate that
`envelope.slot > compute_start_slot_at_epoch(store.finalized_checkpoint.epoch)`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be greater or equal? validators only attest to the CL block to finalize it, there's no payload content in the checkpoint.

Suggested change
`envelope.slot > compute_start_slot_at_epoch(store.finalized_checkpoint.epoch)`
`envelope.slot >= compute_start_slot_at_epoch(store.finalized_checkpoint.epoch)`

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm I don't fully understand why "equal to" should be accepted too. Care to expand?

Like why is it different than other messages, eg:

- _[IGNORE]_ The block is from a slot greater than the latest finalized slot --
i.e. validate that
`signed_beacon_block.message.slot > compute_start_slot_at_epoch(store.finalized_checkpoint.epoch)`
(a client MAY choose to validate and store such blocks for additional purposes

Also, if we make this change, we need to update the sentence too:

- The envelope is from a slot greater than the latest finalized slot
+ The envelope is from a slot greater than or equal to the latest finalized slot

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i would expect we want symmetry with the other validations

i havent reviewed the latest on the FC here, but i dont see how we would have the condition that we want an execution envelope for an already finalized block

so a simple > seems better

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i would expect we want symmetry with the other validations

i havent reviewed the latest on the FC here, but i dont see how we would have the condition that we want an execution envelope for an already finalized block

so a simple > seems better

When we finalize a block, attesters vote for the blockroot of that block, they say nothing about the availability of the payload of said block. So there's consensus that the block is final, but not about its payload. Therefore I think it is more aligned with the spec to not consider the payload as finalized. We could change the finalization and attestation scheme to also include payload information, but I believe the complexity is not worth it.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay. This makes sense to me. Thanks for explaining.

Co-authored-by: Potuz <potuz@potuz.net>
Copy link
Copy Markdown
Member

@ralexstokes ralexstokes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

just cuts down on potential DoS risk on this topic

edit: see other comment about >= vs >

@ralexstokes
Copy link
Copy Markdown
Member

not sure how to dismiss my previous review

it does seem like it should be > and NOT >= and then i think we should merge this

Copy link
Copy Markdown
Member

@jtraglia jtraglia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've decided to approve/merge this. The last comment from potuz makes sense to me.

But if this turns out to be wrong, we can fix it in a future PR.

@jtraglia jtraglia merged commit b8ff97b into ethereum:master Oct 29, 2025
15 checks passed
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.

4 participants