Categories
Bitcoin

The Bitcoin Scaling Problem In A Nutshell (Explained Really Simply – So That Anyone Can Understand It)

The size of the entire Bitcoin blockchain grows at a pace of approximately one additional megabyte of data (known as a block) every ten minutes (and has done since it began way back in 2009) — making it (so far) approximately 500GB in size (so half a terabyte, i.e. 0.5TB).

The 1MB block size allows Bitcoin to handle approximately 7 transactions per second (for comparison, Visa can handle about 25,000 transactions per second).

If we double the blocksize, we double the number of transactions per second, BUT in doing so, we also have to grow the overall size of the Bitcoin blockchain at double the speed (i.e. 2MB every ten minutes rather than by just the current 1MB every ten minutes — with a corresponding increase of another 7 transactions per second to 14 transactions per second).

If we double it again, from 2MB to 4MB, this gives us 28 transactions per second (‘TPS’ for short).

As mentioned above, the Bitcoin blockchain began in 2009, making it, so far, approximately fifteen years old.

Let’s see how changing these two figures: blocksize and transactions per second (TPS) would have influenced the overall current Bitcoin blockchain size over the last fifteen years (assuming Bitcoin would have been running at full capacity all along, i.e. that all blocks would have been full from the start — which is highly unlikely but let’s make this assumption just for the purposes of this illustrating the point I’m about to make: we’ll come back to this assumption afterwards).

Doing some (don’t worry) very simple doubling maths:

Blocksize: 1MB, TPS: 7, Current overall size: 0.5TB.

Blocksize: 2MB, TPS: 14, Current overall size: 1TB.

Blocksize: 4MB, TPS: 28, Current overall size: 2TB.

Note: at 2TB this is about the size of the hard drive in a high-end Macbook laptop.

Blocksize: 8MB, TPS: 56, Current overall size: 4TB.

Blocksize: 16MB, TPS: 112, Current overall size: 8TB.

Blocksize: 32MB, TPS: 224, Current overall size: 16TB.

Blocksize: 64MB, TPS: 448, Current overall size: 32TB.

Note: we’re still only at a pretty patehtic 448TPS, but we’re already at an overall blockchain size of 32TB!

Blocksize: 128MB, TPS: 896, Current overall size: 64TB.

Blocksize: 256MB, TPS: 1792, Current overall size: 128TB.

Blocksize: 512MB, TPS: 3584, Current overall size: 256TB.

Blocksize: 1024MB, TPS: 7168, Current overall size: 512TB.

Blocksize: 2048MB, TPS: 14336, Current overall size: 1024TB.

Blocksize: 4096MB, TPS: 28672, Current overall size: 2048TB.

OK, we’re finally about as a fast as Visa, but look what we’ve done to the size of the overall Bitcoin blockchain: an absolutely monster 2048TB (terrabytes!)

Ok, that’s pretty big you say, but so what? Well, in order to mine Bitcoin (remembering that without miners, there is no functioning Bitcoin protocol, i.e. without miners Bitcoin dies), a miner has to have a hard drive that stores the entire Bitcoin blockchain on it.

And here’s the problem in a nutshell: the cost of a hard drive of this size (or multiple hard drives to equal this size) is so enormous that the number of people (which at this point would have to be companies/institutions rather than people) that could afford it wouldn’t be very many — and with only a handful of companies (perhaps eventually only a few companies/institutions) able to be miners, Bitcoin would nolonger be decentralized.

Why is Bitcoin decentralization so important?

Because this is what makes Bitcoin, well: Bitcoin. It’s the decentralized nature of Bitcoin that gives Bitcoin its security. Without decentralization, Bitcoin can be controlled, corrupted, changed or even (effectively – given enough centralization) destroyed!

At the point where we left our above example however, at an overall blockchain size of 2048TB, the problem isn’t just the size and prohibitive cost of the hard drive required that is an issue, it’s also the bandwidth (think of bandwidth as internet speed) required to both download this much data in the first place — AND ALSO, as if all of that isn’t enough, it’s also the bandwith required for each miner to download each individual new block (which in our above example is now approximately 4GB PER BLOCK!) within the ten minute block time (note: miners can’t start mining a new block until they have downloaded the previous block).

And this is all just to match the speed of Visa!

If Bitcoin is to be used as a daily-use currency by hundreds of millions (perhaps billions) of people, it would eventually need to do many many more transactions per second than Visa.

Oh boy!

Simply by increasing the block size, this just isn’t feasible!

Now, for completeness: back to our above initial assumption that Bitcoin would have been running at full capacity all along, right from the start. This is very clearly a false assumption. However, what if we assumed that Bitcoin had this kind of huge capacity right from the start, but blocks were not full from the start, how long would it have been until blocks had become full? Five years? Ten years? Fifteen years? If we assumed the speed of Visa now, from today, the same above-shown problem still exists: it’s just delayed by five, ten or fifteen years. Evenutally, if/when we assume Bitcoin speeds of 25,000 (or even 50,000 or 100,000) transactions per second, we run into exactly the same kinds of problems.

Any questions?

Leave a Reply

Your email address will not be published. Required fields are marked *