The second phase of SegWit2x, where the maximum block size would be raised from 1mb to 2mb, was recently called off. SegWit2x is the result of years of feuding between two major camps in Bitcoin’s ecosystem. The feud revolved around how to scale Bitcoin; as network adoption increased, its abysmal transaction throughput became increasingly evident as transaction fees and first-confirmation times skyrocketed. One camp, consisting of miners and Bitcoin startups, prefers on-chain scaling while the other camp, consisting of Bitcoin Core developers, prefers off-chain scaling.

Here’s a quick summary of the two camps. The on-chain camp supports:

  • On-chain scaling through larger blocksizes and first-layer blockchain technology like Graphene or BitcoinNG
  • 1mb to 2mb maximum block size upgrade in SegWit2x
  • Bitcoin Cash

The off-chain camp supports:

  • Off-chain scaling by keeping the maximum blocksize at 1mb and leveraging second-layer blockchain technology like the Lightning Network
  • SegWit but not the 1mb to 2mb maximum block size upgrade

SegWit2x was supposed to be a compromise between the two groups. The upgrade consisted of two phases. The first phase involved adding the segregated witness technology (SegWit) to Bitcoin. Although SegWit slightly increased the maximum number of transactions per block by reducing transaction size, its main value proposition lies in setting up Bitcoin for off-chain scaling solutions like the Lightning Network. SegWit2x’s second phase involved on-chain scaling through increasing the maximum blocksize from 1mb to 2mb.

Although the first phase of SegWit2x was locked in and activated in August (meaning Bitcoin has SegWit now), the second phase hasn’t been activated and is scheduled to occur in November. That is, until last week when the on-chain camp suspended their plans for the 2mb upgrade.

This suspension was partly the result of pressure from a “NO2X” initiative led by the off-chain camp. Part of the initiative consisted of a Twitter campaign encouraging users to append a NO2X tag to their Twitter username as a show of defiance for the 2mb upgrade. I also noticed a strong push against the 2mb upgrade on major cryptocurrency subreddits, /r/Bitcoin and /r/cryptocurrency, as well as on several Western cryptocurrency editorial websites.

With the on-chain camp backing off the 2mb upgrade, it seems that the off-chain camp has won the scaling debate and successfully implemented SegWit on Bitcoin without a corresponding change in Bitcoin’s maximum block size. However, is this really good for Bitcoin? Does the off-chain camp’s success translate to Bitcoin’s success, or is this actually a veiled defeat for Bitcoin that has disastrous consequences.

Here’s why I think it’s the latter.

Hurt branding - almost childish refusal to implement a small network upgrade

This refusal to move forward with a simple 1mb to 2mb maximum block size upgrade emphasizes how childish this entire scaling debate has been.

When asked about the reasons to not increase the block size, pundits would give you answers such as a rushed hard fork, no replay protection, or more centralization. Not only are all these points moot (which I will address later), but why weren’t alarm bells raised immediately after the New York Agreement was signed! The NYA was signed in May of this year leaving so much time for the NO2X’ers to voice their concerns but they didn’t. Instead, they waited till after everything they wanted out of the compromise was in Bitcoin, namely the SegWit upgrade, when they decided to raise their concerns with SegWit2x’s second phase.

Here’s why this is wrong in so many ways, and why it ultimately hurts Bitcoin’s brand. First of all, SegWit2x was a formal agreement that was aimed at finally making peace between the on-chain scaling and off-chain scaling Bitcoin communities. This was supposed to be a kumbaya moment where everyone came together to make Bitcoin better. Instead, the off-chain camp decided to backstab the on-chain camp after SegWit was in Bitcoin. How shitty is that? And how terrible does this look on Bitcoin to outsiders? Not only that, but the off-chain camp is fighting against something so incredibly trivial it looks like they’re just trying to spite the other party. Let’s be honest here, a 1mb to 2mb maximum block size increase is a harmless upgrade to Bitcoin and it is definitely not worth fighting over.

Not only that, but the off-chain camp is fighting against something so incredibly trivial it looks like they’re just trying to spite the other party. Let’s be honest here, a 1mb to 2mb maximum block size increase is a harmless upgrade to Bitcoin and it is definitely not worth fighting over.

Even worse, the off-chain camp, after vehemently opposing increasing the maximum block size, doesn’t provide any immediate alternatives to alleviate Bitcoin’s ongoing network congestion. Yes, the Lightning network could make everything better, but when is it coming out?! In the meantime, what about existing Bitcoin users and businesses? With more than 100,000 pending transactions in the mempool, Bitcoin has become unusable. The off-chain camp doesn’t seem to be interested in improving Bitcoin right now, all they seem to be interested in is attacking and ostracizing the on-chain camp. Reminds me of high school politics.

The Bitcoin Cash factor

Nomenclature reminder: the on-chain camp supports on-chain scaling where every transaction is considered an important transaction, whereas the off-chain camp supports off-chain scaling where smaller transactions shouldn’t belong on the blockchain and should be offloaded to second layer systems. The on-chain camp supports Bitcoin Cash and SegWit2x while the off-chain camp supports SegWit, 1mb maximum block sizes, and second layer systems.

Bitcoin Cash is an initiative led by the on-chain camp. The blockchain was hard forked from Bitcoin in late August. Here’s my post on why and how Bitcoin Cash was created.

