Came across a proposal in the latest Optech newsletter from Lucas Lima about Bitcoin. He talks about how fountain codes could let pruned nodes help with Initial Block Download, or IBD. Right now, pruned nodes save space but can’t assist new nodes since they lack the full blockchain. If more of these nodes could help with IBD, it would ease the load on archival ones.
Can Pruned Nodes Help New Nodes Download the Blockchain?
8 replies 440 views
But like, is this a solution to a problem that doesn't even really exist yet? Nodes used to be super resource-heavy, but with cheaper computers and better internet, they aren’t as bad now. Plus, I worry that pushing more stuff like this might just make people less interested in running full nodes, which isn’t good for decentralization.
It sounds interesting, but I’m not sold on how practical it is. A new node would have to grab pieces from a bunch of different nodes to rebuild the blockchain. If you try to cut down on the number of nodes, each one has to hold bigger pieces. More storage needed, right? And with prices for RAM and storage going up, running a node ain’t cheap.
Why not just sync the whole blockchain from the get-go? Pruning is great for saving space, but I don’t see how it helps other nodes sync. Plus, if you start sharing snapshots, the one receiving it has to verify it against the actual blockchain data anyway.
I run a pruned Bitcoin node alongside a Monero node, and I don’t buy into this idea that pruned nodes can help with IBD. Running a node contributes in different ways. Like, my nodes work with BTCPayServer, and that’s actually helped me find and fix some bugs in their software.
This blog mentions that pruned nodes don’t just hold the latest blocks but also random sets called ‘droplets’. It’s not about skipping verification, it’s about giving those nodes a bigger role in IBD. Right now, they only relay the latest 288 blocks, even though they can store more.
Oh okay, that clears things up. I initially thought new nodes still had to verify everything from those droplets, which seemed kinda pointless compared to just downloading the whole blockchain. But I see it now, pruned nodes save on space while still validating the chain.
Your point about discouraging full nodes is valid, but this isn’t meant to replace them. It’s about sharing the workload since the blockchain keeps growing. When you look at it long-term, storage needs are definitely an issue.
This whole thing seems to assume there's a bandwidth shortage for new Bitcoin Core nodes. Personally, running my node, I’ve uploaded over 2.5 TB in just two months. I set my upload limit pretty high, and bandwidth from other nodes isn't the issue when syncing. So honestly, I don’t see the need for this proposal.