I thought that with already two failed attempts (Bitcoin XT and Bitcoin "Classic") to take over Bitcoin development, the block size drama would be over.
But there has been another attempt (Bitcoin Unlimited) to implement a protocol that doesn't follow current consensus rules.
This would result in a contentious hard fork that may (or may not) hurt everyone involved in Bitcoin.
In February, when Core vs XT debate was at its peak, I wrote a post about Bitcoin splitting in two currencies.
I explained all the economics reasoning and came to a conclusion that Bitcoin will NOT split.
I thought people have vested interest in keeping all the market capitalization under a single coin no matter what, otherwise, everyone loses.
I since re-evaluated my arguments and have to admit I was wrong.
Bitcoin can and very likely will split in two currencies without the majority of miners, full nodes, users and service providers agreeing to one set of protocol rules.
It's still true that people are driven by financial and/or emotional profit, but it's also true that their motives may not be rational nor "right".
When deciding whether to take action one has to take into consideration many input variables.
To make a "perfect" decision, it would require an unlimited knowledge, which nobody has.
This will often result in an unpredictable outcome even when the solution looks trivial.
We could observe the outcome of such, I think irrational decision making when The DAO was hacked.
Long story short, The DAO was a decentralized organization that raised funds to be invested in decentralized projects.
Investors would directly decide the amount of funds allocated to a project via smart contracts.
One of the smart contracts had bugs, was hacked, around $60 000 000 worth of ethers (Ethereum token) were "stolen" 1 which resulted in price to drop from $20 to $13 per token. Read more about the attack.
Investors (including Ethereum's lead developer Vitalik Buterin) being giant pussies not willing to absorb the loss and deal with consequences of their poor investment decision, decided to hard fork the chain to retrieve stolen funds.
The massive campaign unleashed, Ethereum has forked and investors were refunded, despite their main selling point being "code is law". Not anymore.
However, it didn't go according to their plans.
A small group of people decided to stay on the original chain believing code really is law and Ethereum Classic was re-born.
The forked Ethereum since then lost around 38% of its USD value and the original Ethereum Classic still exists and continue to stand by its principles.
The Moral of the Story
When changing the Bitcoin protocol we should learn from mistakes of others.
We need to make sure almost everyone is on board with proposed changes.
I wrote in the aforementioned post that:
Many core developers oppose this solution which resulted in forking Bitcoin Core code and implementing this change without a needed "consensus", whatever it means.
Looking at Ethereum's fuck up I'm now fully aware of what consensus means.
I acknowledge it's a crucial property for a decentralized distributed system to be taken into consideration when trying to change protocol.
This applies even more to decentralized cryptocurrencies, especially to the most secure and valuable one, which Bitcoin is.
Without consensus, the threat of Bitcoin split is very real - there are people who believe in the current Bitcoin's direction and would stay on the original chain regardless of future hard forks.
Bitcoin Unlimited (BU) and its supporters ignore this fact.
They, same as The DAO's investors, believe, that everybody is in for financial profit.
This type of thinking was proven to be both incorrect and dangerous.
Bitcoin Unlimited Hard Fork
BU developers haven't implemented any activation threshold. Anyone is able to start mining 8 MB blocks straight away which is against current protocol rules.
It means 51% of the network supporting BU could easily split the coin without much incentives left for people on the shorter chain to move over to the forked one.
In that case, the security of both networks would drop to about a half, so would the price. The confirmation time would also drop depending on the hash rate available on each chain.
Everyone would lose and the damage done could stay with Bitcoin for years to come.
Regardless of where you stand in the block size debate, this is not what consensus means and not how "the majority" should be defined.
Unless your agenda is to intentionally harm Bitcoin...
If you're a BU supporter, I urge you to reconsider your position at least for the time being.
Currently, there's an active implementation being "voted" on called Segregated Witness.
Not only it allows to fit more transactions into a single block, it also comes with protocol improvements such as malleability fix.
Unlike BU, SegWit is a soft fork and will only be activated when 95% of blocks within a single retarget period (2016 blocks or ~ 2 weeks) signal for it.
Even after SegWit is activated by miners, it needs support from the network, i.e. full nodes (and wallets).
Nodes that don't recognize SegWit wouldn't include such transactions in their mempool thus making these new protocol rules irrelevant.
As with any protocol change, there are risks involved with this soft fork too. Though having 95% of miners signaling for a particular change mitigates Ethereum-style fiasco.
On the other hand, without proper activation rules requiring near everyone to agree, such proposal is rightly viewed as nothing but a hostile coup and should be condemned as loud as possible.
What do you think about this issue?
Do you support a contentious fork or do you think protocol changes should only be made with a broad consensus? Do you think Bitcoin might split to two currencies?
Let us know in the comments below.
1) Technically, funds weren't stolen. Ethereum network did everything according to the smart contract, which was poorly written. Remember? Code is law.