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

multi: Introduce initial sync min known chain work. #2000

Merged
merged 1 commit into from
Nov 20, 2019

Conversation

davecgh
Copy link
Member

@davecgh davecgh commented Nov 10, 2019

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:

mainnet: 0x0000000000000000000000000000000000000000000ae01920a7ee4b769cc620
testnet: 0x0000000000000000000000000000000000000000000000005df2701ec6263182

@davecgh davecgh added this to the 1.6.0 milestone Nov 10, 2019
@davecgh davecgh force-pushed the multi_introduce_min_known_chain_work branch from d82c0fa to 71b5188 Compare November 10, 2019 05:36
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:

mainnet: 0x0000000000000000000000000000000000000000000ae01920a7ee4b769cc620
testnet: 0x0000000000000000000000000000000000000000000000005df2701ec6263182
@davecgh davecgh force-pushed the multi_introduce_min_known_chain_work branch from 71b5188 to 60b07a1 Compare November 20, 2019 00:09
@davecgh davecgh merged commit 60b07a1 into decred:master Nov 20, 2019
@davecgh davecgh deleted the multi_introduce_min_known_chain_work branch November 20, 2019 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants