Upper limit on the blockchain file size with pruning?

4

1

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.

kirian

Posted 2012-09-07T21:31:02.103

Reputation: 3 179

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 2012-09-08T19:19:57.020

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 2012-09-10T19:01:41.780

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 2012-09-11T23:32:37.260

Answers

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).

Pieter Wuille

Posted 2012-09-07T21:31:02.103

Reputation: 54 032