-
Notifications
You must be signed in to change notification settings - Fork 771
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
Retrospective transition block checking #2983
Comments
I ran into some related stuff when working on the engine-api upgrade so I'm going to put all the block conditions here:
You'll notice there's a new status |
I don't think that changes anything here, thanks for pointing it out though. |
I'm thinking that perhaps we want logic along the lines of this:
|
## Issue Addressed * #2983 ## Proposed Changes Basically followed the [instructions laid out here](#2983 (comment)) Co-authored-by: Paul Hauner <[email protected]> Co-authored-by: ethDreamer <[email protected]>
## Issue Addressed * #2983 ## Proposed Changes Basically followed the [instructions laid out here](#2983 (comment)) Co-authored-by: Paul Hauner <[email protected]> Co-authored-by: ethDreamer <[email protected]>
Resolved via #3372 🎉 |
Description
The "transition block" is the first block in a chain that includes a non-empty
ExecutionPayload
. This is effectively the first merging of the proof-of-work chain into the proof-of-stake chain.This block requires some additional verification when compared to pre- and post-transition blocks; the consensus client must check that the PoW chain has reached the terminal total difficulty and/or some other criteria.
These additional verifications are challenging during optimistic sync. We can't perform them during sync, since the execution client might not be synced enough to respond to the requests. So, we optimistically accept the transition block and promise to come back later and check it once the execution client is synced.
Presently, Lighthouse happily optimistically accepts the transition block, but it fulfills the promise to verify it. Therefore, Lighthouse needs:
The text was updated successfully, but these errors were encountered: