Reaction to: why-bitcoin-unlimiteds-emergent-consensus-gamble

Wouter Schut
6 min readFeb 3, 2017

--

This is a reaction on the article “why-bitcoin-unlimiteds-emergent-consensus-gamble” by Aaron van Wirdum.

As with many articles and comments by Core supporters this article isn’t factually incorrect, but it still misses the mark completely. It is like saying “electric cars are unsafe because they can crash”. Which is technically true, but it clearly doesn’t make electric cars less safe than their ICE counterparts.

Aaron van Wirdum seems to have a large status quo bias. But not in a realistic sense, but more in a code-is-law-sense-with-warts-and-all-to-infinity-and-beyond. Although, that’s a strawman, I don’t actually know what Aaron is suggesting as an alternative to emergent consensus.

Emergent consensus

Let me first get one thing out of the way: Emergent consensus isn’t something invented by Bitcoin Unlimited. It is an inherent property of Bitcoin. If SegWit ever gets activated, then that too is emergent consensus. No two ways about it.

And the alternative to emergent consensus is central control. Nothing more, and nothing less.

Someone will now be quick to point out “but at least SegWit has a clearly defined activation percentage, that is much safer than Bitcoin Unlimited!”

But that is entirely rooted in the idea of not trusting the majority of miners. And if that is the case Bitcoin has already failed.

Activation %

Newsflash: A majority of miners can activate SegWit at any percentage above 50%. Just like Bitcoin Unlimited. To argue a fork with an activation % is safer is like telling miners to act in a certain way, because you don’t trust that they will, then trusting that they will. Wait what?

It’s like the opposite of FUD. Like a teddy bear which helps you sleep at night. It doesn’t really do anything, yet it makes you feel safe.

In reality the activation % is an insult to miners. But even worse, it explicitly gives a minority of miners veto power. Which makes sure that activating a fork isn’t dependent on whether it makes financial sense, but whether the entire market supports it. Which could very well be two entirely different things.

A 95% activation means you as a software developer have determined what bundled features make economic sense together. And if 5% disagrees, then that must be better than any kind of compromise.

That’s grinding Bitcoin to a complete halt. And the weird thing is, people are even proud of it. Proclaiming Bitcoin being hard to change is a good thing.

But that is simply a proclamation that you do not trust the economic majority. And the alternative to following the economic majority is what exactly? A less valuable Bitcoin. A less usable Bitcoin.

SegWit split

Like I said, if you do not trust miners then Bitcoin already doesn’t work. But that also means miners could falsely signal they support SegWit but reject blocks once they are created. Splitting the network in two.

Which was the entire argument against Bitcoin Unlimited. Just shows how ridiculous the entire article is.

Actual commentary on the Article

BUIP001 does not include a technical consensus mechanism as reliable as in Bitcoin’s current consensus rules.

Not changing anything is usually seen as reliable and more safe. No surprise there. Yet I can think of countless examples where that actually isn’t safe at all. You should read up on status quo bias to understand the issue at hand.

Comparing Core’s inability to change with BU’s attempt to change is comparing apples to oranges. They each have their cost and benefits.

A free market approach (again what alternative is there?) means you look at the cost of all options and go for whatever delivers the most profit. Which means evaluating risks, investments, potential gains, potential losses etc.

If their software does not automatically realize this, users are expected to configure their settings to make it happen.

That’s a lie. Most people running BU don’t need to configure anything. It has sensible defaults. There is no need for most people to ever change these settings by hand.

And I personally reject the notion that everyone and their grandmother even need to run a full node.

For one, if a user’s EB signaling is trivially spoofed by an adversary, miners can be tricked into thinking a block size limit increase has more support than it does

Miners can also spoof running Core and SegWit. And miners should look at actual usage from economic dependent nodes, not from random sybil nodes.

Either they set their AD settings low to remain in consensus, but essentially give up much of their autonomy to miners; or they set their AD settings high to protect their autonomy, but risk splitting the network.

And again a lie. Users setting EB/AD low incurs NO risk of splitting the network. That would simply mean their nodes stop working. And they would stop accepting coins above that value.

Which means, if those users/business have economic value. This represents a real risk/cost towards the network, and thus the miners.

And this is probably even more true under adversarial conditions. If the people in these groups don’t really know or trust one another, they have no way of knowing whether the other people are telling the truth or lying.

We are getting to the heart of the matter: The author proclaiming he doesn’t share satoshi’s belief that a majority of miners can be trusted.

Never mind that if that trust is broken Bitcoin already completely breaks down with things like selfish-mining.

Never mind that this exact thing can happen with SegWit activation. Signaling support, yet orphaning SegWit blocks when they are created. Clearly that would also split the network.

In fact, this is the Byzantine Generals’ Problem. That is exactly the problem Satoshi Nakamoto attempted to address.

No. If you solved that Byzantine Generals’ Problem you don’t need to solve it again. That makes no sense.

If miners can signal to activate SegWit, they can signal to accept larger blocks.

No problem.

Bitcoin Unlimited proponents believe that Bitcoin’s economic incentives — the incentive for users to all remain part of the same Bitcoin blockchain — is in itself sufficiently Byzantine Fault tolerant

Strawman alert. Nobody is claiming that. It’s a complete fabrication.

Emergent consensus works because Bitcoin solved the Byzantine Generals’ Problem. It doesn’t dissolve it. It doesn’t replace it.

Rather than opting into a protocol once and relying on machine consensus from then on, users need to take on a much more proactive role.

Repeating the same line again. No, most people need not take a proactive role at all.

There is no fundamental difference between choosing the software you run, and choosing with what settings you run.

The only thing which makes everything simpler is saying Bitcoin is defined by Core. But that is just blatant nonsense and should be violently rejected.

Which brings us back to choosing what software to run. Circle closed.

“This IS part of how Bitcoin works. It’s not meant for people sleeping at the wheel.”

You can quote BU supporters all you want. But this is basically the third time the article mentions the same thing. It is getting tiresome.

BU completely supports passive participants (users and miners) which do sleep at the wheel and do not care about the limit whatsoever and just want to follow the majority.

It is true that BUIP001 doesn’t introduce anything that wasn’t possible before.

Amen!

Indeed, developers, miners and the rest of the Bitcoin community have generally tried to avoid these types of crisis events as much as they possibly can.

In contrast, Bitcoin Unlimited seems to embrace them as an upgrade mechanism.

Ending an article with a straw man. Great!

The only people actively supporting minority chains and thus an actual split are Core supporters. A huge majority want larger blocks yet are “somehow“ not getting any.

Ok, not “somehow”. We know exactly why we still don’t have bigger blocks.

--

--