2017-03-26

Bitcoin hard fork - if you want peace, prepare for war

Over the last few weeks we had a lot of people discussing Bitcoin forks. Every member of the Bitcoin community is voicing their opinions on the matter, so I figured I'd write down my thoughts as well.

Historical perspective


While the debate has picked up a lot recently, it's by no means a new problem. BIP101 proposed increasing the block size in mid-2015 and BIP-141 introduced SegWit in late 2015. Since then we had a number of projects wanting to fork Bitcoin - BitcoinXT, Bitcoin Unlimited and Bitcoin Classic. This is in addition to things like Sidechains, Liquid, user-activated soft forks, etc.

All in all, we can all agree (well, with some exceptions) that we need to expand the Bitcoin network transaction capacity. We can't really wait much longer - this was starting to be an issue in 2015, and now it has become a necessity.

Bitcoin slowing down


Bitcoin for a long while had the first mover advantage - everyone wanted to get into it, develop on top of the platform, etc. Being in the community early was really fun - seeing the first ATM launch, getting merchants on board, etc. However, nowadays it's a different story. Waiting multiple blocks to get one confirmation, paying over 30 cents in fees, etc. - that's not an ideal situation in comparison to what we saw years ago.

If nothing changes, we'll probably see a lot of the big Bitcoin companies expand or migrate to other platforms. Coinbase already doesn't want to pay the fees by themselves, Storj has moved to Ethereum, etc. With Ethereum's growing market cap, there are only so many reasons to stay with Bitcoin...

The fork


So this brings us to the fork situation. There is currently a lot going on in the community, but from what I can understand, there are two main camps when it comes to forking at the moment - those that want to activate Bitcoin Unlimited and soon, and those that want to get SegWit activated sometime this year.

When figuring out what can happen next, we have to keep in mind the scant few examples we had of contentious coin hard forks in the past.

From what I can tell, Bitcoin Unlimited is heading in the direction of activating its hard fork no matter what. It's ramping up in node and mining power count. It is likely that the node count is fake, and there have been some reports about the possibility of attacks on pools that don't signal Bitcoin Unlimited (by orphaning non-signalling blocks in a minority attack). There is also a concern with miners being blacklisted by the effective monopoly in mining ASICs if they signal SegWit.

Lastly, we need to keep in mind the man pushing for Bitcoin Unlimited adoption - Roger Ver. I'm not going to get into discussing his past or personality (there are plenty of trolls that have you covered), instead, lets focus on one fact - he's an early Bitcoin adopter, and he appears to be loaded. Being able to trade 130k BTC loaded. That's more than 4 times the amount of BTC Ethereum raised during its presale. So my guess is, that he could safely pay out of pocket to fund the forking effort, even if it doesn't make economic sense.


So because of this, I think the Bitcoin Unlimited will activate its fork sometime soon. Now, what will happen next?

The aftermath


It was interesting hearing Gavin's exchange with Matt on whether Bitcoin Core should have an opt-in flag to accept the possible fork or not. It looks like the answer for the time being is "no", which means the repository everyone considers to be the "gold standard" for Bitcoin will not accept Bitcoin Unlimited blocks, causing a fork.

If you want to keep Bitcoin network on only one side of the fork, you have to attack the other side. Whether that is a moral or legal way of handling the situation - it's up for debate. At any rate, 51% attack on the Bitcoin Core side of the fork is a possibility that has to be kept in mind. Luckily, there is "a nuclear option" to defend against something like that - PoW change. Since the vast majority of Bitcoin mining power is in ASICs, any change to the mining algorithm makes all of that hardware obsolete. This will mean that an attacker that has been stacking up on ASICs will end up with a large pile of useless hardware, but also that your honest miners will have the same issue.

So if Bitcoin Unlimited forks and tries attacking the Bitcoin Core side of the fork, it is likely we will end up with a PoW change fork and the unchanged, SHA256 fork. The SHA256 fork will either be kept alive by miners that oppose the Unlimited fork, or it will be left by the wayside as they will realise where the wind is blowing and switch over to Bitcoin Unlimited to maintain some income from their hardware.

Early on, the PoW fork would still be vulnerable to an attack. There are a lot of altcoin miners out there ready to put their CPUs and GPUs to work. Whether they will stand with the Bitcoin PoW fork supporters or be mercenaries for hire by the attackers remains to be seen.

If there is no attack on the minority fork, the Bitcoin landscape will probably be more peaceful, but also more divided. A number of exchanges have already signed a statement on the hard fork matter, and it looks like they will either be ignoring Bitcoin Unlimited, or treating it as an altcoin. So all in all, we'll have the Ethereum / Ethereum Classic scenario once more.

If a fork happens and Bitcoin Unlimited doesn't secure key supporters early on (miners, exchanges, developers, etc.), it is possible it will go the way of Elacoin. A coin needs to be traded and developed upon to stay relevant.

Preparations


Since the fork has not yet happened, there is still some time for preparations. Every Bitcoin business will have to consider the implications of the fork on what they're doing. How will customer BTC balance be handled? How will you prepare for the relay attack? What are the edge cases you need to think about?

Even working for Factom I had a discussion about this issue, and we're not holding BTC balance for our users.

Finally, every Bitcoin user will have to prepare for the fork. Whether you decide to hold onto bitcoins at a responsible exchange, keep it in your wallet, or sell it for now in hopes of buying cheap coins during the turmoil, you should make a conscious decision on what to do, or risk getting some of your coins lost in the process.

Conclusions


Bitcoin needs to address its transaction throughput sooner than leter. It is likely Bitcoin Unlimited will attempt to hard fork soon. The fork will either lead to the community being divided, or an attack on the minority chain to force everyone to switch. The attack will likely lead to another fork and an uncertain future fo the minority chain. Everyone should ready themselves for the fork.

If you want peace, prepare for war.


1 comment:

  1. The miners have already crossed the line with their passive aggressive stance on not adopting SegWit and thumbing their noses at the core developers. Time to change the PoW algo.

    ReplyDelete