Bitcoin forks - for dummies
A potentially disasterous coin fork due to the so-called User Activated Soft Fork was averted at the 1st of August, we got a so-called User Activated Hard Fork instead - aka Bitcoin Cash, so far that coin fork had had no ill side-effects. There will be another potentially disasterous fork in October or November. Confused? I read through my previous article on this topic again after it was published, and realized it was a bit dense, it probably went a bit over the head on most readers - and it was too long. So I'm trying again.
A fork is a fork is a ...
Definition of different kind of forks has been split out in a separate article.
Short introduction to the scaling conflict and scaling solutions
The Bitcoin software is currently constrained to maximum of 1 MB of transaction data (that's the block) being produced at an average 10 minutes interval, this causes the total max capacity of the bitcoin network to be like 3-7 transactions pr second. Some (I call them the "big-blockers") claim the 1MB-part of this limit always was meant to be a temporary protection against malicious miners creating far too big blocks and should have been lifted long ago - others (I call them the "small-blockers") think it's important to keep this limit, and that capacity should be lifted in other ways.
Most people really want a healthy and triving Bitcoin ecosystem, and many sincerly believe that their way is the only way to keep Bitcoin functioning and healthy. Things got quite heated up in 2015, particularly on reddit. Serious open discussions and arguments disappeared as the environment got divided - the camps went into "echo-chamber mode" reinforcing their points of view. Smear campaigns and ad-hominems got more important than technical arguments and analytics. Because of all this, and also since very few has a very good overview both of the technical details and the large picture, it seems to be more important whom to trust rather than which technical solution is the best. It may also be important to consider that the most important actors in the game have different stakes and different economical interests.
The "small-blockers" came up with a plan called SegWit. In short, the signature-part of a segwit transaction is stored and transferred outside the block - this way old software will still operate (though not able to verify the signatures), and eventually there will be more space for transaction data in the 1MB base block as the updated sofware will start using the segregated witness feature. There are also other benefits with SegWit, perhaps the biggest is that it will pave the way for sidechains and so-called off-chain solutions. In the small-block-vision, the main blockchain will only be used for very big transactions, while ordinary transactions will be taken off-chain, or eventually on so-called sidechains.
The "big-blockers" believes SegWit is bad - they think it decreases overall security, introduces more technical debt, introduces too much new complexity in the code base. With SegWit2X, there is a hard-coded discount on the input-side of a segwit-transaction - it should cost only 25% as much in fees as anything else. The "big-blockers" think this smells like "planning by central comittee" - they deem this input discount as unnecessary and unhealthy. The "big-blockers" have alternative plan called FlexTrans that they think will take care of all the non-capacity-related benefits of SegWit, in a better way.
There was an agreement between miners and developers in Hong Kong in 2016, where developers promised a block size increase to 2MB if the miners would support SegWit and run only Bitcoin Core. Not long later, it was obvious that there wouldn't be a 2MB block size increase in the Bitcoin Core software.
Throughout most of 2016 and first half of 2017, there has been a stalemate. We haven't been getting bigger blocks, and we haven't gotten SegWit. Some moderates thinks that obviously we need both bigger blocks and segwit - but the hostility has become so bad that for many of the big-blockers it seems to have become the most important that we should not implement SegWit - similarly, many of the small-blockers were very grumphy that their SegWit-solution hadn't come to fruitition yet, believing that the high fee issue would go away as soon as SegWit got activated - yet, sticking to the 1 MB limit seems to be more important than getting SegWit through.
UASF - User Activated Soft Fork - the feared August chain fork
Small-blockers utterly disappointed that the miners wouldn't signal support for SegWit decided to force it through anyway. The specifications was written up in the Bitcoin Improval Proposal 148 (BIP-148). At the 1st of August, come hell or high water, BIP-148-supporters would ignore miners that didn't signal support for SegWit.
It could have ended up with a messy chain fork, with small-blockers insisting that the BIP-148-coin would be the only true Bitcoin. For laymen, Bitcoin would probably just stop working - prudent exchanges would probably close down Bitcoin deposits and withdrawals for a longer period, sites and merchants accepting Bitcoin payments would probably suspend this option, peer-to-peer-transaction would maybe go through and maybe not, depending on what sides of the fork the peers would be at. Eventually we could have ended up with a permanent coin fork where some exchanges would use the "Bitcoin" name on the BIP-148 chain while others would use it on the other chain.
The small-blockers were hoping that they through this move would be able to force the miners to support SegWit. In the small-blockers narrative, this is exactly what happened, miners decided to signal support for SegWit prior to the 1st of August deadline, and the BIP-148-activation was a non-event.
UAHF - User Activated Hard Fork
As a counter-reaction to UASF, some big-blockers introduced the counter-concept of a "User Activated Hard Fork" - but it was considered as a backup-plan should SegWit2X fail. In a surprise move by the end of July, Bitcoin Cash was released. Due to strong two-way replay barriers and rebranding (not completely successful, many small-blockers insist on calling it "bcash", and the chosen symbol BCC was already taken by some other alt-coin, hence there is still some confusion on weather to use BCC, BC, BTCC, BCH or other symbol for it), it was a clean and controlled coin fork.
In the spirit of the Hong Kong agreement, some moderates again suggested the best path forward would be both a 2X block size increase and SegWit activation. A "New York Agreement" was signed, participants would support "SegWit2X" - segwit first, block size increase three months later. Miners representing almost 90% of the hash rate signed the agreement, as did several exchanges and other significant participants. More than 90% of the miners flagged initial support for the agreement. SegWit2X got sufficient support fast enough that the BIP-148 coinsplit was averted - at least as for now. Currently the hardliners supporting BIP-148 seems pretty ignorant about the 2X-part.
The 2X-part of SegWit2X.
Sometime in late October or early November, the 2X-part of SegWit2X is supposed to happen - miners will start mining blocks bigger than 1 MB. As of writing, the small-blockers don't accept any block size increase. With the current trajetory, a coin split will happen.
Scenario 1: Small-blockers will maroon themselves to a desolate island, SegWit2X will be bitcoin
If more than 90% of the miners (by hash power) and almost all major exchanges and wallet providers will opt for the SegWit2X-path, while the small-blockers refuse to accept bigger blocks, then ... bitcoin will continue working for ordinary folks, and it will stop working for the small-blockers. With less than ten percent of miners supporting the small-block-chain, there will be several hours between each block. With no replay barriers, those blocks will most likely be full of ordinary bitcoin transactions. Also, this small minority of miners will have a hard time converting their mining income to fiat, which they need for paying the power bills - most likely the small minority will give up mining on the small-block-chain, and rather prioritize the big-block-chain.
It seems strange that some small-blockers will opt for this obviously failing path - but lots of small-blockers are getting feedback almost exclusively from their own echo-chamber, they are telling themselves over and over that they are right and everyone else is wrong. Groupthink at it's worse. Also, they have nothing at stake, they don't feel any direct costs or expenses by sticking to their principles. Their bitcoins are still safe, and they can easily sell their SegWit2X-coins.
The existance of lots of nodes denying to propagate transactions, and lots of bitcoiners insisting that the stalled small-block-chain is the only valid bitcoin chain will cause confusion, and it may hold the market back slightly, but except for that, no major harm. This seems to be one of the better scenarios.
In the best-case scenario, Bitcoin Core will implement support for SegWit2X, and only the most extreme small-blockers will still try to stick to the 1X-branch. Another potential outcome is that Bitcoin Core will simply become irrelevant. Most contributing developers will move over to the btc1 software fork, which will be the new reference implementation. The real effect of such a software fork is really to replace the maintainers or lead-developers of the software package. It happens with great success from time to time, for instance when the XFree86-project was superceded by the X.Org-fork.
Scenario 2: There will be a clean split
Just like the big-blockers made their Bitcoin Cash currency, the small-blockers will make a Bitcoin Core currency - while the SegWit2X-coin will be the de-facto Bitcoin. The split will be clean and without problems.
Small-blockers are (for good reasons) concerned about mining centralization - there has been proposals for changing the Proof-of-Work algorithm, a move that could potentially make the current mining hardware obsolete. Changing the proof-of-work needs to be done in a hard fork, and when doing a hard fork it's technically easy to also implement replay barriers. I believe that with such drastic measures, exchanges will deem the hard-forked coin as an altcoin and press on for replay barriers.
This probably wouldn't be the worst scenario. The big-blockers will have their Bitcoin Cash to play with, the small-blockers will have their Bitcoin Core, without capacity problems simply because there won't be that many transactions - for the rest of the world, including laymen and business, the SegWit2X-coin will be the Bitcoin. Big- and smallblockers wanting to do business with the rest of the world (and probably, with each other) will simply have to sell their altcoins on an exchange for bitcoins before transacting.
Scenario 3: There will be a messy split
With most of the big-blockers supporting Bitcoin Cash and significant hash power "defecting" to the Bitcoin Cash chain, the pressure on the 2X-part has been somehow reduced. It may also make it easier for miners sympathising with the small-blockers to defect the NYA agreement. We may get into a situation where there is significant hash power on both sides of the fork. It won't be easy to transact on the 1X-block though, with no replay barriers most transactions will probably hit both chains. It won't be easy to transact on neither chain, but in particular the 1X-chain will require extraordinary high fees for the transactions.
With no replay barriers and both sides of the fork insisting that their Bitcoin is the only true Bitcoin / BTC / XBT, this will be a very messy situation. I believe it will result in market price crash of Bitcoin and lots of money leaving crypto in general. There is so much money at stake, this seems the most unlikely scenario. Particularly exchanges probably will take a stand and (as before) demand replay barriers and ensure there will be a branding difference.
Still, it's not hard to assume some people want this scenario to happen. Some may simply be short on bitcoins, other may believe that Bitcoin Cash will emerge as the true Bitcoin after such a situations ... yet others may be clinging to the hope that Ether, Dash, Monero or some other alt will become the new king of the hill, others may have stakes in fiat finance.
Scenario 4: The small-blockers will manage to block the 2X-part of the deal.
Just like the small-blockers successfully managed to rush through SegWit by sticking to BIP-148, it may be that they successfully will manage to block the upcoming block size increase.
This could be due to a combination of:
- Miners sympathetic to the big-blockers defecting to Bitcoin Cash
- Miners sympathetic to the small-blockers defecting the SegWit2X-agreement
- The rest of the miners being concerned of scenario #3 (messy split), thinking scenario #4 (small-blockers winning) is better.
- Exchanges siding with Core, defining anything else than Core an alt-coin. In this case, miners will have a hard time getting their coins sold if they try to increase the block size limit, which again means they will have a hard time paying their power bills ... which again means they will have to defect the SegWit2X-agreement to stay in business.
- Exchanges siding with Core, even if Core goes for a PoW-change. In this case, miners will have a hard time.
The small-blockers claims that technologies like lightning and sidechains will save the day - if they are right, then this could be a good scenario. If they are wrong, the capacity limit will continue being a big barrier for investments and adoption of Bitcoins as well as crypto in general.
When looking at Reddit or Twitter, it's easy to conclude that everyone is either supporting Bitcoin Cash or Bitcoin Core, and everyone is against either SegWit or 2X. Based on this, scenario #4 seems a given - nobody wants SegWit2X. However, I tend to believe that the hardliners are simply the most noisy, it's the hardliners that are visible - the silent majority is moderate.
Majority or minority - it doesn't really matter, the Bitcoin ecosystem is not a democracy. It's a power play between different actors - where the most economically significant actors have the most to say. There is quite a lot of money at stake, and any rational player with a stake in the Bitcoin economy would want there to be one Bitcoin - a bitcoin that works and can be used without confusion. People that at heart are big-blockers or small-blockers may tend to be noisy in social media when representing themselves - but when they eventually will do decisions for their companies, decisions that needs to be defended for the shareholders, then most likely the decisions will be a bit more moderate and rational.
The miners have taken a stance already - overwhelming support for SegWit2X. Of course, the flagging for the New York Agreement in blocks produced is merely a signal - it's not a juridically binding contract. If the miners see that it will be most rational to drop the agreement, they probably will - but the miners have been waiting for bigger blocks for a long time already. Although the short-term profit will be reduced with bigger blocks (as the average transaction fees drop), this will most likely be offset by a higher transaction volume. The small-blocker-vision where the very most of the transactions never hits the blockchain is bad for the miners, as other actors will get most of the transaction fees. Without miners, there won't be any bitcoin transactions confirmed. Bitcoin depends on the miners. There are talks about doing the miners redundant, but we shouldn't forget that they are securing the blockchain. The Bitcoin market cap cannot be defended if one is to replace all the mining hardware with something else overnight - the blockchain with the highest market cap will most likely stay at the chain where the miners are mining. Hence, if Core will decide to change the Proof-of-Work-algorithm, then Bitcoin Core will be an altcoin without significant value. Hence, scenario #4 (smallblockers winning) seems unlikely.
I think the biggest exchanges pretty much holds the key for what will be defined as an altcoin and what will be defined as bitcoin, as well as what coins will be easily tradable and what coins won't be tradable. Without the exchanges, miners have a hard time selling their coins. Quite some of the exchanges are owned or operated by people being small-blockers or big-blockers, sometimes it shines through in their decisions and statements - but they do have a business to run. Cartels are bad and businesses are supposed to compete - but when it comes to supporting standards, cooperation is a good thing, and I fully do expect there will be quite some talks and negotiations between the exchanges. Scenario #3 (a messy split) will be the least wanted scenario for the exchanges, so I believe they will most likely not allow that to happen.
The small-block-movement has quite some momentum - enough momentum that it seems unlikely a "No2X" coin fork will just fiddle away. Hence we're left with scenario #2 (a clean split, SegWit2X to become "Bitcoin", with "Bitcoin Cash" and "Bitcoin Core" as two altcoins) as the most likely.
What does this mean for you?
Don't let the FUD of a messy coin split stop you from buying bitcoins. Also, you don't need to take a stance on this issue - if you own Bitcoins prior to a split, you will end up with coins at both sides.
The big-blockers are hoping for Bitcoin Cash to become the de-facto Bitcoin of the future. If they are right, then it's not a good idea to buy bitcoins now.
With scenario #2 (clean split, three bitcoins) being most likely, one may eventually end up with a situation where some actors only supports Bitcoin Core and others only supporting Bitcoin Cash. I believe this will happen with some fanatics, but businesses will most likely always accept "Bitcoin Proper" - and that's good, because Bitcoin is dependent on the network effect.
Disclaimer: this post is not meant as an investment advice. There is a non-zero probability that any investments done based on opinions in this post may disappear