What really happened with Segwit2x

tl;dr

Items covered:

  1. The play by play of what went down after the 2017 Consensus Conference in NYC from my perspective
  2. My thoughts on why Segwit2x failed to get a block size increase

/tl;dr

Some time has passed between the failure of Segwit2x in the summer and autumn of 2017 and the time that I am writing this. I thought that waiting to detail these events was a good idea so that I could get some space and let things fall into proper order in my head. I did not want to be overly emotional in my retrospective.

Before I get into this, I must say that I’ll be leaving names out for what, I think, are obvious reasons. Part of this has to do with me providing a troll shield for these people and the other part is that I think one or two of these people just completely blew it and caused the whole thing to fail before it even got started. I don’t see a reason for calling them out by name.

Additionally, I am no longer working for BitPay, so I now have a bit more freedom to speak candidly about things. I don’t speak for BitPay, past, present or future. To put a fine point on this, while in the employ of this company, I was asked by the CEO to allow him first right of refusal on anything that I intended to publish regarding cryptocurrency. Further, his answer was almost certainly going to be “no”. This may sound a bit harsh, but I appreciate the directness of this approach. There was no ambiguity about how he felt. I honored this request, but now I can talk about things. I care deeply about the people who work at BitPay and I wish them the very best in the future. I do not wish to harm their business in any way. I am just some guy talking about stuff on the Internet.

This tale begins right after Consensus 2017 in New York City. The so-called “New York Agreement” was the hot topic. The agreement came out of the utter desperation to keep Bitcoin viable against the competition from other cryptocurrencies. Blocks were full and it was clear to me that people are attempting to do real business on the Blockchain and being turned away because of massively high fees. Although I was a software developer, I was asked to work the BitPay support queue. This was a very good experience because I was on the front lines of real people actually trying to buy things with Bitcoin. I ought to say “trying” to buy things with Bitcoin because a lot of the time, they simply could not. The fees reached hundreds of USD for a simple 400 byte transaction. But, the real travesty was some customers had, effectively, no funds available to be spent. The reason, as it turns out, is that the amount of Bitcoin in each one their unspent transaction outputs was lower than the appropriate miner fee needed to spend that particular output. In other words, if your Bitcoin balance is 1 BTC, but that 1 BTC is made up of 100 separate incoming payments (each 0.01 BTC); if the miner fees are more than 0.01 BTC, your entire wallet is unspendable until the miner fees drop to below 0.01 BTC. Even then, only the difference between the miner fee and 0.01 BTC is spendable to your payee. At the height, nearly 60% of all Bitcoin unspent transaction outputs were unspendable.

The NYA was a very pragmatic plan, it focused on scaling Bitcoin in the immediate and long term. I personally felt that the businesses and individuals operating the actual network infrastructure were fairly dispassionate about steering the future of Bitcoin. Companies like BitPay just wanted to serve Bitcoin’s users by making transactions easier and less expensive. It was amazing to see the responses from some in the media regarding this point. You would have thought BitPay was a giant global leviathan bent on destroying Bitcoin. In fact, we were less than 30 people and we were really hurting due to high fees. When we had company meetings about what could be done about fees, I made pleas that BitPay ought to start accepting Litecoin. I was rebuked in no uncertain terms for being disloyal to Bitcoin. BitPay was, and will always be, the largest Bitcoin booster. It was horrible to read anything to the contrary in the media. The leadership at BitPay was very careful not to take sides until the Summer of 2017 and when a side was chosen, it sort of a milk toast side, at best.

Be that as it may, a developer at BitPay and I were tasked with coordinating Segwit2x along.

My own feeling was that some people in the community were focused too intently and for too long on the wrong problem. Almost 2 years prior, in 2015, we could have raised the block size constraint with almost no fanfare and learned quite a bit in the subsequent 2 years. When block space became an issue in late 2016 and into 2017, we would have quite a bit of the best kind of data; data from the actual network. Then in 2017, we would have known what further size increases were possible. In the interim, the community could have been debating how to make Bitcoin fungible.

I had the pleasure of spending 3 or so hours with Adam Back in the summer of 2016 discussing these very things. I found Adam to be extremely pleasant and easy to talk to. Adam was in Atlanta pitching “Liquid” to BitPay. I was not interested in Liquid and it did not sound like the other people in the meeting were either, so we spent the balance of the time discussing scaling Bitcoin, the Lightning Network and Ethereum. Adam surprised me when he was fully negative regarding the Lightning Network. He was concerned that there was no way to share liquidity between nodes facilitating transactions.

