Thu. Nov 21st, 2024

The block size wars were “fought” … but by whom? And what do we really mean by fighting?

This is an opinion editorial by Tomer Strolight, editor-in-chief of Swan Bitcoin and author of “Why Bitcoin.”

Part 1: Introduction

Words. How do you describe with words the things that we don’t have words for? Words describe things we’re familiar with. But we’ve never seen anything like Bitcoin before. That’s why it’s so hard to describe it. So we use metaphors, which are still just old words for other things.

The same is true when you yourself take part in something that’s never happened before — something that nobody’s familiar with. If you want to describe it, or even understand it for your own self, practically any word you use is just a metaphor. You have to stretch and bend the meanings of the words you do have and try to paint enough of a picture as to why they apply. But, if you’re going to be honest, you also have to paint the picture clearly enough to not confuse or mislead the people you’re communicating with. This includes yourself. It’s really easy to get misled when you don’t have the words to describe what it is you’re doing.

You have to count on metaphor after metaphor after metaphor. And then you have to take each metaphor apart. If you can. This is the only way I know of to talk about deep, close encounters with Bitcoin. At least it is in the present day.

It’s the only way to describe what I did — what we did — in what is now called the Blocksize War.

But let’s be clear:

I didn’t actually fight; not physically.
And it wasn’t actually a war; nobody died.
No bombs were dropped.
No bullets were fired.
No blood was spilled.
No land was invaded.

In this war, anyone could peacefully go their own way all by themselves at any minute, creating exactly the governing rules they wanted to follow — for themselves and for those who agreed with them at least. But we wouldn’t be using the war metaphor if that’s what anyone actually did.

So what did we fight over? Without metaphor? We were fighting — sorry, that’s still a metaphor over which set of rules, in cyberspace, to direct the overwhelming majority of real-world energy used to secure Bitcoin. It was a fight over what Bitcoin was and would be — in code, in energy and in the effects it manifests upon the real world — for centuries to come.

This was the first conflict of this type in history. We battled, not on a physical battlefield, but in cyberspace. Cyberspace — there’s a made-up word that couldn’t be more poorly named. One thing that doesn’t actually exist in cyberspace is space. At least that was true until Bitcoin came along and created the idea of blockspace. But that’s just another metaphor. And another story.

Anyhow, in this poorly named realm of cyberspace there’s no traditional space to fight over. But there are ideas. And this was ultimately a fight over an idea — a very sacred idea — an idea that we believed would project itself from cyberspace onto meat-space (that’s where we live). That is, this idea would project itself if we won this war. It’s an idea that actual, real-world, bloody wars have been fought over in the past. An idea that people have died for in the past and are always prepared to die for: freedom.

It’s probably only for that reason that we can still call this a war with a straight face. Because it was a fight for the cause of freedom.

We fought this war against people who didn’t care about freedom. We fought against people who didn’t understand freedom. We mostly fought against people who didn’t understand that this even was a fight about freedom. They thought it was a fight for their profit, or their market share, or their shot at wealth, fame and power.

But to us, we were fighting for freedom — even if we hadn’t spelled it out quite that simply for ourselves — with words. And it wasn’t just for our own freedom. It was a fight for the chance for freedom for others who hadn’t yet realized that there now was a way to project freedom from the cyber-realm onto the real world; people who would not realize that this was possible for a long time to come, but who might, eventually. But that could happen if, and only if, we won this war that didn’t look like a war to anyone but ourselves.

We weren’t fighting for power for ourselves — which is another thing that made this different from other wars. We were fighting to ensure that neither our current enemies, nor future ones, nor even we ourselves could gain power over this thing we were battling over — because we all believed that that was what was essential to bringing freedom to the world: a world that did not even know we were fighting for its freedom. We fought anyway.

To try to step back from metaphors, we believed that uncompromised and uncompromisable decentralization created unimpeachable justice and justice was where freedom needed to lay its roots — okay, sure, “roots” are another metaphor. We were fighting against people who didn’t understand the technological underpinnings necessary for those roots to spread.

These are the best words I can come up with for all that. Ask someone else who was there and they’ll probably use different ones.

Part 2: The Eve Of War

