Major Bitcoin mining hardware producer Bitmain today announced that it may launch a “hard fork” in August. Labeled a “contingency plan,” the announcement is a response to the upcoming user activated soft fork (UASF), as defined by Bitcoin Improvement Proposal 148 (BIP148) — and the wipe-out risk that comes along with it.
After an initial 8 megabyte proposal, Bitcoin Classic, the Hong Kong roundtable consensus, Bitcoin Unlimited, and SegWit2x, this marks the sixth time the Chinese mining giant has announced support for a hard fork in the space of two years.
Here’s what their latest proposal looks like.
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 through BIP148, Bitcoin’s blockchain and currency could split in two: a coin-split.
Now, with Bitmain’s hard fork announcement, it seems there could be a third part to the split … sort of.
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 activated 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 the Bitcoin protocol, it arguably at the very least 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 be called “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 depending on how you look at it. All existing full Bitcoin nodes would reject this block and ignore 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 not be doing great, 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.
For the longer term, Bitmain lays out a “future roadmap” that includes a version of Segregated Witness, Extension Blocks, Bitcoin NG, Lumino, Schnorr signatures, Weak Blocks, and Bitcoin Unlimited-inspired base block size increases up to almost 17 megabytes in two years. Overall, this “future roadmap” part of the announcement does not seem very concrete yet, however.
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 (or all) sides of the chain. In other words, you will get free "Bitmain bitcoins", 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, due 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 versus non-BIP148 miners, avoiding 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 — as well as 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.