<p>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 <code>21M * 10^8 * 54</code> bytes, or about 113 petabyte (100 pebibyte).</p>

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

CC BY-SA 3.0
2012-09-09T12:58:00.760Z
2012-09-09T12:58:00.760Z
Pieter Wuille
<p>If blockchain pruning is implemented is there a theoretical upper limit on the blockchain file size?</p>

<p>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?</p>

<p>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.</p>

CC BY-SA 3.0
2012-09-08T19:19:57.020Z
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
CC BY-SA 3.0
2012-09-10T19:01:41.780Z
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
CC BY-SA 3.0
2012-09-11T23:32:37.260Z
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
<blockchain>
Upper limit on the blockchain file size with pruning?
kirian
# Upper limit on the blockchain file size with pruning?

(Asked by: username_0 on 2012-09-07)

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.

**Tags:** blockchain

> **Comments:**
> **username_1**: 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.  
> **username_0**: 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?  
> **username_1**: 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.  

---

## 1 answers

### Answer by username_1 on 2012-09-09. Score: 4 | Accepted answer

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


---