I for sure wasn’t counting on any war. I’d followed the progress and development of Bitcoin quite closely in those days. And we were filled with optimism about the rollout of a new feature that had taken years to develop and test. It was called Segregated Witness — SegWit for short. It was going to solve a bunch of challenges and enable the creation of the then yet-to-be-created Lightning Network. A smooth path to its activation had been planned so that everyone could prepare for it, signal their readiness and, in consensus, all activate it at the exact same time, which is what Bitcoin requires.

It all happened so fast. The upgrade process began innocently and peacefully enough. Miners were requested to signal their readiness for the change by flipping a bit in the blocks they found. I, like many others, was watching the miner-signaling stats for this activation. I expected them to quickly get up to nearly 100%. We needed them to get to 95% for activation to take place.

But that wasn’t what happened. Even after a couple of months of wishful thinking we found ourselves shell-shocked that these signals had stalled out at only about 20%. And it was around that time that our enemies revealed themselves and let us know we were under attack.

“Are these motherfuckers actually serious?” I asked others on Reddit regarding the miners’ refusal to signal for activating SegWit. Miners had been given a mechanism that was intended to allow them to signal their readiness to proceed, not to decide on whether or not the activation should go through! But they were exploiting the fact that never saying they were ready was effectively being given a vote or a veto. I didn’t need anyone to answer my question. It had already become clear they were plenty serious. “Fucking sons-of-bitches,” I thought. “Who the hell do they think they are?” I don’t usually swear that much, but this was so audacious and such a violation of the intent of the process that I couldn’t help myself.

On top of all that, they were fucking stupid. They were stupid because if they succeeded at this effort to blockade the will of users in Bitcoin, effectively taking over Bitcoin, they would have eventually destroyed themselves in the process too. If they succeeded they would then control Bitcoin and thus it wouldn’t be decentralized and thus it wouldn’t be worth sweet fuck-all. But they didn’t understand this, because nobody had ever seen anything like Bitcoin before and they thought it was like other things that had come before it. And they were focused on their short-term profit. But, if they were to succeed, their stupidity and hubris would destroy Bitcoin and their own stupid selves along with it and, more importantly, they’d take with them our dreams of projecting freedom. We had to stop them.

“Fuck this,” I said to myself, “I’ve been a fool once again.” I had naively thought that merely explaining to everyone the benefits of SegWit — that it would enable the creation of the yet-to-be-created Lightning Network, which itself would allow Bitcoin to scale to millions of transactions per second, would be sufficient to gain consensus. This explanation seemed especially straightforward since there was no serious alternative. The only alternative proposal was itself stupid. It was to double the blocksize, which would only double the transaction throughput to about a dozen transactions per second, while making it twice as hard to run a node to achieve that irrelevantly minor progress and that would damage Bitcoin’s roots of decentralization.

But it turned out there was plenty of stupid to go around. That stupid idea was the one that the miners who weren’t signalling for SegWit activation said they wanted instead of SegWit, despite not having raised any objections in the years leading up to this. What the actual fuck was going on? And what, I asked myself, if anything, could I do about it?

Part 3: Joining The Fight

I wasn’t anybody of note in Bitcoin at the time. I was however a very curious user who spent a lot of time studying it and thinking about it. Occasionally I posted comments on Reddit to clarify confusion or answer questions.

But this conflict brought out something more passionate in me. It stirred a calling to do more. I felt I had to rise to the occasion and at least do something — whatever that could be. These emotions I was experiencing were new and raw. Until this moment I hadn’t realized just how passionately I felt about Bitcoin. I had just taken for granted that bitcoin would grow over time, attract the best people in the world and steadily march towards replacing all the money in the world — or that it wouldn’t. But I didn’t expect that this outcome would have anything to do with my actions.

My main contribution to Bitcoin, I originally thought, if I was going to make any contribution at all, was not going to be anything more than perhaps finally getting a few friends to buy a coin or two. But now that I had already done that and some of them had skin in the game, the price was rising and it really looked like Bitcoin had a shot at sticking a boot up the ass of those other fuckers who were slowly destroying our civilization, I was being called to rise to the occasion, dammit, and I was not going to ignore the call.

So I volunteered to “fight” in the “war.” There was no army to join, though. No uniform. No commanding officer. No boot camp. No basic training. No ranks. I had two weapons — my words and my node — and the node wasn’t much of a weapon at all, not by itself at least.

