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

Incorrect check for final block not in canonical chain in forkchoiceUpdated(...) #3083

Closed
tersec opened this issue Feb 17, 2025 · 0 comments · Fixed by #3089
Closed

Incorrect check for final block not in canonical chain in forkchoiceUpdated(...) #3083

tersec opened this issue Feb 17, 2025 · 0 comments · Fixed by #3089
Labels

Comments

@tersec
Copy link
Contributor

tersec commented Feb 17, 2025

Copying out from #2960 (comment) since it's semi-separate from forked-layers database issue per se and worth addressing.

if not ben.chain.isCanonical(finalizedBlockHash):
warn "Final block not in canonical chain",
hash=finalizedBlockHash.short
raise invalidForkChoiceState("finalized block not canonical")

is not correct.

It's perfectly valid for there to be two forks, neither of which (yet) finalizes, and for whatever reason, a CL (and thus EL via fcU) has been following one of them, but the other finalizes. At that point, typically the finalized checkpoint (in CL terminology) or from the perspective of the EL/fcU, finalized block, will not necessarily be part of what ForkedChain currently considers to be the canonical chain (which after all, can reorg).

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 a pull request may close this issue.

1 participant