-
Notifications
You must be signed in to change notification settings - Fork 70
Description
Checkpoints currently force the chain through a specific block. This does not produce the desired behavior.
The objective of checkpoints was to prevent wasting time on weak chains especially at low hash power. Checkpoints also provide a performance boost in avoidance of validation for a chain segment that is encountered that has previously been verified.
The objectives can both be attained without the undesired forcing behavior. The checkpoint hash is also indicative of a certain amount of work. This can be treated as a minimum amount of work at the given height (i.e. not a min + max). The prevents inadvertently blocking a higher difficulty chain. The avoidance of validation can be achieved based on building a verified header chain that matches a specified point. In that case all blocks to that point can be assumed valid (based on previous validation by the owner), allowing the implementation to skip expensive aspects of the validation.
Renaming the configuration setting value will be helpful in preventing conflation with the original implementation.