Posted by Sjors Provoost
Apr 28, 2025/16:25 UTC
In a recent discussion on the Bitcoin Development Mailing List, the topic of checkpoints within the Bitcoin protocol was revisited, with particular attention given to their implications on performance. The historical context of checkpoints was initially introduced as a measure against Denial of Service (DoS) attacks, rather than for enhancing performance. Despite this, there's a consideration about the potential misuse of checkpoints for performance improvement, which could inadvertently encourage the creation of more checkpoints. This concern is highlighted by the possibility that alternative versions of Bitcoin Core or Libbitcoin might emerge, leveraging "honest" checkpoints to gain traction through superior performance metrics, particularly if they also incorporate a UTXO snapshot for acceleration.
The discussion further explores the negligible impact of checkpoints on performance. A detailed comparison is made using an experiment conducted on an M4 MacBook, comparing Initial Block Download (IBD) times with and without checkpoints up to a specific block height (295,000). The experiment revealed a minimal time difference—approximately 30 seconds, adjusted to 1 minute for experimental variances—between the two scenarios. This minor discrepancy emphasizes the point that early blocks, which represent only 3% of all historical transactions, do not significantly benefit from checkpointing in terms of signature verification times.
Moreover, it's mentioned that loading a UTXO snapshot at the checkpoint height could potentially offer a 15-minute speedup, but this still constitutes a relatively minor efficiency gain of only 5%. The discussion suggests that the performance benefits of checkpoints have diminished over time and will continue to decrease without the introduction of new checkpoints.
The email also touches on the -assumevalid
parameter, which does not rely on checkpoints but offers a fallback to slower validation processes during significant reorganizations of the blockchain. Although not a fan of the -assumevalid
feature, the author proposes replacing it with a combination of AssumeUTXO and SwiftSync for more efficient background validation while maintaining full validation capabilities using block undo data. This proposal aims at enhancing the blockchain's performance without overly relying on checkpoints or compromising security measures against DoS attacks. For further details on these concepts, references were made to BIP30 and potential future improvements like AssumeUTXO and SwiftSync, though specific URLs were not provided in the original content.
TLDR
We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.
We'd love to hear your feedback on this project?
Give Feedback