With all this fuzz going around for a while about block size and if on-chain scaling is “sustainable”: Let’s calculate the actual cost of storing a single bitcoin transaction – to eternity.

Assume you buy a coffee today for bitcoin. The transaction is about 250 bytes in size.

How much does this cost to store for one year for a single node? In order to not bother about hard disk replacements, failures and whatnot, we will just take the price of cloud storage in Amazon/Azure, which is currently $0.025 per GB and month.

250 bytes is 2.5e-7 (or 0.00000025) GB. So the monthly cost is 6.25e-9 USD for storing your transaction. That amounts to 7.5e-8 USD per year.

For the ones involved in financial/NPV calculations, you might know the next step, for others it might be a bit hard to explain in depth. Let’s just say this: to finance the storage space for a single transaction, you can buy a Perpetual Bond, which is a bond that gives annual interest and has no maturity date. I.e. after purchasing it today, you can finance the storage space forever. Cool! So what would be the price of buying such a bond today, that gives an annual return of 7.5e-8 USD per year?

Before we can answer that question, we need to figure out what the interest rate would be for such a bond. I will use the interest rate of a 30-year US Treasury bond as an approximation (it’s a good approximation as well). It’s around 2,8% today.

The formula is thus: 7.5e-8 / 0.028 ~= 2.68e-6.

Now this is the cost for a single node. Now we just need to multiply this by the number of nodes storing the transaction to get the total cost for all nodes. For example, there are currently around 11 000 nodes on the bitcoin network. This would yield a total cost of

2.68e-6 * 11 000 ~= 0.0295 USD.

TL;DR: The total cost of storing one bitcoin transaction forever on-chain for all nodes in the current network is 0.0295 USD (in today’s USD value). This is also assuming the cost of storage is constant to eternity, i.e. a VERY conservative assumption (=the cost should actually be lower).

If you find any of my numbers “wrong”, please run the calculations yourself and see what you come up with!