multi: Introduce initial sync min known chain work. #2000
Merged
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.
This adds a new parameter to the chain parameters to allow a minimum total known cumulative amount of chain work to be specified as of a given point in time and updates the check which determines if the blockchain believes it is current to make use of the value instead of the height of the final checkpoint. In other words, the chain is not considered synced if the best chain does not yet have the amount of work specified.
This approach is preferred because it easier to maintain, does not rely on trusted known good checkpoints, is valid regardless of the order that blocks are received and processed, and, in general, is a more objective value that can't be invalidated by a chain reorganization.
It also adds initial values for the main and test networks as follows: