In the summer of 2015, Mike Hearn, a Google engineer and bitcoin developer, launched Bitcoin XT, a new client proposing a new maximum block size of 8 MB. Although the new consensus rules would activate with the support of 75% of the hashrate, there was a high risk of splitting the network if not all nodes updated. The stated reason was that as bitcoin was gaining popularity, blocks were getting increasingly full and the maximum limit would soon be reached. To allow adoption as a simple and cheap payment method to keep growing, larger blocks were needed. Gavin Andresen, the developer to whom Satoshi had passed the torch as maintainer of the software repository just before disappearing, supported the adoption of the new Bitcoin XT client.

The Blocksize War

The entire community --- developers, miners, users, and entrepreneurs — soon split in two. On one side were those who believed a block size increase was necessary in the short term; on the other, those who thought larger blocks would impose greater hardware requirements for running a node, which would damage decentralization. The former would come to be known as Big Blockers and the latter as Small Blockers.

Although some of the Big Blockers themselves felt that Bitcoin XT was too large a change --- since it not only increased the block size to 8 MB but also proposed to keep doubling it every two years until 2036 — it allowed them to launch the debate about the need to increase the block size. The leading figures on the Big Blocker side were Roger Ver, one of the earliest investors in bitcoin startups, and Jihan Wu, CEO and co-founder of Bitmain, the largest manufacturer of mining hardware. Most mining companies, especially Chinese firms that held more than 60% of the hashrate, also wanted larger blocks. The Small Blockers, backed by prominent Bitcoin Core developers such as Luke Dashjr and Greg Maxwell, defended small blocks so that the cost of running a node would remain low, since for them decentralization was the paramount concern.

At a conference held in December 2015 in Hong Kong, Pieter Wuille, a Bitcoin Core developer, gave a talk about a project called Segregated Witness (SegWit). SegWit was a consensus rule change that fixed transaction malleability1 which would allow the Lightning Network to be implemented, enabling many transactions to be conducted off-chain. SegWit also increased the maximum block size (to nearly 4 MB), though it did so subtly via a soft fork --- that is, without requiring a forced update of all network nodes. This was a very important advantage for the Small Blockers, who rejected any hard fork because it implied forcing users to update.

In January 2016, Mike Hearn, frustrated by his failure to gain acceptance for Bitcoin XT, announced that he had sold all his coins and declared bitcoin to be a failed project. Shortly afterwards, another client was published --- Bitcoin Classic --- with a much more moderate proposal to increase the maximum block size to 2 MB, with Gavin Andresen as lead developer; this proposal found more acceptance among the Big Blockers than XT had.

In November 2016, Bitcoin Core released the version of bitcoin containing SegWit. The new consensus rules would activate once a supermajority of miners (95% of the hashrate) signaled readiness. But many miners understood this signaling as if it were a vote, and therefore believed that they --- the miners --- were the ones who set the rules, since they were the only ones who could vote. Led by Jihan Wu, they rejected SegWit, arguing it was too complex, though it would later be revealed that Bitmain’s mining hardware implemented a way to gain greater hashing efficiency by exploiting ASICBoost, an algorithm that would no longer work if SegWit were activated.

In 2017, the conflict reached its peak. More than six months after the software was released, the share supporting SegWit had not even reached 40%. In an attempt to resolve the conflict, in May a group of companies including the major exchanges, merchants, and most mining companies — accounting for more than 85% of the hashrate --- met in New York and reached an agreement known as the New York Agreement. The agreement proposed SegWit2x, which consisted of first activating SegWit and then implementing a hard fork that doubled the block size.

The Small Blockers rejected it not only because they did not consider another block size increase necessary after SegWit, but primarily because SegWit2x represented an attempt by elites to take control of the protocol. Although the initial cause of the war between the two sides had been block size, that no longer appeared to be the real issue. The real issue was control of the protocol, and the Small Blockers believed that bitcoin’s consensus rules should not be decided behind closed doors in a private agreement among a handful of companies. In their view, it was the users who should decide.