Back to the compromise. The small blockers would get the activation of segregated witness (segwit) that they have been coveting for seven months and the big blockers would get a doubling of the block size from one to two megabytes (technically from 1,000,000 bytes to 2,000,000 bytes). Segwit2x was conceived.

You might be asking: How is it that things can get done in this way, isn’t Bitcoin supposed to be decentralized?” Like Bitcoin Core development agreeing on feature A or feature B, the parties in the NYA would agree to alter the Bitcoin software for a very specific set of features and then make that software available to the general public as an option. No one was required to run the software that we produced, but if they did, it would signal support for the plan.

My personal feelings on segregated witness was that it should have been a hard fork as Peter Wuille first intended. Soft forks are almost always underhanded and sneaky. See Jeff Garzik’s talk on this. My thoughts on increasing the block size were neutral aside from the fact that they ought to be done in a hard fork. As far as I knew, we really don’t know what the maximum block size ought to be given the current level of technology, but suffice to say it is greater than one megabyte (technically 1,000,000 bytes).

My colleague and I at BitPay were in agreement that if Segwit2x were demanded by the signatories, then we should do it like school kids on the playground trading marbles for candy, everything done at the same time. Neither side trusts the other, so the moment we activated segwit, we would institute the block size increase with the hard fork. But, if this were the case, we might as well do all the segwit changes as a hard fork. Others at the company felt like the hard fork should come later. The consensus was that segwit should be activated before August 1, 2017 and the hard fork should come three months hence.

It was at this point that I knew the 2x part would never happen.

The companies party to the agreement are real, working businesses with high stakes if something goes wrong. The chance that any party would lose their nerve at the last minute was very high. But, nevertheless, we did what we were asked to do and we learned a lot. It was not a waste of time. I wished that it wasn’t BitPay that actually lost their nerve and it wish it wasn’t 2 days before the hard fork was supposed to happen. C’est la vie.

As we activated segwit on August 1, our hopes that Segwit2x would hard fork in November were further crushed by the birth of of Bitcoin Cash. The miners spoke with a vote of no confidence in the hard fork ever happening. They would rather fork a whole new currency than bet their future on one controlled by the wrong people (more on this in a bit).

From August 1 to mid-November there was this onslaught of media around the impending hard fork. It was bewilderingly one-sided. I am not sure where the other side got the money to fund those campaigns, but they did not feel to be organic to me. I don’t have any evidence either way. What was clear was that, although there was to be a “corporate take-over of Bitcoin” there was almost no press pushing the hard fork. You’d think that such corporations would have funded some sort of ad campaign. I knew the truth that the Segwit2x side was just a bunch of Bitcoiners from the old school that happened to have small businesses related to Bitcoin. There were no private jets or yachts. Most of the people I came into contact with worked non-stop on their businesses and were excellent boosters for the entire cryptocurrency space.

It was also around this time that stories started circulating that Bitmain, a very large mining company, started funding research and development of Bitcoin-related companies. This was really encouraging news as far as I was concerned. Alas, Bitmain was getting maligned, uniformly, in the cryptocurrency press.

I never understood this mentality regarding Bitmain. If you enumerated the actions of Bitmain over the years, their contributions are astounding. Their investors have pumped hundreds of millions of dollars into building the core infrastructure of Bitcoin. I could never have dreamed that a company like Bitmain would have been a reality even a generation into Bitcoin’s lifecycle, yet here they are. They are clearly invested in Bitcoin and I don’t feel like this is a negative thing. This hate for Bitmain, quite possibly, comes from the same place as the Social Democrats disdain for billionaires like Howard Schultz. I hope to understand this train of thought in the future, but right now, it looks like a bit of jealousy.

I thought it was high time that some in the Bitcoin mining community realized that they ought to be funding Bitcoin’s development. It is THE MINERS who should be funding the build out of Bitcoin’s infrastructure. The miners have the correct incentive structure to maintain the long term viability of Bitcoin. If they don’t do it, others will happily do it…

When limped along from August 1st to the day Segwit2x was cancelled testing the network, reaching out to anyone who would listen and attempting to combat the bad press. There were many interesting conversations during this time. Since I am not naming names, I will only say that this is where I learned the most about what not to do to arrive at consensus. Bitcoin has a very special relationship with how one goes about changing the core protocol. We arrived at one of ways that doesn’t work. I wish that I could tell you that the good guys won that round and that the cryptocurrency community knows a lot more about scaling Bitcoin through proper network consensus mechanisms, but that just isn’t the case. What I learned was that those with the best marketing, but also with certain personalities won that war. I believe, eventually, the best tech wins, but you don’t always get the best tech along the way. I’ll write more about where I think Bitcoin goes from here.