Keeping the Community Together
From the beginning, Segwit2x was designed to keep the community together. The team never wanted to see a chain split — we just wanted better on-chain scaling via the same mechanisms that had been discussed for years. By the time Segwit2x was forged, the community had already been struggling for years to approve any form of on-chain scalability at all — including Segwit itself.
To break the impasse, the Segwit2x team put together a commitment to accomplish both the Segwit activation and a 2MB upgrade. This was not a “compromise”. To the contrary, these are just two examples of optimizations for better Bitcoin scalability. We don’t need to choose one exclusively over the other — we can choose both. And when we think about the vast number of people that we all hope Bitcoin will eventually support — it is clear that neither Segwit nor a 2MB upgrade nor both of them will be sufficient to fully scale the blockchain. In fact, we will need many future improvements — most of which probably haven’t even conceived yet. Like many software projects, Bitcoin’s scalability will come in phases (with consensus!) rather than with a single, silver bullet.
From the implementation side, we chose to implement the 2MB upgrade with surgical precision to be a lightweight endeavor that would keep everyone on the same network and activate quickly. This was accomplished by restricting changes to the block format (1MB -> 2MB), and leaving transactions unchanged. By doing so, 99.5% of nodes on the network would not need to be modified. Segwit, by contrast, does incur a transaction format change. As such, every wallet, application, and node wishing to benefit from Segwit needs to change. To date, even 2 months after Segwit’s activation, blockchain capacity has only increased by approximately 6%. When the 2MB increase rolls out, it will instantly, overnight, double on-chain capacity. And it will do it in a way which doesn’t require the wallets or applications to change. They just need to do what they always have— follow the longest chain.
To fully understand why this is such a good approach, you need to understand the types of nodes on the Bitcoin network. There are only two types of nodes on the peer to peer network: full nodes, and SPV nodes. Both types play an important role in the ecosystem, and both were originally described in the original Satoshi Whitepaper. Today, there are about 8,500 public-facing full nodes, ~90,000 private full nodes, and about 15,000,000 SPV nodes. With the 2MB upgrade, we do need all full nodes to update to the 2MB software, since they do verify the size of the block. However, the SPV nodes work without alteration. They work today as Bitcoin clients, and they will work tomorrow as Bitcoin clients — on the longest chain. To put this in perspective, Segwit2x, having the sufficient mining support, is compatible with these nodes:
Opponents of Segwit2x have lobbied hard for something they call “replay protection”. They gave it a good name, and it sounds like something that protects us. It is well intentioned, but it is a misnomer when it comes to Segwit2x. Because Segwit2x is designed to keep the network together, it doesn’t change the format of the transaction. However, replay protection requires changes to the transaction format, which would mean that all of those SPV nodes which are currently compatible with the upgrade would instantly be incompatible. In other words, “replay protection” would completely divide and split the network.
Segwit2x is a very small, surgical fix to address one issue: scalability. While the debate rages on about process and politics, the facts are simple: we can keep the community together and we can increase the blocksize. Miners are currently signaling for Segwit2x support at levels of ~85%. While we don’t know exactly how things will play out in November, things are looking good. This is a simple change and we will all benefit.