I've seen some guides that suggest that initial sync time for a new full node can be accelerated by setting checkpoints: false but I don't understand why that would be the case. My thinking is the opposite would be true, because bitcoind won't bother fully verifying blocks below checkpoint height?

  • What software is this question about? Feb 7, 2019 at 22:20
  • I'm asking about Bitcoin Core. Although the speedup I heard about was in reference to lcoin (the litecoin fork of bcoin). In that case I think checkpoints actually prevented the node from getting blocks from peers since the network is so much smaller and the checkpoints are "too far apart"
    – pinhead
    Feb 8, 2019 at 1:50

1 Answer 1


A Checkpoint is the header hash permitted at a given height, thereby hardcoding the chain that the validating node must follow. If a node follows an alternative chain branch which reaches the same height, this branch can now be identified as such and rejected. This was initially designed to protect a node from following an alternative long branch, especially generated with low difficulty, which could be so long that it would challenge the available resources of the validating node.

Validation used to be skipped prior to checkpoints, but that is no longer the case. Validation is skipped up to "known blocks", but only if these are found in the strongest chain. Today, checkpoints don't reduce chain sync time.

  • What's "known blocks"? Is that a separate list from checkpoints?
    – pinhead
    Feb 7, 2019 at 20:44
  • 1
    Yes. When syncing the node will first build the strongest header chain, and if known blocks are included, it will download all blocks but skip validation up to the known block. However, unlike checkpoints, if the strong header chain does not include any known blocks, this is ok and validation will begin from genesis.
    – James C.
    Feb 7, 2019 at 20:47
  • Its confusing, checkpoints guard against following chain branches other than ones formed thru checkpoints. Known blocks are from known branches so validation can be skipped, but a node mustn’t necessarily follow known branches.
    – James C.
    Feb 7, 2019 at 20:58
  • 1
    @JamesC. In Bitcoin Core (assuming that's what the question is about), the "known blocks" feature is called "assumevalid", and you can configure it yourself. It is indeed independent from checkpoints. Feb 7, 2019 at 22:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.