- Bitcoin’s block size is just 1MB, which has caused congestion on the network since January 2017
- The block size issue has caused a civil war that dates back to 2011
- Why does Bitcoin have a 1MB block size and why is it still there?
Anyone who has tried to transact on the Bitcoin network in recent years knows two things – it’s slow and it’s expensive. It wasn’t always this way of course. Back in its infancy when Bitcon’s blocks were largely empty, transactions were processed quicker and for a fraction of the cost of today. This is due to the network now being full, which started to happen in early 2017, but this is a feature not a bug – the 1MB block size limit imposed on the blockchain means that transaction queues are ever-present and transacters are left paying higher fees to get their payments through. But why does Bitcoin have a 1MB block size and why is it still there? Let’s find out.
1MB Block Size Cap Was an Afterthought
Bitcoin’s block size wasn’t, as many people think, baked into the protocol from the start. It was, in fact, something of an afterthought. One of Satoshi Nakamoto’s initial code reviewers, Hal Finney, realized almost at the last minute that sending Bitcoin out into the world without a block size limit could be detrimental in two ways – first, it would open the network up to spamming and DoS attacks, and second, the blockchain might become so large so quickly that node operators would struggle to find disk space to download it.
Ray Dillinger, who along with Hal Finney went over Satoshi’s “first cut” of the Bitcoin code, revealed in 2015 how the block size limit came about, saying that Finney suggested the 1MB block cap to prevent such issues:
Satoshi didn’t have a 1MB limit in it. The limit was originally Hal Finney’s idea. Both Satoshi and I objected that it wouldn’t scale at 1MB. Hal was concerned about a potential DoS attack though, and after discussion, Satoshi agreed. The 1MB limit was there by the time Bitcoin launched. But all 3 of us agreed that 1MB had to be temporary because it would never scale.
Dillinger added that several attempted “abuses” of the blockchain under the 1MB limit proved Finney right about needing the 1mb block limit at launch time, but then went on to say that the limitation could be lifted:
…blockchain bloat as such is no longer likely to [be] a problem, and the 1MB limit is no longer necessary. It has been more-or-less replaced by a profitability limit that motivates people to not waste blockchain bandwidth, and miners are now reliably dropping transactions that don’t pay fees.
In fact, the call to lift the block size limit had been discussed as far back as 2011 by developers such as Jeff Garzik, Gavin Andresen, and Mike Hearn, the latter of whom would go on in 2014 to create the first ever Bitcoin fork, Bitcoin XT, with an 8MB block size.
SegWit, the implementation of which in August 2017 led to the Bitcoin Cash hard fork, increased Bitcoin’s transaction block weight to 4MB, but the block size on the main blockchain has not increased from 1MB since it was first rolled out in January 2009. SegWit2x, which was supposed to double Bitcoin’s block size to 2MB, was abandoned mid-way through its implementation in November 2017 by a concentration of six individuals, including Bitmain co-founder and CEO of Bitmain Jihan Wu and Erik Voorhees.
Why is Bitcoin’s 1MB Cap Still There?
One theory behind why Bitcoin’s 1MB block cap persists is that Blockstream, which employs several key Bitcoin developers, has a vested interest in crippling the Bitcoin ecosystem because it forces people to use its other products, such as the Lightning Network, from which it takes fees. Were its developers to simply remove the block size cap then it would lose out on precious sources of funds.
These developers argue that even a modest increase to 2MB would double the Bitcoin blockchain size, meaning that node operators would today have to buy terabyte-size hard drives just for the pleasure of running a node, while the rate of increase would also double. The perils of this have been shown in the performance of the limit-free Bitcoin Cash fork Bitcoin SV, which has seen its node numbers plummet from around 650 in 2019 to around 40 today due to the limitations of running a node. This has seen only huge data centers able to cope with the demand, drastically limiting the decentralization on the network.
The counter argument to this is that verification of Bitcoin transactions can also be done by running a light client, or a wallet running Simple Payment Verification mode (SPV). This requires just a fraction of the resources to monitor incoming transactions, and offers the same security, since an SPV client is typically connected to a number of server. For example, Electrum, the most popular SPV client, connects to upwards of 10 nodes by default.
The Scaling Debate Will Rumble On
As we can see, the Bitcoin scaling debate, which has caused a bitter and contracted civil war and even led to lawsuits, has its roots in a last-minute consideration by Hal Finney and a three-way agreement.
Whether Satoshi Nakamoto explicitly intended the 1MB block size to be lifted when it was no longer needed is unclear as he never specified his wishes on this matter, but the fact that the protocol was ready to go without it suggests that is the case. On the other hand, Bitcoin was born with the 1MB cap and Satoshi never considered changing it before he left the project in December 2010, which is also important to note.
What we do know is that Bitcoin’s block size civil war will continue for as long as the on-chain fees remain as high as they are and the 1MB cap remains in place.