Bitcoin Forum
May 06, 2024, 07:25:51 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Why does not original Bitcoin client support blockchain snapshots?  (Read 667 times)
bitdude (OP)
Sr. Member
****
Offline Offline

Activity: 277
Merit: 254


View Profile
January 31, 2014, 08:21:38 AM
 #1

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
1714980351
Hero Member
*
Offline Offline

Posts: 1714980351

View Profile Personal Message (Offline)

Ignore
1714980351
Reply with quote  #2

1714980351
Report to moderator
1714980351
Hero Member
*
Offline Offline

Posts: 1714980351

View Profile Personal Message (Offline)

Ignore
1714980351
Reply with quote  #2

1714980351
Report to moderator
1714980351
Hero Member
*
Offline Offline

Posts: 1714980351

View Profile Personal Message (Offline)

Ignore
1714980351
Reply with quote  #2

1714980351
Report to moderator
Whoever mines the block which ends up containing your transaction will get its fee.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714980351
Hero Member
*
Offline Offline

Posts: 1714980351

View Profile Personal Message (Offline)

Ignore
1714980351
Reply with quote  #2

1714980351
Report to moderator
1714980351
Hero Member
*
Offline Offline

Posts: 1714980351

View Profile Personal Message (Offline)

Ignore
1714980351
Reply with quote  #2

1714980351
Report to moderator
wumpus
Hero Member
*****
qt
Offline Offline

Activity: 812
Merit: 1022

No Maps for These Territories


View Profile
January 31, 2014, 09:31:12 AM
Last edit: January 31, 2014, 11:50:10 AM by wumpus
 #2

The reference client is a full node. With being a full node comes the responsibility of storing the entire block chain.

New users should use a SPV client such as multibit or electrum. This is also what is recommended on bitcoin.org. SPV clients only store the bare minimum that is necessary and can be used even on mobile devices and other bandwidth or storage-limited scenarios.

Maintaining a full node is for enthusiasts that want to support the network.

A half-node that uses a fixed amount of disk space for storing (for example) only the last N blocks in a circular buffer is currently not possible, it would require changes to the P2P protocol to be able to signal that limitation.

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
bitdude (OP)
Sr. Member
****
Offline Offline

Activity: 277
Merit: 254


View Profile
January 31, 2014, 10:24:56 AM
 #3

Its more about the disk operations to be done, rather than disk space.

Thanks for explanation of the protocol problem!
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!