Small Nodes: A Better Alternative to Pruned Nodes



Summary:

A proposal by David Vorick to reduce the disk space required for running a full node by storing only 20% of the blocks has been met with criticism. Gregory Maxwell, a Bitcoin developer, suggests that 20% is too low and will not be sustainable as the blockchain grows in size. Instead, he proposes using forward error correction (FEC) codes, specifically Reed-Solomon codes, to allow nodes to store only a few blocks while still being able to recover missing data when needed. He also suggests that nodes should keep a deterministic random subset of blocks that is self-leveling based on a small seed. However, there are concerns about decoding time and complexity and the proposed solutions do not address the issue of incentivizing seeders to store the extra data.The Bitcoin-dev mailing list discusses the proposal of Eric Voskuil to improve the scalability of Bitcoin by allowing pruning of old transactions. The idea is to allow nodes to delete old, unspent transaction outputs (UTXOs) from their hard drives while still retaining a cryptographic proof that these UTXOs existed in the past. This would reduce the storage requirement for running a Bitcoin node and make it more accessible to individuals who cannot afford expensive hardware or cloud services.Some concerns were raised regarding security and reliability, but supporters argue that Ethereum already allows miners to pick the state with almost no depth required, and this has not caused significant issues. One commenter suggested running nodes on cloud services such as Digital Ocean or AWS, but Voskuil argued that this would not improve security, reliability, or network capacity. In addition, fast storage on these services can be expensive. Another concern was fingerprinting, which is unavoidable, but can be made inconsequential by making transaction announcement more private.Voskuil's proposal is compatible with committed filters, and nodes may have the option to choose between different levels of pruning, including pruned + recent two weeks of blocks, 20%, 40%, 60%, 80%, and 100% (archive).


Updated on: 2023-06-12T00:23:07.255259+00:00