The day when a group of companies in the industry tried to take over the Bitcoin network: a great lesson for everyone.
Between 2015 and 2017, Bitcoin faced the greatest conflict in its short history: the Blocksize War. It was a dispute over changing the block size of the Bitcoin protocol to cope with the ever-increasing demand for transactions.
One of the epicenters of this clash was the New York Agreement on May 23, 2017, when numerous companies in the industry and influential members of the Bitcoin community reached an agreement on the issue of protocol scalability.
At the time of the Blocksize War, there were two factions with completely opposing views.
On one side, the “big blockers” wanted to increase the maximum block size of the blockchain from 1MB to 8MB or more, allowing the network to process more transactions per second and postpone the issue of high transaction fees resulting from network congestion.
On the other side, the “small blockers” were pushing for the adoption of the SegWit (Segregated Witness) soft fork, a protocol upgrade that would move transaction signatures to a different space in the block (called the “witness”), thus optimizing its usage. The small blockers argued that increasing the block size would centralize the network and make it more vulnerable to attacks. Larger blocks would make it harder for users to run a full node because the hardware and bandwidth requirements would become prohibitive for many.
SegWit would also introduce improvements to lay the foundation for the Lightning Network.
The core of the discussion between big and small blockers was the “Scaling Bitcoin” conferences. In September 2015, the first “Scaling Bitcoin” conference was held in Montreal.
The second meeting took place in Hong Kong on December 6. At the time, almost 70% of miners were located in China, which was one of the reasons for choosing the Asian region.
The conference was dominated by SegWit, initially proposed as a hard fork. A few months later, developer Luke Dashjr proposed SegWit as a soft fork.
Despite the majority of the community agreeing on the SegWit soft fork, during the Hong Kong conference, Jihan Wu, the CEO of Bitmain (a company that at the time produced ASICs with over 80% market share), opposed it. Jihan Wu wanted SegWit to be introduced only as a hard fork. The reason for this was due to something known as Covert AsicBoost.
Regarding why the CEO of Bitmain pushed to implement SegWit as a hard fork, on April 5, 2017, Gregory Maxwell later published an email explaining Covert AsicBoost: it was a method that allowed Bitmain to gain a competitive advantage over other miners without being noticed.
Maxwell realized that SegWit as a hard fork did not pose problems for Covert AsicBoost, while SegWit as a soft fork broke the ability for Bitmain to use Covert AsicBoost.
Additionally, Maxwell and two other developers discovered that the code used by Bitmain’s machines contained a remote kill switch called AntBleed, a signal that allowed Bitmain to remotely shut down all its ASICs.
The third Scaling Bitcoin conference took place in Milan, organized by Blockchain Lab. The discussion focused on the current state of the Bitcoin protocol, SegWit as a soft fork, and how to increase block size with a soft fork. Additionally, during the conference, the companies Acinq, Lightning Labs, and Blockstream, each of which had started developing their own implementation of the Lightning Network, gathered to agree on common interoperability specifications for opening channels and routing between different LN implementations.
Initially, these specifications were called the Milan Protocol, but were later renamed BOLT: Basis of Lightning Network.
In November 2016, Bitcoin Core version 0.13.1 was released, which included BIP-141, the SegWit code and the signaling mechanism for miners to activate the soft fork with a 95% consensus threshold.
On January 12, 2017, Charlie Lee, creator of Litecoin, decided to implement SegWit in Litecoin and initiated the activation process through the signaling mechanism, which did not succeed due to the lack of cooperation from Chinese miners. At that point, a pseudonymous Bitcoin developer, Shaolin Fry, entered the Litecoin chats and proposed an idea called UASF (User Activated Soft Fork). It was a soft fork that would be launched by the precise will of the users. By activating UASF on their full-nodes, users would give miners an ultimatum: signal the activation of SegWit or we will reject your blocks. With this move, Shaolin Fry scared the Chinese miners, and SegWit was activated in Litecoin.
To break the deadlock on SegWit activation on Bitcoin, on March 12, Shaolin Fry proposed BIP-148, a version of Bitcoin Core that planned to activate the SegWit soft fork by a certain date without waiting for miner signaling.
At this stage, the majority of Bitcoin Core developers were against UASF, considering it a risky idea. However, Luke Dashjr believed that the opinion that mattered was that of the users, and the miners would have to adapt to the new rules or see their blocks rejected.
BIP-148 gained support, and a movement formed in the Bitcoin community to back the proposal. Among the main supporters was Samson Mow, CSO of Blockstream at the time.
On May 23, 2017, during the Consensus conference organized by CoinDesk, a media company that at the time belonged to the Digital Currency Group, a U.S. investment fund managed by Barry Silbert, an agreement on the scalability issue of the Bitcoin protocol was announced. Specifically, during the opening of the conference, Silbert communicated that an agreement had been reached among all the major companies in the sector at the time to introduce SegWit as a hard fork without compatibility issues.
The companies that participated in the agreement included: CoinDesk, Bitmain, Blockchain.info, Bitcoin.com, Bloq, BitPay, Coinbase, BitFury, BTCC, Circle, Bitclub Network, Xapo, Ledger, Abra, and RSK Labs. In the following days, about 20 more start-ups from the Digital Currency Group’s portfolio announced their support for the agreement.
The agreement, which became known as the New York Agreement, proposed two things:
- activate Segregated Witness with an 80% miner approval threshold, signaling their adherence by setting bit 4 in the block header and writing NYA in the block headers;
- activate a hard fork with 2 MB blocks within six months through a proposal called SegWit2x and the new BTC1 client. Together with the discount on the witness part of the block, this would bring the block size up to 8 MB.
Naturally, the agreement was immediately and harshly criticized by a large part of the Bitcoin Core developers and the small blockers. Some called the New York Agreement a true “attack” on Bitcoin’s principles, accusing the signatories of attempting a maneuver to take control of the network for their own economic interests. Adam Back, CEO of Blockstream, declared: “It sets a terrible precedent that a small group of CEOs can get together in a hotel room and make a pact that they then try to impose on Bitcoin. That is no longer Bitcoin.”
During those days, James Hilliard, a developer and miner, published BIP-91, in which he proposed that the NYA members reach an agreement among themselves and then join the users who wanted SegWit as a soft fork instead of activating SegWit as a hard fork.
The discovery of Covert AsicBoost also created a lot of debate in the community: even several big blockers began to question Bitmain’s position and interests.
On June 5, the NYA group, led by BitGo CEO Mike Belshe, decided to accept the BIP-91 proposal but requested the activation of SegWit2x after the introduction of SegWit as a soft fork.
On July 21st, the 80% miner threshold was reached, and signaling for bit 1 began, which was the activation mechanism for SegWit as a soft fork.
Shortly after, the CEO of Bitmain published a blog post claiming that the agreements had not been honored and announced a UAHF (User Activated Hard Fork), which did not actually involve any users. Essentially, Wu’s post foreshadowed the birth of Bitcoin Cash on August 1, 2017: a split of the Bitcoin timechain with 8 MB blocks without SegWit.
Following the activation of SegWit, a strong movement against the SegWit2x proposal began to emerge within the Bitcoin community. The idea of performing a hard fork to accommodate the CEO of Bitmain under a supposed agreement was now out of the question.
During the Breaking Bitcoin conference organized in Paris by Kevin Loaec, facing strong opposition from users, some companies, including BitFury, Xapo, and RSK Labs, withdrew their support from the NYA group.
In contrast, without citing any controversy, Coinbase and BitPay sent emails to their users stating that if they did not download the new BTC1 software, they would fall out of consensus.
The email from BitPay angered French developer Nicolas Dorier, who, after a historic tweet, launched BTCPay Server.
Following the withdrawal from the agreement by several companies, on November 8, Mike Belshe communicated via email that plans for the SegWit2x hard fork were suspended. A few days later, some Bitcoin users and developers discovered a bug within the BTC1 code that would have crashed the entire Bitcoin network at the time of the hard fork.
If users had switched to the BTC1 software as proposed by Coinbase and BitPay, the Bitcoin network would have immediately collapsed.
This split demonstrated a fundamental lesson once and for all: in Bitcoin, it is the users who run full nodes that decide which updates to implement and the direction the network’s development should take. The New York Agreement, despite the support of numerous and significant companies, failed to impose itself due to the dissent of individual users.