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

Engine API: narrow down fcU skip conditions #244

Merged
merged 2 commits into from
Jun 27, 2022
Merged

Conversation

mkalinin
Copy link
Contributor

@mkalinin mkalinin commented Jun 22, 2022

Considering the following EL block tree:

CA <- A1 <- A2 <- HEAD
  \
   <- B1 <- B2 <- B3  

Current spec allows to skip processing in following cases:

  • fcU(head: A2.blockHash), fcU(head: A1.blockHash) -- ancestors of the head of canonical chain
  • fcU(head: B2.blockHash) -- ancestor of a tip of another chain (not a leaf)

After this change, the spec disallows to skip fcU(head: B2.blockHash). For instance, when BeaconBlock(B3) appeared to be invalid but the B3 itself is VALID, and then the network re-orgs to BeaconBlock(B2) the EL must handle such a re-org properly and start a build process if requested.

TODO:

Thanks to @rjl493456442 for helping to identify this issue.

H/t @djrtwo for the review

@djrtwo djrtwo merged commit 773ffd2 into ethereum:main Jun 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-engine Area: for future consideration
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants