On Overconfidence

On Overconfidence

The BIP110 debate has raged for eight months, and both camps keep pressuring me to pick a side. I get it. If BIP110 is existential, which both sides insist it is, then rallying people to pass it or kill it becomes a moral duty. I still refuse. Not because neutrality is the safe spot, the cowardice I’m accused of, but because I have good reason. This article is that reason. A binary view of this question is corrosive, and the worst of its effects is that it sets the stage for centralization.

In this X post, I said I don’t know the consequences of BIP110. Plenty of people called that incompetent, cowardly, or both. Others praised it as humility. It’s neither. It’s just true. I don’t know the consequences, and here’s my claim: neither do you.

Overconfidence

Arguing on the internet is annoying for a lot of reasons, but the worst is the certainty. Everyone is dead sure of their position. The reason is simple: people believe the argument that sounds more confident. Over time this has ratcheted up until total certainty is table stakes for any argument at all. In person, certainty is harder to fake. Body language, tone of voice, a pause in the wrong place, all of it leaks the doubt most people actually feel. Online, words are easy to compose, and it’s easy to sound like you know when you don’t.

This produces some terrible arguments, and certainty about consequences is the worst of them.

If you’ve studied dynamic systems, you know they’re exquisitely sensitive to initial conditions. A tiny change at the start can produce wildly different outcomes. The popular version is the butterfly effect: a butterfly flaps its wings and six months later the weather turns on the other side of the planet. Science fiction writers use this to show that small acts have big consequences. From a complexity standpoint, that’s not the useful part.

The useful part is that you can’t tell what’s going to happen. It’s why weather forecasts fall apart past two weeks. Weather is a dynamic system, and dynamic systems don’t let you see far ahead.

So when I say I don’t know the consequences of BIP110, I mean it. I don’t know, and I don’t think anyone can know short of running the experiment, because Bitcoin is a dynamic system too. It has feedback loops, interdependent variables, and behavior that resists modeling.

Looking Back

Take the last soft fork, Taproot. It was in the works for years, and plenty of very smart people implemented it and predicted how it would get used.

One predicted use was social recovery, which is using Taproot to back up your coins with help from your friends. The people making that prediction knew Taproot inside out. They were wrong. Five years on, I’m not aware of a single consumer wallet doing social recovery with Taproot.

What actually happened, nobody saw coming. Inscriptions, ordinals, BRC-20. People used Taproot to stuff junk into the blockchain. There were also more positive developments like BitVM and Ark. These are second-order consequences, and no one predicted them before Taproot shipped.

If we look back at Segwit, no one predicted the deluge of fork coins that would emerge in late 2017 and early 2018. Nor did anyone predict that BCH would emerge or be adopted by Bitmain or that Craig Wright would join them and then split from them and then decide to sue Bitcoin Core devs leading to the resignation of the lead maintainer.

Epistemic Humility

I’m not fence-sitting, I’m telling the truth. We don’t understand the full consequences of what we’re doing, so we should move carefully and slowly. I’m wary of soft forks in general for exactly this reason because the second and third order consequences are things we keep failing to predict.

A hallmark of centralized systems is that they pretend to know what can’t be known, namely every consequence of a policy. It’s the hubris that drives legislators to pass law after law, certain they’re doing good because their intentions are good, even when the results are bad. Hayek called it the “Pretense of Knowledge,” and it’s the conceit that makes centralization possible. If people really grasped dynamic systems and how hard second and third order effects are to predict, they’d want fewer laws, not more.

That’s exactly what’s happening here, and people understand other peoples’ pretense of knowledge well enough when it suits them. BIP110 advocates demanded it from Core devs over the elimination of the OP_RETURN standardness rules, which was then walked back to a changed default. Now the same demand runs the other way regarding BIP110. Each side claims it knows the consequences and the other side doesn’t. The truth is that nobody knows them, least of all the second and third order effects.

People also paper over their ignorance by appealing to intentions. We want small miners to get as much fees as the big miners get. We want CSAM off the blockchain. Fine intentions, both. But intentions don’t make good law. Austrian economists have known this for a century, and you don’t have to look past socialism’s many failed runs to see why.

