Let’s imagine Bitcoin has accomplished the unthinkable — it’s become the one true currency used for peer-to-peer payments around the world.

In this Bitcoin Valhalla, let’s imagine that all non-cash payments are conducted with Bitcoin. Instead of credit cards, people whip out theifavoritete Bitcoin hardware or mobile wallets in coffee shops and hair salons across the world. Just how many of these non-cash payments would there be in this perfect world?

Today, non-cash payments account for approximately 522 billion transactions per year worldwide, and that number seems to be increasing in quadratic fashion, meaning it’ll be a lot bigger by the time we get to Bitcoin Valhalla. There’s no predicting when exactly we’ll get there, so let’s imagine that Bitcoin has taken over as the dominant currency today.

Where we stand in terms of non-cash transactions across the world , source: worldpaymentsreport.com

Now of course, Bitcoin has to make sure its system can accommodate the enormous number of transactions here without bottlenecking. So let’s dive into the source code and flick the scalability switch that appeared to be there all along — let’s increase the size of the block enough to account for our 522 billion transactions.

Just How Big Should Our Block Be?

Let’s do some napkin math to see just how big our new block is.

522 billion transactions a year translates to 1.4 billion transactions a day.

This is equivalent to 9,722,220 transactions every 10 minutes, which coincides with how often blocks are published to the Bitcoin blockchain.

Assuming transaction sizes stay around the same size, at 250 bytes, this means that every block would hold about 2.4 gigabytes of data.

This transaction volume would generate about 350 gigabytes on the blockchain every day, or 127 terabytes every year.

For those who don’t know, the blockchain ledger is upheld and propagated by nodes, which are user machines that hold a copy of the current valid Bitcoin blockchain ledger. These nodes all work together to uphold the decentralized blockchain that we’ve come to love. Nodes receive new transactions from users’ wallets, have miners validate them, then receive mined blocks from miners to add to its ledger. The nodes then also immediately propagate these validated blocks out to other nodes across the Bitcoin network.

A visualization of how Bitcoin nodes work in harmony

Today, nodes validate and propagate approximately 1-megabyte blocks to other nodes across the world. According to this analysis about the effects of block validation on memory usage, the process of validating a single block on a node (i.e. serializing and hashing it) consumes about 1.25 gigabytes of memory and takes approximately thirty seconds. The analysis also claims that block validation times scale quadratically, and an eight-megabyte block would take approximately 150 minutes to validate. However, given only two data points, and for simplicity’s sake, let’s assume validation time and memory consumption scale only linearly.