A developer operating under the pseudonym shaolinfry implemented a bitcoin client that, on August 1, 2017, would begin rejecting all blocks that did not signal readiness for SegWit. This was the UASF (User Activated Soft Fork) movement, and a significant number of users began running this software. Miners who were still not signaling readiness for SegWit, fearing their blocks could be rejected if they did not signal, began doing so, and SegWit was activated on the network on August 23rd. The UASF movement had prevailed, making it clear that it is the users who decide what bitcoin is.

Meanwhile, on August 1st, the Big Blockers, dissatisfied with the activation of SegWit, launched Bitcoin Cash --- a hard fork without SegWit featuring 8 MB blocks, supported by both Roger Ver and Jihan Wu. Although it achieved a significant share of the hashrate in the first few months, it gradually lost ground to bitcoin.

There still remained the resounding failure of SegWit2x, the software implementing the New York Agreement, planned for November but ultimately abandoned due to the obvious lack of user support. That put an end to a war that had lasted more than two years and demonstrated the power of decentralization. Those two years left us with an important lesson: It is the node users who decide what bitcoin is. Not the miners, not the developers, not the elites, nor any other group that can meet behind closed doors.

Set in Stone

After the Blocksize War, the claim that the 21 million limit could be changed seemed to have been definitively put to rest. But six years later, this argument returned to the anti-bitcoin stage following an interview with Jamie Dimon, CEO of JP Morgan, while he was attending the World Economic Forum meeting in Davos in 2023. Responding to a question about bitcoin, Dimon wondered who could guarantee that there would never be more than 21 million. He argued that although that is the limit written into the current software, six developers control the software, and someday it will be changed and more bitcoin will be issued.

Every year, more than two thousand members of the fiat system’s elite — heads of state and government, presidents and CEOs of major banks, pharmaceutical, energy, food, and technology giants --- meet in Davos to discuss the future of the world. Among other things, they tell us we should not consume much energy because it is bad for the environment, while they travel in private jets. It is no surprise that Jamie Dimon thinks he can change bitcoin’s rules, because he is accustomed to the fiat world in which a few dominate the rest, and as a member of the cantillon elite that runs the world, he does not understand bitcoin’s value proposition. Bitcoin is not valued because it uses cryptography, nor because it can process many transactions per second, nor because it is convenient to pay by scanning a QR code with a phone. Its value does not lie in using a blockchain either. Bitcoin is useful because it is a global “peer-to-peer” value transfer network --- that is, a decentralized one --- and being decentralized gives rise to certain properties that are highly valued by many people, such as resistance to censorship, confiscation, and devaluation.

Mr. Dimon does not understand that it is irrelevant whether six people control the code repository. In fact, it is not six people who can change the code --- anyone can change it. Even he himself could change it, if he knew how. He could fork the project and modify whatever he saw fit. What would change in bitcoin? Nothing, of course. If he and someone else decided to run that software, at most they would have created JamieCoin. Good luck convincing the more than one hundred million people who use bitcoin that JamieCoin --- controlled by him, with a monetary supply that he decides --- is now the real bitcoin. Good luck too convincing miners to spend millions of dollars in energy to mine his centralized JamieCoin. Saying that JamieCoin is bitcoin would be analogous to claiming that “lead is henceforth gold”.

And this is not because changes are made in a fork of Bitcoin Core rather than in Bitcoin Core’s own repository. If Bitcoin Core’s developers were to go mad or be bribed and decided to change the 21 million limit, nothing would happen either, because users would not run the new version. As the Blocksize War made clear, it is the users running nodes who determine what bitcoin is. The 21 million limit is one of the aspects that defines bitcoin in the same way that 79 protons in an atomic nucleus define gold. It is not possible to make a gold atom have 82 protons, because if it had 82 protons it would be lead, not gold. In the same way, we cannot change the maximum number of bitcoin, because if we do, we no longer have bitcoin --- we have something else.

Satoshi expressed the immutability of bitcoin in a famous 2010 quote published on the bitcointalk forum.

The nature of Bitcoin is such that once version 0.1 was released, the core design was set in stone for the rest of its lifetime.

— Satoshi Nakamoto

The 21 million limit is one of the fundamental pillars of the core design Satoshi refers to, and it will never be changed in bitcoin because it is impossible to get hundreds of millions of people who value decentralization, resistance to censorship, confiscation, and devaluation to voluntarily act against their own interests.

Footnotes

  1. It also fixed other issues and included Script versioning.