-
Notifications
You must be signed in to change notification settings - Fork 120
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
[chain] Remove Parent Block Dependency during Verify #427
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 tasks
patrick-ogrady
changed the title
[chain] Remove Parent Block Dependency + Only Store Genesis/Latest
[chain] Remove Parent Block Dependency
Aug 28, 2023
patrick-ogrady
changed the title
[chain] Remove Parent Block Dependency
[chain] Remove Parent Block Dependency during Verify
Aug 28, 2023
|
|
Need to bypass tx check because block is already accepted and txs are in the VM's emap. |
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
commented
Aug 30, 2023
patrick-ogrady
added a commit
that referenced
this pull request
Sep 1, 2023
* add first todo * cleanup README point * update mocks * add poc * add span for waitRoot * fix VerifySignatures * make signature verification a config * add a TODO for splitting parallelism * update to tip of dev * split parallelism * set cores 50/50 * wait root calc metric * add more TODOs * update logic to handle unprocessed block post-state sync * more progress * add more notes * use nil in vm * finish comments on View * nits * comment nit * comment nits * fix genesis handling * change variable name * use math.Max * add more logging * more cleanup * add TODO for invariant change * [chain] Remove Parent Block Dependency during Verify (#427) * add TODO * remove parent fetch * remove parent block from innerVerify * add verify context * cleanup VerifyContext call * working on clarifying GetVerifyContext/View * keep cleaning up * add specific conditional for height * update verification context handling * update wording in view to explain why we need accepted handling * add more comments to main path * update interface * use preferred block directly * drop verify * fix lint * update state manager * add note about GetBlockIDByHeight * finish comment about handling blocks * make sure keys in set * add todo for genesis handling * update genesis block handling * add more logs * e2e passing * address chain nits * better comment genesis * extra VM comments * add TODO * clarify note about verification status * populate more of README * commit WIP * progress * final pass on README
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TODO
GetBlockIDAtHeight
that this is only called pre-ProposerVM forkCan we just verify the last accepted block when state sync finishes? otherwise we may not be able to build (right now we consider verifying blocks in 3 places) -> won't be able to ensure no repeats but should be able to process already accepted block-> Because we don't control when state sync will finish (may be duringVerify/Accept
), we can't get away from having to handle parent verification during child verify/accept.