Bitcoin Forum
May 14, 2024, 03:23:25 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: What is use of Checkpoints in a cryptocurrency?  (Read 196 times)
ironfeast (OP)
Newbie
*
Offline Offline

Activity: 18
Merit: 0


View Profile
October 11, 2018, 05:45:03 PM
 #1

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.
1715657005
Hero Member
*
Offline Offline

Posts: 1715657005

View Profile Personal Message (Offline)

Ignore
1715657005
Reply with quote  #2

1715657005
Report to moderator
Once a transaction has 6 confirmations, it is extremely unlikely that an attacker without at least 50% of the network's computation power would be able to reverse it.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715657005
Hero Member
*
Offline Offline

Posts: 1715657005

View Profile Personal Message (Offline)

Ignore
1715657005
Reply with quote  #2

1715657005
Report to moderator
1715657005
Hero Member
*
Offline Offline

Posts: 1715657005

View Profile Personal Message (Offline)

Ignore
1715657005
Reply with quote  #2

1715657005
Report to moderator
1715657005
Hero Member
*
Offline Offline

Posts: 1715657005

View Profile Personal Message (Offline)

Ignore
1715657005
Reply with quote  #2

1715657005
Report to moderator
shield132
Hero Member
*****
Offline Offline

Activity: 2212
Merit: 854



View Profile
October 11, 2018, 08:17:27 PM
 #2

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.

▄▄███████▄▄
▄██████████████▄
▄██████████████████▄
▄████▀▀▀▀███▀▀▀▀█████▄
▄█████████████▄█▀████▄
███████████▄███████████
██████████▄█▀███████████
██████████▀████████████
▀█████▄█▀█████████████▀
▀████▄▄▄▄███▄▄▄▄████▀
▀██████████████████▀
▀███████████████▀
▀▀███████▀▀
.
 MΞTAWIN  THE FIRST WEB3 CASINO   
.
.. PLAY NOW ..
Heisenberg_Hunter
Legendary
*
Offline Offline

Activity: 1583
Merit: 1276


Heisenberg Design Services


View Profile WWW
October 12, 2018, 06:02:53 AM
Merited by ABCbits (1)
 #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.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!