I do coding and programming, so naturally I have to use the bitcoin client and bitcoind servers. I have found that the current 40gb size of them is actually too big, and it is increasing exponentially now. When it was 20gb, thats fine I guess, but having 40gb+ necessary space just to run the client, and you have to wait days to download it, thats when it starts to get hard to use for the average guy. To get a server from digitalocean that has this much space, thats 40 dollars a month. SSDs are optimal because of the constant reading and writing, but no one has ssd space for 40gb.
In the future, the blockchain will ONLY get bigger, and eventually something must be done about it. Maybe something like having the option to only save blocks if they have relation to you in the personal client. The entire blockchain is stored on bitcoin-qt, but is this really necessary? There is no blockchain search feature in the client, and having other people's transactions is useless to me and can't even query them.
I think that this number is getting too big, and it is increasing very quickly.
Blockchain pruning was added in bitcoin 0.11, but doesn't support wallet yet. Pruning is enabled with
-prune flag. (minimum allowed is 512 MB IIRC). It still needs to download the whole blockchain to validate it, so syncing takes time, but storage space is saved.
Here's an example:
$ (bitcoind -prune 4096&)
$ bitcoin-cli getblockchaininfo
{
"chain" : "main",
"blocks" : 372426,
"headers" : 372426,
"bestblockhash" : "00000000000000000380ecd0b5397445569a08eee5522dc786
622fe9551db586",
"difficulty" : 54256630327.88996124,
"verificationprogress" : 0.99998490,
"chainwork" : "00000000000000000000000000000000000000000009c057d121a7
a1f435110d",
"pruned" : true,
"pruneheight" : 365168
}
$ du -h .bitcoin/blocks
57M .bitcoin/blocks/index
4.0G .bitcoin/blocks
Full validating node with just 4 GB of blocks, nice eh?