100 Blocks of Terror or Why a 51% Miner Split Won’t Work
Bitcoin is in a rage about a possible 51% split of the network from Peter Rizun’s article. In this article, I will show you how a 51% network split would play out and how that would be a terrible idea.
From the article:
Miners will orphan the blocks of non-compliant miners prior to the first larger block to serve as a reminder to upgrade. Simply due to the possibility of having blocks orphaned, all miners would be motivated to begin signalling for larger blocks once support definitively passes 51%. If some miners hold out (e.g., they may not be paying attention regarding the upgrade), then they will begin to pay attention after losing approximately $15,000 of revenue due to an orphaned block.
This has been brought up as a way to activate Segwit as well, where if 51% of the miners signal for Segwit, then they can just exclude all other miners that aren’t signalling by orphaning their blocks. For the purposes of this article, it really doesn’t matter what you’re signalling for, whether it’s BU, Segwit or CLTV. We’ll call this feature X to keep things neutral.
The Math of a Forced Orphaning
Right before the potentially orphaned block, we have the last common block, which we’ll label as C (for common). The very first potentially orphaned block, we’ll call B. B builds on C, meaning B points back to C as its previous block.
At this point the 51% signalling feature X reject B and continue to mine on C. The 49% might not even be aware that there’s a potential network split and mine on B instead. Note at this point, the minority is 1 block ahead. In order for the majority to force an orphaning of B, they need to be ahead by 1 block.
The two groups, which I’ll call the Signalers and the Non-Signalers, are now in a race for the longest chain with the Signalers down by 1.
The quickest resolution would be if the Signalers find 2 blocks to build on C before the Non-Signalers find any blocks to build on B. This will happen with a probability of 51% * 51%, or about 26% of the time. At this point, the Signalers would have a longer chain, B would be orphaned, and the network would hum along. Note in this scenario, miners in the Non-Signalers camp may not even be aware there was a potential network split, simply that they got unlucky and there was a competing block that got built on. At 51%, the next potential orphaned block or chain split will happen again very soon, (average of 2 blocks) so this scenario, while resolving quickly, won’t actually deter too many Non-Signalers until they find out what’s going on.
The next quickest resolution would be if Signalers find 3 blocks before the Non-Signalers find 2. This happens 51% * 49% * 51% * 51% * 2, or about 13% of the time. The two blocks the Non-Signalers found would be orphaned.
Third quickest resolution would be if Signalers find 4 blocks before Non-Signalers find 3. This happens about 8% of the time. Fourth would be at 5 blocks vs 4, which resolves for the Signalers about 5.7% of the time.
Expected Number of Blocks
We can keep going and figure out the expected number of blocks that it would take in order for the Signalers to take over the Non-Signalers. At 51%, this is actually 100 blocks! That is a seriously long time to wait for resolution, obviously (almost 2 days). As you add more miners to the Signalers, the expected number of blocks drops fairly fast (see graph below). However, even at 65%, the expected number of blocks you’ll need to wait for resolution is 6.7 blocks, which at 20 minutes per block (hashing power is effectively halved) is over 2 hours.
This scenario assumes every miner is honest and nobody switches sides. At close to 50% and as the split lasts longer than, say 4 blocks, there will be a strong temptation for those on the Signaler side to switch to the Non-Signaler side. This is because the Non-Signalers are ahead and there’s no certainty the Signalers will win. Remember, the actual Mining Capacity of each side is unknown, only estimated by the amount of previous blocks found, so it’s very hard for Signalers to be certain they even have the majority.
The Signalers are essentially acting as a Cartel and economically, Cartels are unstable by nature. There is significant risk that as a member of the Cartel, you’d be the one losing out on the mining reward, and not your opponents. Thus, the main thing that the Cartel will need is very good coordination to make Forced Orphaning work.
First and foremost, the Signalers will have to have the same software. That is, they’ll have to have agreement on exactly when they’ll start rejecting blocks from the Non-Signalers, including percentage of the network they probably have, the number of blocks after that point as a prep period, etc. The software will have to have all sorts of contingencies on what happens if some miners join or drop out of the cartel and what to do in each case. The software will likely only relay blocks on the new chain only to its members in a selfish-mining-like scenario. On top of all this, the software will also have to be tested extensively against a variety of game theoretical scenarios and make sure it does what the Signalers expect.
Second, the Signalers will have to have rock-solid agreements and/or keep their plan secret. By rock-solid, I mean some sort of legal recourse should someone back out of the agreement by dropping out of the Cartel and causing the Cartel to lose out on block rewards. In lieu of this, the Cartel will likely have to keep the plan secret as any open plan will allow miners that are against the Cartel to pretend to be on the Cartel’s side so they can betray the Cartel at the last minute.
Third, the Signalers have to be prepared to risk a lot of money. The obvious risk is the risk of losing the mining reward should enough miners defect. On top of this risk, as the next section will show, the network will be significantly disrupted until one side wins and Bitcoin is likely to drop in price due to Permanent Fork risk. The Cartel might win and keep the mining reward, but still lose a lot of money short-term due to possible drops in Bitcoin price.
Should the Cartel be stable and a coordinating plan come to fruition, this would have some disastrous consequences for the network.
First, confirmations would be hard to trust. There could be upwards of 6-block reorgs which orphan a ton of blocks. No one will want to take any payments on a network until there are 10–12 confirmations. Furthermore, those 10–12 blocks will take double the amount of time since the network is effectively split and take something like 4 hours to confirm. The closer the split is to 50%, the more confirmations would be needed.
Second, this would significantly increase the chances of a Permanent Fork immediately. The Non-Signalers will figure out fairly quickly that something is going on as 3–4 block reorgs will be common. They could join the Cartel, or if they’re ideologically opposed, they may very well execute a Permanent Fork. This would make economic sense to protect their earned Bitcoins. Note also that the longer the competing chains are, the more incentive there is for everyone to stay with their chain as more miners will have skin in the game in the form of block rewards.
Third, Exchanges, Bitcoin Businesses and Price will go haywire. No exchanges are going to accept deposits which have a risk of being reorganized away, so they will likely stop deposits. Same reasoning will go for merchants. As there’s a significant disruption on the network, the net effect will likely cause the Bitcoin Price to go down significantly. Interestingly, having transactions not be confirm-able for a long time will effectively cause less transactions on the network.
What This Means
First, this level of coordination is unlikely. There will doubtless be a lot of disagreement about the finer points of what exactly each miner is expected to do in every scenario. Further, the development and testing of such software will take a good deal of time. Even after launch, the economic pressure to abandon the Cartel is immense (especially close to 50%) and hard to neutralize without some serious incentives. Those incentives could come from a very wealthy party or legal contracts, but it’s hard to see the how something like that could pay off.
Second, the further the Cartel is away from 100% of the mining hash power, the closer it is to creating an immediate Permanent Fork. Again, this is a very risky proposition not just for the Cartel, but for the entire network. The Cartel may end up burning the village to save it.
Third, an action like this would be the start of a hot war in Bitcoin. Regardless of success or failure, a coordinated Cartel will have declared their intentions. There will be calls for boycotts, proof-of-work changes, etc. Even failure may lead to a Permanent Fork.
This Cartel idea starts to make sense when you have 75%+ of the network. Anything below that will likely cause permanent damage. This is another example of Bitcoin being consensus-driven. We subvert it at our own peril.