If you haven’t heard yet, Bitmain just released their plans for an upcoming Hard Fork should BIP148 start on August 1. If this makes you scared and want to sell all your Bitcoins, don’t fret, I’m here to help you understand what this proposes, how it’ll affect you and what you can do.
But first, I’m going to go through the press release and go through exactly what it means.
Bitmain’s Protection Plan
Bitmain’s PR release begins with a justification for why they would be hard forking. The main thing you need to know is that they want to add wipeout and replay protection.
The actual details of their plan don’t begin until the section shown here:
Note that the hard fork starts roughly a half day after the UASF. Most likely, this is to see exactly how much of a threat the UASF soft fork is. If the hash rate of UASF is below 1% of the network, it’s likely that a single block won’t be found on the UASF in those 12 hours and gives Bitmain time to not mind with a hard fork.
The second thing to note is this very interesting “must be big” rule. The forking block size must be bigger than 1 MB. That is, there is a lower bound on the forking block. The clear purpose is to create a permanent fork with the UASF as the forking block will not be valid on the UASF chain.
Third is the fact that 8MB is the actual purported limit (see below), but 2MB is the “soft limit” as miners are essentially limiting themselves for now. This means that larger blocks than 2MB are completely legal, but won’t be on the network until the miners feel the need to increase it.
This is a proposed fix to one of the problems of having larger blocks and that’s the Quadratic Hashing Problem. Limiting sigops per transaction prevents block validation from taking too long, basically.
Unlimited Blocks in the Future?
This seems to suggest that 8MB is not a hard limit, but that even larger blocks are actually possible without a further hard fork.
The spec from Bitmain uses a new bit in the SIGHASH to indicate that it’s meant for one chain and not the other. This will indeed create replay protection as UASF chain transactions will clearly not be adding this bit for signatures and Bitmain’s chain transactions will. Transactions on the UASF chain will not be valid on Bitmain’s and vice-versa.
These paragraphs are perhaps the most confusing part of the document. What are they secretly mining? What is Bitmain going to mine and when?
Here’s what this boils down to:
- Bitmain will mine the hard fork privately for at least 3 days
- If UASF looks weak, Bitmain will give up all the privately mined blocks and leave everything alone.
- If UASF looks strong, Bitmain will release the privately mined blocks, invite other miners to join them and trigger the hard fork.
I’m not sure how there can be an exchange rate without a hard fork as stated in (2). I assume this refers to perhaps futures markets or even peer-to-peer transactions or similar.
Bottom line, August 4th is the earliest date that we find out if Bitmain will be releasing a hard fork as they’ll start mining 12 hours after August 1 and actually release the privately mined chain 3 days after that.
This paragraph basically states that a higher price on the UASF chain will not cause them to move to that chain. They are willing to lose money, in other words, to extend their chain.
For the rest of the press release, Bitmain has announced that these features would be added:
- Segwit (with different weighing)
- Extension Blocks
- Rootstock Sidechain
- SPV service built into full nodes
- Weak blocks
What this means for you
If you’ve been watching this debate closely, you know that August 1 is a major date on the horizon and you should be very careful about transacting afterwards. We now know August 4 is the earliest possible date of a usable hard fork.
Depending on hash rate, it may still be unsafe to transact on either fork as attacks can cause wipeout on either chain. So my warning still stands, be extremely careful transacting after August 1.
Bitmain’s press release is what you would call in game theory a “credible threat”. They certainly have the mining power and cash on hand to commit to this project. As most of the hard fork ideas come from Bitcoin Unlimited, they also have software ready, however you may feel about its reliability. They are also addressing real problems with a soft fork like replay and wipeout protection.
If you’re thinking from a game theory perspective, the question now should be, why? Why is Bitmain releasing these plans?
First, Bitmain’s plans prevent wipeout. This can be seen as a defensive maneuver to secure any mining rewards they make, but more importantly, as a way to ensure other miners that they can mine safely on their chain.
Second, giving a roadmap of future plans makes developing on their chain more attractive. This can be seen as a maneuver to gain industry support. It’s not a coincidence that the features they’ve announced on their roadmap correspond to concerns from bitcoin businesses.
This was and is an utterly predictable response to a user-activated soft fork and it would be surprising if UASF advocates didn’t anticipate this threat. Whether Bitmain will follow through is another matter entirely, but rest assured that there are severe consequences for either choice.
If this seems like needless brinkmanship to you, you may be right. There are alternatives that may give everyone what they want. Unfortunately, this civil war has gotten hostile enough that we may be too late.
- I’ve edited this article as the minimum block size only applies to the forking block.
Want to get curated Technical Bitcoin News? Sign up for the Bitcoin Tech Talk newsletter!