I was going through this week’s Optech newsletter and I came across Lucas Lima’s proposal on delving Bitcoin which essentially explains how
fountain codes could help pruned nodes contribute to Initial Block Download (IBD).
One of the major drawbacks of running a pruned node is that while it saves storage space, it can’t help new nodes with IBD because it no longer has the complete blockchain. If more pruned nodes could contribute to IBD, the burden of storing and serving historical blockchain data won’t fall entirely on archival nodes
The core concept of the idea is that instead of storing every old block, a pruned node would store encoded pieces called
droplets. Now a new node will not need all the original pieces, it will only need enough droplets collected from different peers to reconstruct the original data.
Lucas wrote a
Blogpost explaining the proposal in more detail for anyone interested in the technical side of it.
While the proposal is interesting it also comes with some
trade offs. Developers have pointed out concerns that the proposal would require multiple connected peers to function, compared to a single archival node. There are also concerns about slower IBD, possible node fingerprinting, a larger DoS attack surface and more computational power will be required to encode and decode droplets.
What do you think? Should more responsibility for helping IBD be distributed across the network, even if it introduces additional complexity?