In this episode of “Bitcoin, Explained,” hosts Aaron van Wirdum and Sjors Provoost discuss research done by CasaHODL co-founder and CTO, Jameson Lopp, as well as Provoost himself on syncing old Bitcoin nodes.
Whenever a new Bitcoin node comes online, it must first sync with the rest of the Bitcoin network. It needs to download and verify the entire blockchain up until the most recent block in order to be up to date on the state of bitcoin ownership. This can take quite a while, however, and should take longer over time as the blockchain keeps growing. To offset this and to improve user experience more generally, Bitcoin Core developers seek to improve performance of the Bitcoin Core code so that newer releases sync faster than their predecessors.
In the episode, van Widrum and Provoost outline the performance improvements of Bitcoin Core clients over time, as analyzed most recently in two blog posts by Lopp. The first post explains how the performance of different Bitcoin Core implementations have evolved in relation to the speed at which they sync to the chain tip. The second post covers older versions of Bitcoin Core and all the complexities of running an older implementation of the protocol.
Van Wirdum and Provoost first explain why some very old Bitcoin clients have trouble syncing to the current state of the blockchain at all, pointing out some bugs in the early software, as well as issues relating to dependencies and the challenge of using such old clients today. Provoost then goes on to sum up some of the most important performance improvements that have been included in new Bitcoin Core releases over time.