Bitcoin Segwit2X, a (non-core) developer’s perspective

Yan Pritzker
Bitcoin, not Blockchain
6 min readOct 26, 2017

It’s almost mandatory these days to start with a disclaimer: I am not a paid shill. I do not work for Blockstream. I don’t work on Bitcoin. I don’t even work for a Bitcoin company. My only skin in the game is that I own a small amount of Bitcoin, and that I believe that Bitcoin can be a world changing technology. What I am, however, is an experienced developer, and so I write from that perspective.

Also, I could be totally wrong. If you disagree, please leave a comment, this is a censorship-free zone.

To start, let’s ask: what is the most important property of a network that currently stores about $100B of value?

  • Fast transactions / cheap transactions / ability to scale / world adoption.
  • Security as measured by hashpower — meaning, it would take a very large amount of resources to censor or double spend.
  • Security as measured by decentralization; note that you can have a high hashpower network that is highly centralized, for example in China, and thus subject to state coercion.
  • Security as measured by absence of bugs in the code.

The one property to rule them all is bug-free code.

A single exploitable bug in Bitcoin can result in the loss of billions of dollars, driving Bitcoin’s value to zero. To prove this, let’s take the opposite positions:

  • We have fast cheap transactions, world adoption, but there is a bug in the code that allows double spends. Value goes to zero.
  • We have extreme and highly decentralized hashpower. Every country in the world has tens of thousands of nodes. There’s a bug in the code that allows double spends. Value goes to zero.
  • We have slow and expensive transactions, user adoption is lagging, but the code is rock solid. No bugs. Value grows with adoption (fixed supply, increasing demand).

We cannot have world adoption unless the code is secure.

All discussions about centralized or decentralized hashpower are completely moot if the code is not secure. How do we get secure code?

Peer review. How do we know things are peer reviewed? Through an open process, anyone can inspect what goes on in Github. Let’s take a look. For those unfamiliar with Github, a Pull Request is something a developer opens up to get peer reviewed comments, and is later merged (made part of the official source code) by the core committers of the project.

Bitcoin Core (https://github.com/bitcoin/bitcoin/pulse)
This is currently the most popular client out there. Most people are running this as their nodes. 1 week snapshot:

Segwit2X aka BTC1 (https://github.com/btc1/bitcoin)
This is the repo that will be run by S2X (B2X) supporters in mid november. 1 week snapshot:

What does this all mean?

It is clear from github stats that btc1 is currently a repo with very little activity. While we can make justifications for this such as they don’t want to merge anything new from Bitcoin Core, which is under extremely active development, by any measure, activity is at a much lower level.

What does this mean? Less peer review, fewer committers, and therefore less secure. There is a higher chance that this btc1 repository contains bugs, than there is in Bitcoin Core.

This is simply the math of peer reviewed open source, regardless of what we might think of the merits of this hard fork, bigger blocks, or Jeff as a person.

Jeff Garzik (leader of btc1 repository), is also launching a project called Metronome which is a cross-chain token designed, ironically, to help with the “existential threats from forks, developer drama, and so on” .

So we have lead dev of the Segwit2x contentious hard fork, Jeff Garzik, launching a project that solves the problem of contentious hard forks. Incentives and intentions aside — and I assume only the best of Jeff since I don’t know him personally — this means at the very least he will be splitting time between these two projects, leaving no clear leadership in the btc1 repository (correct me if I’m wrong).

The battle for security must be won first, and then we can scale

Like many things in technology, usage often overtakes our ability to build to keep up. We are always duct taping things together just to serve the next order of magnitude growth in our userbase. Such is the life of developers, and we are comfortable with it.

The undertaking of Bitcoin must be taken more seriously. People’s livelihoods are at stake. We have the ability to truly change the world in significant ways. From feeding starving populations in hyperinflated economies to helping Afghan women achieve financial freedom, Bitcoin can truly be a force of good in the world.

We cannot change the world if the code is not secure through being reviewed by dozens of the world’s top crypto developers.

Nothing else literally matters. Not hashpower, not state actors, not the motivations of Blockstream. Not the speed of transactions, nor their cost. Not the amount of value currently “stuck” on the chain because it’s more expensive to move it.

It doesn’t matter which corporations have financial incentives to develop Bitcoin in one direction or another (surprise: there is always financial motive when you have a company, it’s called fiduciary duty).

For the religious: Satoshi’s Vision (whatever your interpretation of it), doesn’t matter either. Satoshi isn’t here, and if they were, they would be one developer of many. Satoshi didn’t write bug-free code. No one does. Only a community of highly active developers can protect us from loss of value.

It doesn’t even matter if the big-blockers are right, and the only way we’ll get world scalability is through gigabyte sized blocks. We’ll get there, if we need to, but only slowly and securely, by proving that this is a safe move that preserves the security of the network.

We will find creative solutions to all of these problems. But if we cannot develop a system that is a secure, bug-free store of value, it doesn’t matter if we can transact quickly, cheaply, or scale, because its value will be zero.

With that in mind, I support the highly active repository (Bitcon Core) maintained by the world’s best cypherpunks, over one with a handful of people who think bitcoin isn’t scaling fast enough.

Segwit2X is essentially the result of impatience and frustration with the “scaling debate” that has been going on for years. It is the result of a handful of companies thinking that Bitcoin is not scaling fast enough. Fast enough for what? For them to make more money?

Are we afraid of another altcoin that’s going to replace Bitcoin as a secure store of value? So long as we maintain the decentralized nature of the network and the highly active code repository, Bitcoin will win.

The two things Bitcoin has on all the other altcoins is history and a strong dev team. It has going on 9 years of being under attack from hackers, state actors, sybil (trolling/social engineering), and forking — of which Bitcoin Cash/Gold/Silver are just the beginning.

Nobody has enough trust in any other blockchain (and by that I mean trust in the bug-free nature of the code, and the decentralized nature of the chain) to put $100B of value into it. It will take a long time for that to happen. Not months, but years. And by that time Bitcoin will further grow its lead.

We have the time to figure out how to scale scientifically, carefully, and in a bug-free way. The longer we wait to scale, the more learning we do on the way, the more secure the code we write.

Acting haphazardly is a way to get bugs that drive value to zero. Without security, Bitcoin is a toy not worthy of its $100B market cap, and it will go to zero, as I expect will the value of the Segwit2X fork with no developer support.

Shoutouts

This article was inspired by this quote:
“There is no scarcity of miners. There is no scarcity of potential node runners. There is no scarcity of businesspeople to run wallets and exchanges. Highly capable developers are the scarce resource in cryptocurrency.”

--

--