I have been using Bitcoin Core for some months. I need a fully fledged client as I want to help the Bitcoin network. But the blockchain is so huge. I'd love to see some other client, which highly compresses it.
-
It is not possible to "highly compress the blockchain" Because of it initial entropy– amaclinCommented Sep 15, 2015 at 5:04
-
For what its worth other cryptos can have parts of its block-chain "compressed". Ethereum being an example.– Gabriel FairCommented Nov 18, 2017 at 21:11
1 Answer
The Bitcoin blockchain is mostly comprised of signatures (mostly non-compressible) and hashes (non-compressible), there's some space to be gained by eliminating redundancies due to people re-using addresses but it doesn't seem to be worth the implementation cost. Using gzip -9
and zpaq -method 5
on the block files for example saves only about 20% of the total size, using a compression system with knowledge of the Bitcoin block format would do a slightly better job, but that's the sort of ballpark you would expect to see.
128M blk00318.dat
101M blk00318.dat.gz (30 seconds)
95M blk00318.dat.zpaq (5 minutes)
Even a 25% or 30% reduction in the size of the chain wouldn't allow for many more people to be able to run full storage nodes, the current growth rate (2GB per month for 400KB average blocks) would make it uneconomical again in a couple of months.
If you want to run a fully validating node to have a secure wallet or view of basic block chain data in small space, Bitcoin Core 0.11.0 does have a prune
mode which can run with as little as 1.5GB of consumption- but it won't be contributing to the network at when this option is set, and your wallet use will be slightly more constrained than normal. Beyond that there's little in the way of other full storage nodes with more compact disk footprints, at least for now, pruned nodes should be made significantly more useful to the network in the future.
-
I don't think there's support for on the fly compression in Linux in any capacity. To do this in the real world you'd need to do extensive modifications to the Bitcoin Core software in order, which is developer time best spent on improving pruned mode support and other scalability features.– ClarisCommented Sep 15, 2015 at 12:36