The Decentralized Way

If we shouldn’t make large changes, what’s the alternative? A decentralized one. Instead of one policy for everyone, we decide one person at a time. Centralization means surrendering your self-sovereignty and letting some other entity decide for you, usually with a single rule for all. That road leads to surveillance, restriction, confiscation, and worse. More laws don’t make a better society.

Decentralized law has a far better track record. English Common Law is the classic example. Nobody legislated it. It changed one case at a time. Consensus emerged and norms shifted, but slowly. That’s why I favor a policy-based approach over a consensus-based one. Consensus changes carry all the second and third order risk I’ve been describing. Policy is each node deciding for itself.

BIP110

So is Jimmy against BIP110? Against soft forks in general?

My stance is that Bitcoin is money and that money is best when it changes very little, which is why I’m an ossificationist. Related to that is my position on soft forks which is that it’s fine for bug fixes and security improvements. That includes removing op codes almost nobody uses. I’m for simplification and for shrinking Bitcoin’s attack surface. Does BIP110 qualify? I can’t tell. Read it one way and it shrinks the attack surface: less arbitrary data, smaller blocks, cheaper nodes, more of them. Read it the other way and it’s a policy preference smuggled into a hurried consensus change, something even the proponents half-concede when their own FAQ admits spam is best fought with filters, not forks. Both readings are honest. I can’t decide between them, and saying so isn’t a dodge. It’s the truth.

Here’s the part I want to be careful about, because it’s the whole point of this essay. I’m not for BIP110. I’m also not for stopping it. Those sound like the same refusal, but they’re not. To be against activation, I’d have to know the chain is better off without it, and I don’t. To be for activation, I’d have to know it’s better off with it, and I don’t know that either. The boosters are sure it saves Bitcoin. The loudest opponents are just as sure it wrecks it, with their warnings of chain splits and frozen coins. Both are predictions about a dynamic system, which is to say both are guesses wearing the costume of fact. I won’t join either side, because joining means claiming a certainty that I’ve spent this whole essay arguing nobody has.

What I will do is defend the attempt. There’s a camp that sees unrestricted data on chain as existential, a slow poison that prices out node operators and turns the world’s money into the world’s hard drive. I don’t share their certainty, but a UASF is exactly the tool a decentralized system hands to people who feel that way: users asserting that they, not miners, are the final authority over the rules. Telling them they aren’t allowed to try would be the centralizing move, the one this whole essay warns against, and it would mean pretending I know their stand is wrong. I don’t. They have every right to make it.

And they’re going to make it no matter what I say. The signaling is live, the software ships, the block heights are set. My declaring for or against changes none of it. So the real choice in front of me was never activate or don’t. It’s fight the attempt, bless the attempt, or watch it. I choose to watch, because however this resolves, we learn something valuable we currently don’t know.

That’s the one thing I’m actually sure of. If BIP110 stalls at single-digit signaling and dies, we learn how a hostile UASF fails and what it takes to kill one. If it activates, we learn what it takes for a soft fork with significant opposition to succeed. Either resolution clears a patch of the fog.

The Honest Position

The pressure to declare for or against assumes one side can see the end of this from the beginning. Neither can. The boosters are guessing and the doomsayers are guessing, and dressing a guess in confidence doesn’t turn it into knowledge. That’s the conceit that builds central planners: the pretense that the consequences of a policy can be known in advance, when the whole lesson of dynamic systems is that they can’t.

So my honest position is the one I started with. I don’t know the consequences of activating BIP110, I don’t know the consequences of blocking it, and neither do you. I’m not for it and I’m not against it. The only thing I’ll commit to is the process: the people who think the stakes are existential have the right to make their case to the network, they’re going to make it regardless, and watching how it plays out is how we learn. We’ll know what BIP110 does to Bitcoin when it plays out, one way or the other. Until then, anyone who tells you they already know is selling the same false certainty that builds every system Bitcoin was made to escape.

Write a comment