“How do I help?” I asked on Reddit.

“Join the Bitcoin Core Slack” I was told. So I did.

I was not alone, it turned out. I was not even early. There were quite a few others there and it was a buzzing beehive of activity with messages flying back and forth at such a rapid pace it was hard to even figure out which ones were responding to which others. There was no welcoming committee. I tried my best to make sense of what was going on and to figure out what I could do. Most of what I asked or said was completely ignored. There was a war going on after all. Seems figuring out how to make sense of that stream of messaging and being able to join in the conversation counted as boot camp.

Those who joined before me had just come up with a bold plan to take on the miners. It was called the UASF — user-activated soft fork. It was going to take a major effort to succeed. We needed most real users of Bitcoin to run a software upgrade that was different from the Bitcoin Core release which was being run by almost everyone. That Core release was the one where the miners had taken advantage of the signaling mechanism to block the activation. This different release had one change. It would require miners to signal in favor of activating SegWit by its deadline. It was an ultimatum. If they failed to signal in favor, the nodes running the UASF would reject their otherwise valid blocks. This was a declaration of cyber-war — do as we demand or pay the ultimate price a miner can pay in Bitcoin — lose your block and more importantly its reward, which is all the money you get paid if you’re mining bitcoin.

I fell in love with this idea immediately; and when my first few questions were answered, I fell in love with it even more. Why? This plan was going to be a show of force of all us little guys demonstrating our conviction to the values of Bitcoin. And it needed to be shown now that these miners had signaled to us that they thought they were going to decide how Bitcoin worked. It was going to be a real-world test of decentralization. We would show them that the rules were up to the users of Bitcoin — not up to the Core developers or the miners or, as we would later find out, the corporations in Bitcoin. We were making the rules. It was a demonstration that users had to declare and enforce their values on the system. It was proof of decentralization, proof of conviction, proof of effort, proof of willingness to do whatever needed doing.

But it wasn’t going to be easy, in part because we really were decentralized. We were not some organized army of soldiers with commanders, organized into battalions and trained to fight a new kind of war that had never been fought before. We were just a group of individuals who cared enough about Bitcoin’s potential that we all had heard and answered the calling. But we also weren’t just going to do whatever someone else told us to do. We were fighting for freedom after all, not for choosing which leader was going to be the boss. So we each had to be convinced.

And then, there was the matter of what any of us could actually individually do to help. We all had different skills, we didn’t know what each other’s skills were. Most of us were even pseudonymous, not knowing who each other was in the real world. The UASF software itself was released by a pseudonymous persona who called himself ShaolinFry. Nobody could direct anybody else because nobody knew who anybody else was or what anybody else could do. So we each did whatever we could.

Me? I wrote. Nobody told me to. Nobody told me what to write. I just wrote what I thought would help.

I tried to write one post per day on Reddit. And spent the rest of the day answering questions, dispelling FUD, and also doing my fiat job when it called.

I think my most successful essay was one I wrote after establishing a little bit of a reputation as a knowledgeable commenter on the topic. In it, I likened running the UASF software to participating in a powerful economic boycott. Running UASF, I said, was threatening to boycott the blocks produced by miners that did not carry the “in-favor” signal for SegWit activation. That essay was as short as I could make it and a call-to-action for readers. It simplified things for many people who were curious but overwhelmed by the technicalities and details of how the UASF worked. Miners got paid by the Bitcoin protocol itself in the blocks they produced, I pointed out, and if the users of Bitcoin were not going to accept those blocks, those miners would not be getting paid. That, at least, was what we were threatening with the UASF.

Basically, I spent my time as an educator and a cheerleader for the UASF effort. Not really what you think of when you think of a fighter in a war. But that’s why these words don’t do a good job describing what went on. There were shills all over the place working for the other side. They mischaracterized practically every thing about every aspect of the battle. They piled lies on top of lies and it was much harder to explain why these were lies than it was to come up with them. And when they got blocked for lying they screamed out accusations of censorship. It was a shitshow. That hasn’t changed much though; it’s just moved from Reddit to Twitter, where it’s easier to individually block liars. But that’s another story.

The truth was, winning this fight wasn’t anywhere near as simple as just running software. The UASF was potentially only a bluff. If miners ignored us, we might ignore their blocks, but what alternatives did we actually have for keeping Bitcoin going without them? We would have to begin mining ourselves, and we had far less mining power than they did, which meant they could actually 51%-attack our chain, or simply ignore it, leaving us with very slow blocks for a long time until the difficulty adjusted, at which point they could again 51%-attack our chain. It was a game of bluffs on top of bluffs and threats on top of threats. It was a lot like the game of chicken, where two drivers race towards each other, the winner being the one who doesn’t steer away to avoid the head-on collision that would kill both of them. And that head-on collision was scheduled for Aug. 1, 2017. It was pretty scary, but also quite thrilling. There was plenty of big talk. But talk was just that — words. And this was going to come down to action.

Part of what I learned was that in the game of chicken, it really helps in winning if you have nothing to lose. That turned out to be the ace up our sleeve, to borrow a term from poker, a game where there’s a lot of bluffing and needing to put your money where your mouth is.

Part 4: Skilling Up And Self-Discover

For those of us fighting, thinking about the possible outcomes of the war was an incredibly instructive time to be in Bitcoin. It brought us together to carefully think through many scenarios and how each of them would play out. We had to understand exactly what would happen at the level of the code and what could or should happen at the social-human layer at each step of the plan. We weren’t field soldiers, it turned out; we were strategy analysts and intelligence agents. In retrospect, since Bitcoin’s building blocks are themselves products of intelligence agencies, I suppose this type of warfare was inevitable. It was somewhat surprising however that it wasn’t between nations, armies and their adversaries. Instead it took place outside their geographic jurisdictions — in that realm called cyberspace, and the adversaries were those who wanted to impose their control over that realm and their opponents, a rag-tagged bunch of pro-freedom misfits who kept their real-world identities secret.

Our war room was the Bitcoin Core Slack, and the battlefield was Reddit — particularly the r/bitcoin subreddit where there were now close to a million subscribers, with thirty thousand to forty thousand logged on at any moment.

The plan was far from a surefire success. It could easily have led to a long, drawn-out battle that would have worn down both sides and left Bitcoin as a messy and never-ending dispute that would prevent it from ever achieving any mass adoption — possibly forever. It was a deadly stand-off. Each of us threatening to destroy the other with no middle ground — one side would have to cave in to the other or we would both go down fighting.

Maybe, many of us thought, we were giving ourselves too much credit in even thinking that highly of our plan. What if the miners just dug themselves in and did nothing at all until after the SegWit activation window expired? If they kept on mining on the old, unchanged Bitcoin, might our UASF nodes be stalled or slowed long enough for people to forget about our movement? We weren’t sure who would declare that outcome a victory, because neither side seemed to want the status quo any more.

Aside from the technological and game-theoretic learning that participating in this war led to, many of us had also learned something about ourselves through this process. We learned that Bitcoin’s decentralization was so important to us that we were ready and willing to go down with the ship if that’s what it took.

After all, compromising on our principles guaranteed our dream of freedom through Bitcoin would never come true, and we were also pretty sure that bitcoin themselves wouldn’t be worth a lot of money if they were just some digital token controlled by some narcissistic jackass at some company — so we really did have nothing to lose. Maybe that’s what won this war in the end — that our enemies finally saw that we had nothing to lose and that we were ready, willing and able to take them down along with us. This was quite an irony because the whole thing began with their stupidity drawing us into a situation in which they would take us down along with them — and our response was instead to threaten to take them down with us. Quid pro quo. Tit for tat.

Eventually, at one point in this war it became clear why this controversy had started in the first place — why the enemy’s “leader,” Bitmain, had been opposed to SegWit. It turned out SegWit would disable a feature called “Asicboost” that they were secretly using to gain an efficiency advantage in mining. That’s yet another story, though.

Part 5: A New Opponent, A Change Of Plans

As the threat of this war leading to the potential destruction of Bitcoin escalated and the time drew closer to the deadline, the CEOs of the biggest companies in the Bitcoin ecosystem decided to step in. After meeting in private they announced their compromise which became known as the New York Agreement (NYA). The proposal was light on the technical details of execution because they were businessmen, not developers, but it called for both the activation of SegWit and a hard fork to two megabytes per block. These executives patted themselves on the back and declared their compromise a done deal. Kind of like how Western politicians orchestrate Middle East peace conferences and declare that they’ve solved the problems there, but never do.

We rejected this idea. We had dug our heels in on not expanding the block size any more (since SegWit already provided one), let alone by a hard fork which would break backwards compatibility for all existing users — another sacred principle we would not violate.

The leaders of the corporations thought we were zealots. “Why not meet the miners in the middle?” they asked. We would after all get our precious SegWit, miners would get the bigger blocks they claimed they wanted and everyone could be happy. The CEOs hoped this would shut us up. But it only made us more zealous.

On principle alone, we could not let this happen. If we did, it would mean that corporations could take control of Bitcoin, and that therefore it was not a user-led movement — they were in fact just doubling down on the stupidity that had outraged us enough in the first place to create, run and implore every user to run the UASF.

This was a big strategic shift — our enemy had gathered many more allies on its side and had thrown us a bone: SegWit would be activated. We had to ask ourselves many questions: Is this actually a victory for us? Or, is it a partial victory and partial loss? Had we won, but become so zealous, emotional and dogmatic that we wouldn’t consider anything but our original demands as acceptable? Or, were we in fact highly principled and uncompromising fighters for decentralization? Was there even a difference between these interpretations?

Despite our emotions intensifying, to outsiders our position in this war was looking bleak. We now had the miners and the corporations against us. But outsiders weren’t the ones fighting this war and they had no fucking clue how our conviction was our greatest weapon.

This compromise being offered to us both tested and tempted each of us individually to accept it and publicly exit our virtual foxholes to declare that we found the offer acceptable — to wave a white flag of surrender. It was amazing to me how tightly we held ranks in the face of the temptation of not having to fight anymore. But we did hold tight. We each personally understood what was at stake. Only one developer (not a very good one) crossed “enemy lines” to develop the code to implement the NYA.

Part 6: How To Win At The Game Of Chicken

After the announcement of the NYA, some exchanges, most notably Bitfinex, began trading claims on the new yet-to-happen possible forks of Bitcoin. Here you could deposit one bitcoin and receive a claim on both a SegWit-only coin and a hard-forked coin called SegWit2X. You could then sell one of these and buy the other on the open market. If you believed that one was going to succeed and the other fail, this was a chance to bet on the future outcome by dumping the loser and buying the winner in advance. This created an opening for a daring strategy for either side.

Here we were, the users, locked in a game of chicken with the biggest miners and corporations in Bitcoin. We were threatening to ignore the blocks of miners who didn’t signal support for the activation of SegWit. They were now threatening to abandon mining the original Bitcoin and only mine their hard-forked chain with two-megabyte blocks. Who would blink first? Who would steer away? Who would chicken out?

It turns out there is a way to win at the game of chicken. What if one driver could prove to the other that he had no ability to turn his steering wheel? This would then result in the other driver knowing that he could no longer expect to win. His only two choices would be to simply pull over and live, or go straight on into the head-on collision and die. In the game of chicken this can be achieved by one driver pulling off his steering wheel and holding it out the window so his opponent can see it, and then flinging it away to the side of the road.

Something analogous to this was what these Bitfinex derivatives became.

If you sent your bitcoin to Bitfinex and then sold down your position in the S2X hard fork to zero units and used it to buy the UASF token, you were effectively guaranteeing that you’d never accept the hard-forked version, because you were shedding your economic interest in it before it ever came into existence. You were eliminating your ability to “economically” turn away from your commitment to UASF in this game of chicken. And you were doing it in a way that your opponent could see what you were doing.

Quite a few participants in this war took up this strategy. They were now no longer just potentially bluffing. They had shown their cards, played their hand, shot their load — whatever metaphor you want to use. They put their money where their mouths were and now risked losing everything if the corporations actually succeeded in draining the SegWit-only version of Bitcoin from its support and hash rate.

Interestingly, these corporations, who had far more wealth, did not put any of their money where their mouths were.

Part 7: A Strategic Blunder And The First Victory

Remarkably, or perhaps not, the corporations and miners made a huge blunder when they finally announced the implementation details of their NYA proposal. Maybe they didn’t understand how things worked in Bitcoin at all or maybe they were incredibly arrogant, thinking they’d already won this war when we were all still fighting it. Maybe they were just lazy or too timid to do anything that would work.

Either way, when they finally got around to announcing how they planned to implement the NYA, the signatories to it proposed letting SegWit activate as originally planned, by the miners doing what they were originally expected to do — signaling to active it before the deadline — and then, a few months later, having the hard fork take place. A few months later? Come again? What?

This apparently seemed “sensible” to them. Idiots. It actually meant complete, unconditional victory for us.

I remember the moment they announced this plan. Instantly, those of us who had been spending all our time on the UASF channel of the Bitcoin Core Slack were in shock, because we all knew that this was it — we had won — suddenly and unexpectedly. The war was over: SegWit would activate on schedule and we would all just completely ignore the hard fork a few months later on. While miners could prevent a soft fork like SegWit from activating, which is what we were fighting against — and what they had now agreed to give us — there was no way they could force a hard fork on users. We had seen how hard it was to get users to run a soft-fork client, and a hard fork would require EVERY SINGLE USER to run its software — these were completely impractical and impossibly stupid expectations. But you see, we had direct experience of what was going on and what was actually hard or easy to do in real life. The executives only knew what it was like to meet in a hotel, order food and alcohol, and declare a false consensus.

By giving us what we had been fighting for all along, when we wanted it, and then also giving us the opportunity to reject their hard fork, which we rejected on both technical and moral grounds, they had handed victory to us.

“What did we miss?” we were asking ourselves on Slack.

“We just won!” others were quickly coming to realize.

“Are they so stupid as to think we’ll run a hard fork, or that any users will?” began the questions.

It was really unclear how such a blunder was possible. But here it was, and we didn’t even have to declare victory — we just had to let them follow their plan, which amounted to doing what we had originally all wanted, followed by them trying to do something that none of us wanted and was almost certain to fail.

We quietly rejoiced.

When the actual time finally came for the hard fork to launch, the corporations had themselves withdrawn support for it. Basically nobody was supporting it and the code turned out to not even be properly written. Anyone who had been running the NYA code as an experiment noticed that it stalled on the block on which it was meant to activate. But little attention was being paid to it because the war switched fronts to a different attack long before this date.

Part 8: The Sneak Attack

Not every corporation and miner was stupid enough to think this stupid NYA plan might work. Some were smart enough to realize this, but remarkably, dumb enough to formulate a plan that would, in time, completely ruin them.

The leader of Bitmain, Jihan Wu, and the owner of the bitcoin.com-url and self-proclaimed Bitcoin Jesus, Roger Ver, saw the writing on the wall for the hard fork, and Wu secretly wanted to prevent SegWit from activating anyways so he was only hedging his bets on NYA. He and Roger could see that the NYA was dead in the water.

They hatched a plan to launch a different hard fork of Bitcoin than the one in the NYA. This one would not activate SegWit, but would activate at the exact same time as SegWit, to create maximum confusion. Instead of SegWit it would have two-megabyte blocks — and anyone who had any bitcoin, would have the same amount of this coin, which they named Bitcoin Cash.

It was quite sneaky and deceptive, and got off to a promising start because Wu mined it and Roger supported it financially, with both his clout and marketing resources. Ultimately it too failed. But it also represented an airdrop of coins that many could, and did, trade for real bitcoin. Both Wuand Ver suffered tremendous reputational and financial losses over the long term. And for those of us who fought in the war and got to dump this shitcoin for real bitcoin it amounted to our war pay, even though all bitcoin holders could make the same trade too.

Closing: Lessons Learned

If you’re still here, thanks for taking the time to hear me out. This is the best account I can give with the words we have.

In the final analysis, I think we learned some important lessons:

  1. As long as Bitcoin has supporters who are uncompromising on its principles and who never become complacent, Bitcoin will remain something worth fighting for. And if it’s worth fighting for it will have uncompromising supporters. That’s a virtuous circle that might just last forever.
  2. As Satoshi himself showed, you don’t need the blessing or permission of the rich and powerful to be free.
  3. There’s strength in numbers.
  4. Don’t try to fuck with Bitcoin or Bitcoin will fuck you up badly.

Peace out. Never stop fighting for what you believe in. See you out there in cyberspace.

This is a guest post by Tomer Strolight, editor-in-chief of Swan Bitcoin and author of “Why Bitcoin.” Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc or Bitcoin Magazine.