Skip to content

Instantly share code, notes, and snippets.

@RHavar

RHavar/uasf.md Secret

Last active March 16, 2017 06:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RHavar/b3f189b72890c060da8f3bf2789fdf47 to your computer and use it in GitHub Desktop.
Save RHavar/b3f189b72890c060da8f3bf2789fdf47 to your computer and use it in GitHub Desktop.
Why a user-activated-soft-fork (UASF) is silly

Recently there was an interesting proposal (https://bitcointalk.org/index.php?topic=1805060.msg17979262#msg17979262) that suggests that the "economic majority" of bitcoin could enforce a softfork.

Ignoring the fact it doesn't solve the hardest problem (coordination). It still is extremely dangerous. If the hashing power majority is not enforcing the rules of the soft fork (e.g. decide to be apolitcal, as per the stated purpose) then a single invalid block (but valid by the old rules) will [likely] fork the network in two.

The majority of hash power will mine on top of it, except any node that has decided to be "political" and support the UASF. Assuming the economic majority coordinated well, they would be rejecting this block. This will lead to a fork. Let's call it:

  • UASF-coin (what nodes that are enforcing the UASF see)
  • old-coin (what has the most PoW)

When this happens, miners will want to see the value their old-coins have and exchanges will no doubt be more than ready to capitalize on the opportunity to make commissions. The longer the old-coin chain exists, the more mass-confusion it will cause, along with chaos in the UASF-coin chain (which will suffer at least a 50% decrease in throughput, because difficulty wouldn't have had time to readjust yet).

Now in the optimistic case: if the true economic majority supports UASF-coin, they will need to mass-sell all their old-coins and accumulate UASF-coins. If they can drive the price of old-coin down enough, miners will realize it's stupid to keep mining on old-coin and switch to the more profitable UASF-coin. Then once UASF-coin gets the most PoW again it will now be the valid chain, killing off old-coin completely. Anyone who banked on or used old-coin will lose their money. So the best case here is the most disruptive and confusing soft-fork of all time.

There is also a possibility that old-coin will win, which would cause unbelievable amounts of damage (assuming the economic majority was behind UASF-coin). And there is also a gloomy future in which bitcoin remains permanently forked.

Now if that's not enough to scare you: Even if you estimate a 99% chance of the UASF going smooth, that's not enough. I can speak first hand, as I run one of the largest bitcoin gambling sites (bustabit.com) and even a 1% chance of such money-losing chaos is totally unacceptable. So I would react by splitting all account balances in two ("old-coin" and "usaf-coin") and treating them as independent currencies upon fork. They would be able to share the same deposit addresses. Then no matter what happens, I (or my customers) don't end up losing money.

Now this means that I as an economic participant is not explictly supporting old-coin or UASF-coin. And the less economic participants enforcing UASF, the more dangerous it becomes. The more dangerous is looks, the more people/services will want to hedge their bets. The more people doing that, the more dangerous. A vicious circle.

In short, perhaps a soft-fork activation threshold of 95% hash power is too high, but anything less than < (50 + safteyMargin)% is absolutely insane.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment