Author

Topic: What is use of Checkpoints in a cryptocurrency? (Read 218 times)

legendary
Activity: 1584
Merit: 1280
Heisenberg Design Services
October 12, 2018, 01:02:53 AM
#3
Most importantly on a wider sense, checkpoints were implemented in the bitcoin code for preventing DOS attacks to happen in the network and to prevent the miner to take control of the network and perform the 51% attack successfully. The checkpoints prevent the miner (attacker) to hash the block in a lower difficulty. Thus satoshi introduced checkpoints in each and every version of the client released after 0.3.1. Here is the announcement of the checkpoint

- Added a simple security safeguard that locks-in the block chain up to this point.
The security safeguard makes it so even if someone does have more than 50% of the network's CPU power, they can't try to go back and redo the block chain before yesterday.  (if you have this update)

I'll probably put a checkpoint in each version from now on.  Once the software has settled what the widely accepted block chain is, there's no point in leaving open the unwanted non-zero possibility of revision months later.

For instance let us consider how the network functions without the use of checkpoints. A miner might have mined a block in a low difficulty earlier period and relayed it to the network. The block becomes part of the longest chain and without the use of checkpoint, the miner will try to mine the future block in low difficulty. The miner can even make us listen to the fake difficulty chain. If there is a checkpoint, the miner need lots of mining power to continue mining the longest chain.

In simple terms, the checkpoints are coded each time with current difficulty when the client gets a new update so that the client will accept transactions as valid only up-to the checkpoint. This also prevents the fork of the coin to start before the checkpoint specified block.

But as days passed by, these checkpoints were not really helpful nor they provided any real security and they created confusions. Thus the core devs stopped providing checkpoints in the future releases of the client, and if any nodes see a block they consider it as checkpoint and the future blocks below that height would be considered invalid.
hero member
Activity: 2352
Merit: 905
Metawin.com - Truly the best casino ever
As you see, Bitcoin has removed checkpoints, so it's not as necessary as you think (it was removed because couldn't prevent any meaningful attack) but yeah, others have it too. The reason why they are using checkpoints is to provenet denial-of-service attack.
newbie
Activity: 18
Merit: 0
Hi friends, I am a college student and a cryptocurrency enthusiast, working on an altcoin as my major project.

I wanted to know about significance of checkpoints in a cryptocurrency. Why they are needed and how to implenet them. I was checking out checkpoints.cpp of litecoin's 0.8 version.

Help appreciated and thanks in advance.
Jump to: