4

If blockchain pruning is implemented is there a theoretical upper limit on the blockchain file size?

My thinking is something like with "pruned" blockchain you only store the details of the unspent bitcoins, so even if every satoshi was sent to a unique address then the file to store this information would have a finite upper size limit. Is this correct? And ballpark what file would the file size be?

If there is a reasonable upper limit and with likely continuing reduction in storage costs (i.e. Kryder's law, similar to Moore's law but for storage) then the criticism about the size of the blockchain file may become irrelevant.

  • As transaction outputs are allowed to have amount 0, there is unfortunately no upper bound. That is one of the reasons for making such outputs non-standard in 0.7.0. – Pieter Wuille Sep 8 '12 at 19:19
  • OK, thanks for that clarification. Can we assume that in the future all outputs will have non-zero outputs after the 0.7.0 changes? – kirian Sep 10 '12 at 19:01
  • Non-standard certainly doesn't mean outlawed. It just means that an (unmodified) reference client will not relay or mine such transactions, but if some miner puts it in a block, the network will accept with without problems. – Pieter Wuille Sep 11 '12 at 23:32
4

Assuming all remaining transaction outputs are 0.00000001 BTC (1 satoshi), with one single ouput per transaction left, and all assigned to standard pay-to-pubkey-hash addresses, I'd say the minimal upper bound on the pruned blockchain size is 21M * 10^8 * 54 bytes, or about 113 petabyte (100 pebibyte).

The 54 bytes per transaction, is calculated as 32 txid bytes, 1 info header byte, 1 byte to store the amount, 20 bytes to store the pubkey hash (address).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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