The circumstances of Bitcoin Cash’s creation was a bit weird. Prior to the Bitcoin Cash hard fork, it seemed that the on-chain camp would only move forward with Bitcoin Cash if SegWit2x was not going to happen, and at the time there definitely was a risk of it not happening. However, once it was practically confirmed that the first phase of SegWit2x was a go, the on-chain camp moved forward with Bitcoin Cash anyways!

In light of the 1mb to 2mb upgrade fiasco, it makes a lot more sense why the on-chain camp pushed so hard for Bitcoin Cash. Bitcoin Cash is essentially a hedge against the off-chain camp making power plays in Bitcoin, such as with their recent campaign to oppose the second phase of SegWit2x. Whatever happens in Bitcoin, the on-chain camp could still express their vision in Bitcoin Cash. Being a number 3 market cap coin, it poses a very real threat to Bitcoin. There is even a strong possibility that the on-chain camp relented on SegWit2x because they didn’t really need to care about the success of Bitcoin - Bitcoin could continue to experience scaling problems and the on-chain camp would still have Bitcoin Cash.

As of right now, it looks like Bitcoin Cash is set to improve at a significantly faster pace than Bitcoin. Its vision is clear, Bitcoin Cash will primarily scale on-chain with every transaction being an important transaction. Bitcoin, on the other hand, still has a split vision with the ongoing war between the off-chain and on-chain camps. While the off-chain camp might have scored a small victory with the cancellation of the second phase of SegWit2x, the on-chain camp still has a very strong foothold on Bitcoin.

The argument that increasing block sizes is bad for Bitcoin because it decreases decentralization does not make sense

The argument that increasing block sizes decreases decentralization simply does not make sense. The idea is that if you increase the block size, the blockchain will grow in size much faster than before resulting in a larger blockchain, which in turn makes it more expensive to operate a node.

This is stupid! First of all, just because you increase the maximum block size doesn’t mean blocks will automatically start being larger than before. Block size depends on the usage of the network, if very few transactions are in the mempool, than the next block’s size could be very small!

Second, if you increase the maximum block size and blocks do start being larger than before, that means that you’ve solved a problem! Transactions are being confirmed earlier than when you had a smaller block size. How is this ever a bad thing? This also means that the blockchain is seeing more use. By arguing that this is bad for Bitcoin is the same as arguing that Bitcoin is worse off the more demand there is to use it. It’s ludicrous! Stopping the growth of Bitcoin’s maximum block size is basically stopping the adoption of Bitcoin.

By arguing that this is bad for Bitcoin is the same as arguing that Bitcoin is worse off the more demand there is to use it. It’s ludicrous! Stopping the growth of Bitcoin’s maximum block size is basically stopping the adoption of Bitcoin.

Third, increasing the maximum block size from 1mb to 2mb will at most increase the growth rate of the blockchain’s size by 2. At 1mb blocks, the blockchain will theoretically grow by at most 53gb a year (1 * 6 * 24 * 365). At 2mb blocks, the blockchain will theoretically grow by at most 100gb a year. You can already buy 1TB SSDs today at around $250 a piece and storage and bandwidth costs are constantly decreasing. Going from a 1mb to 2mb maximum block size is not going to create a blockchain size problem.

SegWit2x shouldn’t need replay protection

Blockchains are vulnerable to a replay attack after a hardfork. A replay attack consists of replaying a pending transaction in the mempool that was intended for one child chain on the other child chain. For example, after the SegWit2x hard fork, people who held Bitcoin will have both SegWit2x and legacy chain coins. If a user decides to send someone their SegWit2x coins, a malicious actor could take their pending transaction in the mempool and replay it on the legacy chain, which will cause the user to unwittingly send their legacy chain coins as well.

Some people claim that the SegWit2x hard fork is bad because it doesn’t have replay protection. The problem is, it shouldn’t need to have replay protection in the first place. This is a simple modification to the maximum block size that will very clearly alleviate existing network congestion pains. Why is there ever a reason to support the legacy chain over the SegWit2x chain? Anybody who does is simply aiming to create more division within Bitcoin instead of helping it improve.

The 1mb to 2mb maximum block size upgrade has an immediate effect of alleviating network congestion in the short term. It comes with little to no downsides for Bitcoin. Why would anybody that has the best interest for Bitcoin support the legacy chain?

The 1mb maximum block size is an arbitrary constant

The 1mb maximum block size is an arbitrarily chosen number a long time ago by Satoshi Nakamoto to counter potential DDoS attacks and to maintain consensus. It’s not a magical, cure-all number that was chosen such that it would ensure decentralization by ensuring x-amount of people in the world can run full nodes.

Given that its an arbitrary constant, why should Bitcoin not increase the maximum block size to 2mb if its going to allievate network congestion? If the argument is that it would increase centralization, how do we know that the Bitcoin network is not already too centralized at 1mb? If increasing the maximum block size increases centralization, why do we not aggressively decrease the maximum block size… maybe to 0.5mb? Asking these questions should make one realize that its nonsensical to stick with the 1mb maximum block size.

1mb is not a magical number, it’s an arbitrary constant. Be flexible and reasonable.

If you’ve enjoyed this blog post…

You can support the author by tipping some Bitcoin Cash to this address 14UFeDBN54pUZTUeyqonpo4j195Q69RvnT.

Much thanks if you do, a lot of work and time was put into researching and writing the post.