Dear list,

I thought this was already communicated, but I can't find a thread.

A recent pull request was merged into Bitcoin Core that removes existing 
checkpoints and all related support code.[0] The current plan is for this 
change to be part of v30 which should be released this fall.

Checkpoints are no longer needed in order to protect against low proof-of-work 
header spam attacks, thanks to the headers pre-sync functionality included 
since v24. [1]

The existing checkpoints no longer provide enough security against those 
attacks. Adding new checkpoints is not desirable.

However, if someone is aware of another attack, please disclose it (ideally 
responsibly) so the change can be reverted. [2]

Since older versions of Bitcoin Core, as well as other Bitcoin implementations, 
still enforce the checkpoints, an extremely large reorg (attack by aliens, NSA, 
etc) would split the network. This may already be the case due to the way some 
older soft forks have been grandfathered / buried in Bitcoin Core.[3]

I think many would consider Bitcoin a total loss in such a scenario and not 
worth salvaging - especially if the attacker didn't airdrop you any coins in 
the reorg. But it could be useful for someone to write a BIP that describes 
what happens in such a scenario. It could recommend ways to at least regain 
consistency, and perhaps permanently apply some soft fork rules from genesis 
(e.g. activate them if the last checkpoint header is absent).

Kind regards,

Sjors Provoost

[0] https://github.com/bitcoin/bitcoin/pull/31649
[1] https://bitcoin.stackexchange.com/a/121235/4948
[2] https://github.com/bitcoin/bitcoin/blob/master/SECURITY.md
[3] https://github.com/bitcoin/bips/blob/master/bip-0090.mediawiki



-- 
You received this message because you are subscribed to the Google Groups 
"Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/bitcoindev/F8E9B25A-5198-4A5E-B3D7-9DAD6B709825%40sprovoost.nl.

Reply via email to