|
January 31, 2014, 08:21:38 AM |
|
Hi,
Motivation: I run the original client since my first days, I have too many addresses in it and I want to keep using them. I have not found any quick and easy way to transfer my wallet to Multibit, so I need to stick with the original client. Every time I run it, it kill my old PC totally, disk is insane for about 5 minutes and I can do nothing. This is when the client starts, this is when it tries to sync with last two-three days of blockchain. It is very unpleasant. And I can't imagine what happens if a new user tries to get whole blockchain from the very first block. It must be insane.
Solution: For most uses of Bitcoin, you don't really need the full chain. Lightweight alternative clients are easy prove for the claim. They do not have the full information, however. The solution I can see, that would have much more information than lightweight clients and just little less than full-blockchain version would be to have blockchain snapshots. Let's say every 10000 blocks you can create a snapshot of all blocks except for e.g. last 1000. So if we are on block 200000 we create snapshot valid for the first 199000. The full blockchain contains every transaction that ever happened. The snapshout would contain only balances of all accounts. This could save enormous amount of data and most importantly it would extremely speed up working with the client. You would always have to work with a chain no longer than 10000. Everything else you would have in the snapshot. You still keep information about every account out there. You just don't have the history of how they get their funds.
My question: Why is it not possible? Or is it? I assume that if it would be possible, it would be done already, right? Or just why this is not implemented in the original Bitcoin client? It could be just a mode that you can turn on and thus save some disk space and most importantly thousands of disk operations and time.
Thanks for explanations
|