Small Nodes: A Better Alternative to Pruned Nodes



Summary:

David Vorick, a developer, believes that the biggest barrier to more people running full nodes is the 100GB disk space required to store the full blockchain. Currently, the best alternative is to run a pruned node which stores only the UTXO set and throws away already verified blocks. However, this puts additional pressure on archival nodes, which need to pick up the slack and help new nodes bootstrap to the network. Vorick proposes an alternative to the pruned node that does not put undue pressure on archival nodes, called a "small node", which will eventually be shipped by default in Bitcoin Core. Small nodes only need to store about 20% of the blockchain, using Reed-Solomon coding to erasure code each block into 256 pieces that are 20% of the size of the block each. Each small node has a permanent index, and stores only the piece that corresponds to its index. The full block can be recovered when paired with any five unique fragments, allowing new nodes to recover the entire blockchain by connecting to six random small node peers. Connecting to just five small node peers provides over a 95% chance of getting five uniques, with exponentially improving odds of success as more peers are connected to. Vorick believes that improving the disk usage situation would greatly benefit decentralization, especially if it could be done without putting pressure on archival nodes. Small nodes would significantly increase the percentage of users running full nodes, and create a healthier overall network. While small nodes represent a non-trivial amount of code, Vorick believes that the result would be worth it.


Updated on: 2023-06-12T00:19:02.859440+00:00