<p>Checkpoints are a relatively misunderstood part bitcoin - Bitcoin does have a few checkpoints, but they are only used in one very specific case.  That case is just to ignore forks from the chain early on, before the most recently seen checkpoint. When a node has seen a block it recognises as a checkpoint, any further blocks received below that height will be ignored.</p>

<p>You can see this here: <a href="https://github.com/bitcoin/bitcoin/blob/0dfc25f82a01d9fec26380d95915df31e1fe2c02/src/validation.cpp#L3107" rel="nofollow noreferrer">https://github.com/bitcoin/bitcoin/blob/0dfc25f82a01d9fec26380d95915df31e1fe2c02/src/validation.cpp#L3107</a></p>

<p>It is a long term goal of removing the checkpoints entirely, because they  are a source of confusion over the security model and power the developers have. But currently the role they serve is to prevent low difficulty header flooding attacks, and there has been no alternative solution proposed yet (that I know of)</p>

CC BY-SA 3.0
2018-02-13T12:22:37.323Z
So, at initial sync the client knows it is on the right chain, prevents forks from being created form early blocks?
Willtech
CC BY-SA 3.0
2018-02-13T20:17:24.823Z
@Willtech yes, but only if it has seen the right path. If it has never seen the true chain then the checkpoints do nothing.
meshcollider
CC BY-SA 3.0
2018-02-13T11:58:42.203Z
2018-02-13T11:58:42.203Z
meshcollider
<p>I read in Peercoin whitepaper that to prevent large blockchain reorganization, bitcoin also implements checkpoint mechanism which finalizes the blockchain history. Can you explain how exactly bitcoin implements this?</p>

<blockchain><proof-of-work><checkpoints>
How does bitcoin implement checkpoint mechanism to finalize the blockchain history?
Preet
# How does bitcoin implement checkpoint mechanism to finalize the blockchain history?

(Asked by: username_0 on 2018-02-13)

I read in Peercoin whitepaper that to prevent large blockchain reorganization, bitcoin also implements checkpoint mechanism which finalizes the blockchain history. Can you explain how exactly bitcoin implements this?

**Tags:** blockchain, proof-of-work, checkpoints


---

## 1 answers

### Answer by username_1 on 2018-02-13. Score: 3 | Accepted answer

Checkpoints are a relatively misunderstood part bitcoin - Bitcoin does have a few checkpoints, but they are only used in one very specific case. That case is just to ignore forks from the chain early on, before the most recently seen checkpoint. When a node has seen a block it recognises as a checkpoint, any further blocks received below that height will be ignored.

You can see this here: <https://github.com/bitcoin/bitcoin/blob/0dfc25f82a01d9fec26380d95915df31e1fe2c02/src/validation.cpp#L3107>

It is a long term goal of removing the checkpoints entirely, because they are a source of confusion over the security model and power the developers have. But currently the role they serve is to prevent low difficulty header flooding attacks, and there has been no alternative solution proposed yet (that I know of)

> **Comments:**
> **username_2**: So, at initial sync the client knows it is on the right chain, prevents forks from being created form early blocks?  
> **username_1**: @username_2 yes, but only if it has seen the right path. If it has never seen the true chain then the checkpoints do nothing.  

---

