Why are we bleeding nodes?



Summary:

In an email thread among several Bitcoin developers, Tier Nolan and Tamas Blummer discuss the sequential loading of block headers and blocks. While Blummer suggests that validation must be sequential, Nolan argues that downloading portions of the chain and connecting various sub-chains together is possible with an honest node, although the protocol does not support it. Paul Lyon asks if asking for headers from each peer he's connected to and dumping them into the backend is abusive to the network. Another developer suggests downloading from a subset of peers and switching out any slow ones as a reasonable compromise. The group discusses different methods for downloading and storing block headers and blocks, with Blummer suggesting that once headers are loaded, there is no need for sequential loading while validation can be deferred until the blocks before a point are loaded and continuous. Additionally, Lyon shares his approach of downloading and storing headers in any order and making sense of the winning chain while not needing to download blocks in any particular order or save them to disk, but only store the UTXO, which is fully self-contained. This allows him to do the initial blockchain sync in approximately six hours when using his SSD, and he only needs enough disk space to store the UTXO and whatever amount of block data the user wants to store.


Updated on: 2023-06-08T18:44:09.163623+00:00