Wouldn't it be theoretically possible, to just cut everything older than say 4 weeks from the blockchain?

What use does transaction data from 3 years ago have anyway? Isn't it also safer in terms of NSA (and the like) activities, if transaction data is just gone after 4 weeks?


3 Answers 3


The blockchain must record all events because that transaction that happened 4 years ago might not be sent. What bitcoin does is they subtracted the total recieved from the total spent to get your balance. If they dont have the total received it will fail.

I hope i could help you out.


There are a few reasons why this isn't done:

  1. You could no longer have a client verify, starting with the genesis block data hardcoded into it, that the entire blockchain is valid. It'd have to trust that the peers it's connected to are telling the truth that, "the blockchain up to 4 weeks ago is this".
  2. You'd have to store the balances of all addresses in the genesis of this blockchain in order to do that. This isn't something the blockchain is set up to do.
  3. The Bitcoin client already trims data (after verifying it) that has already been used and is no longer necessary, to save memory.

No. Bitcoin's blockchain solves the double-spending problem with the proof-of-work. They key of this is that nodes only accept the longest blockchain, or the one with most work put into it, as valid.

If the blockchain were cut every 4 weeks or so, you would have many short chains. How would you reach consensus in the network on which chain to use? Miners could easily build chains longer than 4 weeks using the past chains, and overwrite the current one with new transactions. Enabling them to double-spend and completely invalidate transactions on other chains.

Essentially there would be no way to reach consensus on the chain to use. Currently the consensus is reached by using the longest chain.

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