I have recently been studying more in-depth how bitcoin actually operates, and I have repeatedly heard that the blockchain in its entirety is many Gigabytes in size. As such, how can the storage space taken up by end-user bitcoin clients by anything less than that, because, for example, satoshi him/herself could send you some bitcoins, and the system would need to reference some really early blocks to verify that transaction?

Essentially, could someone explain to me or point to a resource detailing why wallet clients only download the 'most recent blocks,' and how this cut-off is decided?

Most bitcoin guides assume every user contains a copy of the entire blockchain, but, in practice, that seems to be incorrect.

1 Answer 1


Assuming you are talking about a full node, It does indeed need to download the full blockchain, to verify it and build up a set of Unspent Transaction Outputs (UTXOs). But the thing is, once it's downloaded all those blocks, its not going to go back looking through them, it just uses the UTXO set to verify new transactions. All those old blocks are basically stored solely for sending to other nodes. So if we have a checkpoint at some block hash, we can say that all blocks before that are legitimate and stop storing them, just store the UTXOs, and then just keep the most recent blocks so we can still propagate them around the network. This greatly reduces the amount of disk space used.

Of course, there are also SPV nodes which just store block headers and rely on full nodes for specific transaction data, so they have blockchains in the megabytes rather than gigabytes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.