Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

disallow VALID <-> INVALID equivocation #493

Merged
merged 2 commits into from
Dec 13, 2023
Merged

disallow VALID <-> INVALID equivocation #493

merged 2 commits into from
Dec 13, 2023

Conversation

tersec
Copy link
Contributor

@tersec tersec commented Nov 21, 2023

This essentially copies over https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/sync/optimistic.md#transitioning-from-valid---invalidated-or-invalidated---valid into more execution-layer specs.

The current specs don't use a verb much to describe the specific process of determination of VALID, et cetera, but more the whole response construction. The one time I could find they unambiguously do, that verb is "classify", so went with that.

The intent here is to disallow this equivocation even over time, i.e. for any given newPayload or fcU, by construction it can't equivocate, and simply being incorrect indefinitely is not great either, but then that EL is just broken, in more significant ways.

The harm/fallout/externality that's resulting from this is exactly that for basically ephemeral reasons, ELs are responding INVALID, then VALID, but by then from a CL perspective it can be too late.

Phrasing it this way avoids reference to some ground truth state, requiring only relative comparisons and constraints.

src/engine/paris.md Outdated Show resolved Hide resolved
src/engine/paris.md Outdated Show resolved Hide resolved
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
@mkalinin mkalinin merged commit 8fa3888 into ethereum:main Dec 13, 2023
3 checks passed
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