When the miners display inertia, the users do it by themselves; the movement for BIP148, the user-activated soft fork, is gaining momentum. On August 1 the soft fork will activate. We explain what is behind the keyword #UASF.
Suddenly things can happen quickly. Front and center in the Bitcoin community these days you see the promotion of #UASF, the User-Activated Soft Fork. The first Bitcoin Core developers started to fight for the UASF, and a BIP to implement an optional UASF in Core has quickly found consensus.
The message of the #UASF community is clear; the miners have been tasked to activate the long awaited protocol upgrade SegWit, but failed at this mission. Now it is time for the users to take over. There shall be no compromise with the Jihans, Rogers, Gavins, Jeffs, Unlimiteds and so on, but just native, pure SegWit. If the miners think they can take SegWit as a hostage to enforce a hard fork, the users will not negotiate, but take what is theirs. With or without the miners, at every price. No compromise!
— Samson Mow (@Excellion) May 22, 2017
That is, roughly speaking, the story of #UASF. You can find it unnecessary and maybe even stupid and harmful to go every long and harsh way to avoid a compromise. But this doesn’t mean that UASF is not fascinating.
So, what exactly does BIP148 do - and does it have the chance to be successful?
BIP148 / UASF
The base of UASF is BIP148, written by Litecoin developer Shaolin Fry. Nodes which have implemented BIP148 will at August 1 add the rule that blocks need to have the Version Bit 1, which signals for SegWit. This means that all nodes which do not signal for SegWit are orphaned and ignored by the BIP148 nodes. This procedure aims to help to activate SegWit with the already deployed method.
— Mir (@mir_serena) May 11, 2017
BIP148 ends with the regular activation period for SegWit on November 15, 2017. But the chance for a UASF will not end at this date. After the discussion on the Bitcoin mailing list, Shaolin Fry wrote BIP149, which will be activated on November 15 and replace both the conventional activation mechanism for SegWit as BIP148. But right now BIP149 is just a sketch.
According to uasf.co, the website of the “UASF working group,” the UASF will activate SegWit not just at the UASF-nodes, but at all nodes currently accepting SegWit, which adds up to roughly 80 percent of the network - if the forks turns out to be successful. Allegedly the PSPH soft fork - which enabled the addresses starting with a 3, like the multisig-addresses - was also activated with some kind of UASF. To succeed, the website points out, UASF needs to win the economic majority, mostly exchanges and wallets.
After BIP148 spilled over from Litecoin, it had been radical SegWit fans which promoted it at first. Someone has printed the letters UASF on baseball caps in camouflage style, and more and more people post selfies with these caps.
— Francis Pouliot (@francispouliot_) May 8, 2017
Until now, the Core devs Luke Dashjr and Eric Lombrozo have begun to promote UASF openly. Core maintainer Wladimir van der Laan - the closest we have to a Bitcoin boss - allegedly has begun to use BIP148 privately, and Blockstream’s Lightning developer Rusty Russell also joined the UASF brigade.
The movement gains momentum. Let us have a look how the game can play out.
What will happen, when the UASF activates on August 1?
First, the UASF nodes will stop listening to the non-SegWit blocks on top of the non-SegWit chain. If all the miners refrain from producing SegWit blocks, there will be no UASF chain and the nodes will stay in the dark. You can imagine it like somebody sits at a table with other people and puts his fingers in his ears until the people start to talk about his favorite topic. If they do not, he keeps being deaf.
The story becomes interesting when one miner starts to build an UASF block. Allegedly BitFury voiced the willingness to do so. If this happens, the UASF-block will be rejected by the other miners, but accepted by the UASF-nodes. This will be the first block of a new of the Bitcoin blockchain which splits in two at this moment. The old chain will continue to add non-SegWit blocks, while the new chain will continue to add only SegWit blocks. If the UASF-miner does not give up, he will build a slower chain.
Obviously, this minority chain will have several serious disadvantages. First, it will be significantly slower. Let us do a naive calculation; if the new chain splits with 15 percent of the hash rate, it will at first have only 15 percent of the capacity, which are roughly 45,000 transactions a day. New blocks emerge in slow motion, instead of currently every ten only every 66 minutes. This frozen state lasts for around 2,000 blocks, what will now need not just two, but 12 weeks.
To make this worse, UASF has not implemented any kind of Replay Protections. Without it every transaction is valid on both chains, as long its inputs do not go back to coins mined after August 1. So the slow UASF chain is flooded with all Bitcoin transactions, which are around 300,000 each day. When after twelve weeks the speed of the blockchain normalizes again, there is a giant backlog of more than 20 million transactions or roughly 5GB.
Second, the coins of the UASF chain need to get listed on exchanges to give the miners incentives to mine this chain further. Since it is Bitcoin, but on an alternative minority chain, the exchanges possibly will trade it as an altcoin. As the exchanges made clear when the Bitcoin Unlimited hard fork was debated, this is only possible when the splitting chain has implemented Replay Protections. Since this is not given, but a huge backlog is guaranteed, it is not very likely that the exchanges will list the UASF coin.
As long as the UASF represents a minority, it has not much chances to succeed. If the UASF does not win the economic majority, the website warns, “node software supporting BIP148 should not be run after August 1 as it will cause a chain split leading to the abandonment of BIP148.” Sometimes it is recommended not to send and receive transactions during the chain split, above all no SegWit transaction, since these are confirmed as “anyone can spend” transactions on the majority chain, which is meant literally. This does make the UASF somehow unfunny, as the idea of it is to use SegWit finally.
— Alex Bosworth (@alexbosworth) April 9, 2017
Only when the economic majority and a good number of miners, users, and hats are in support of the UASF, it unfolds its power. Then the miners have strong incentives to mine SegWit blocks, as these are accepted by the market, while it gets more difficult for them to sell the coins of the old blocks.
Hard Fork, Soft Fork, Chain-Split, Reorg
But wait a moment. UASF risks splitting the chain. Has this not been the strongest argument against a hard fork to bigger blocks? That it risks splitting the chain? It is fascinating to see the same persons, which warned against a hard fork split over and over, now forgetting all those worries when it comes to SegWit.
However, there is a small, but important difference. Even as a UASF SegWit keeps being a soft fork. It can split the chain, but this does not make it a hard fork. This distinction is crucial.
— Samson Mow (@Excellion) April 7, 2017
A hard fork changes or eliminates a rule. Blocks built after it violate the consensus rules of nodes and miners which did not update, and hence are ignored by them, no matter how much hash power is behind it. The nodes follow the longest valid chain.
A soft fork in contrast adds new rules. Blocks which are build after it are valid according to the rules of both the upgrades and the not upgraded nodes and miners. If a soft fork becomes the longest chain, it is valid for all nodes of the network.
So, the UASF nodes can ghost the old chain, but the old nodes can not ghost the UASF chain if it is longer. In other words, if the new chain that with SegWit gets more hash rate, the chains converge. The old nodes jump on the new chain, and the old chain, that without SegWit, is eliminated. A giant reorganization of the chain happens.
— David Jerry (@digitsu) April 15, 2017
For this reason, the UASF evangelists say, there are strong incentives for economic actors to put money on the UASF chain. This chain is safe against reorgs, while the other is not. This in combination with the activation of SegWit will make the UASF chain significantly more valuable than the legacy chain and inevitable result in a switch of the whole ecosystem to SegWit.
Really? What’s with the Problem of Consensus and the Generals?
It is not a safe bet that UASF works. To be successful, it needs a relatively strong consensus with users and businesses to take this step. It is a bit like UASF tries to solve the problem Bitcoin initially solved - decentrally finding a spontaneous consensus - but aims to do so without the miners.
To be successful, an UASF needs to get the support of more than 50 percent of miners and a majority of businesses relatively quickly. If this is not given, it is an enormous risk for both miners and businesses to actually use this chain, to mine on it, to send and receive bitcoins with it. We are close to the famous problem of the Byzantine Generals which do not know how to coordinate the timing of an attack. Satoshi Nakamoto solves this problem with miners and the blockchain. Doing it without miners but off-chain coordination somehow seems to be step backward.