Hard Forks, Coin-Splits and Altcoins

On August 1st, a segment of the Bitcoin community will activate the BIP148 UASF. These users and miners will only accept Bitcoin blocks that signal support for Segregated Witness (SegWit), the protocol upgrade proposed by the Bitcoin Core development team. If, at that point, a majority of miners (by hash power) does not signal support for SegWit, Bitcoin’s blockchain and currency could split in two, resulting in a coin-split.

Now, with Bitmain’s hard fork announcement, it seems there could be a third part to the split … but not quite.

Bitmain refers to its announced hard fork as a “UAHF” or User Activated Hard Fork. While perhaps a clever play on UASF, this is not a very accurate term because the “contingency plan” will actually be very explicitly launched by Bitmain — and Bitmain alone.

Moreover, use of the term “hard fork” is questionable in this context as well. Originally, at least, the term referred to a change to the Bitcoin protocol that makes previously invalid blocks or transactions valid. But for it to be a change to Bitcoin’s protocol, at the very least it arguably requires the Bitcoin ecosystem to follow these new rules.

Under Bitmain’s own stated condition this wouldn’t be the case, at least not to the full extent. Rather, the “UAHF” will only be launched in response to a successful BIP148 UASF. It is thus more or less assumed that not everyone will adopt the new rules, which indeed seems likely. Technically, at least, Bitmain’s “hard fork” would be better described as the creation of an entirely new coin that shares a common history with Bitcoin.

For purposes of this article, Bitmain’s version of Bitcoin will therefore be called “Bitmain’s Bitcoin.”

Bitmain’s Bitcoin

So what. specifically, will Bitmain’s Bitcoin look like?

Bitmain announced it will create Bitmain’s Bitcoin exactly 12 hours and 20 minutes after the UASF activation, though this is configurable. At that specific point in time, under Bitmain’s new rules, a block must be included in the blockchain that’s bigger than one megabyte. This will automatically “split” the chain — or create a new chain. All existing full Bitcoin nodes would reject this block and this chain, and would continue to follow the chain adhering to Bitcoin’s current consensus rules.

From that point on, Bitmain will first mine on Bitmain’s Bitcoin chain privately for three days. After these three days, Bitmain will “officially” launch Bitmain’s Bitcoin to the public if three circumstances are met.

First off, the BIP148 UASF must have been successful enough to have gained significant hash rate. Second, there must be strong market demand for Bitmain’s Bitcoin. And third, the non-BIP148 side of the split must be less than successful, comparatively.

Then, if launched, Bitmain’s Bitcoin will accept bigger blocks. The statement mentions an initial limit of up to 8 megabytes, though this is slightly ambiguous as the same blog post mentions there will be “no hard-coded consensus rule” at all. The hardware manufacturer does add that miners should impose a “soft limit” of less than 2 megabytes, which is really more like a recommendation. Additionally, Bitmain writes that there will be a new protocol limit on “sigops,” which, in short, should counter some potential attack vectors on bigger blocks that could otherwise significantly slow down propagation times.

What This Means for You, and What This Means for Bitcoin

The good news is that anyone who holds bitcoins (meaning: their private keys) at the time of a split will receive coins on both sides of the chain. In other words, you will get free coins, which you can keep, sell or spend as long as someone is willing to accept them as payment. Bitmain will even implement replay protection on Bitmain’s Bitcoin, which means that there should be no risk of accidentally spending the same (copied) coin on both chains.

From a broader Bitcoin and scaling perspective, the chances of BIP148’s success may have actually increased, thanks to this announcement. If Bitmain follows through on their blog post, it means the company will take hash power that could have otherwise frustrated the UASF “off the table,” to mine on Bitmain’s Bitcoin chain. As a result, there is a greater chance that BIP148 miners will claim the longest chain, preventing a coin-split on the original blockchain. Additionally, Bitmain’s blog post seems to have angered some Bitcoin users that were so far undecided, further increasing support for BIP148.

The other scaling proposal in the running is SegWit2x, which is also supported by Bitmain. SegWit2x code should, according to its timeline, be up and running before August 1st. If that deadline is met, it may or may not prevent a coin-split in the first place, depending on its compatibility with the BIP148 UASF. But since this proposal has been mostly developed in private, the status of this project — or its (in)compatibility with Bitmain’s “contingency plan” — remains largely unclear.

And of course, in the end, it’s possible that neither BIP148, nor SegWit2x, nor Bitmain’s Bitcoin will gain much traction. Status quo could prevail, in which case not much would change at all.