And God said, “Let there be a split!” and there was a split.

Meni Rosenfeld
7 min readAug 2, 2016

--

(Cross-post from my blog)

Part 1 — How I learned to stop worrying and love the fork
Part 2 — I disapprove of Bitcoin splitting, but I’ll defend to the death its right to do it
Part 3 — And God said, “Let there be a split!” and there was a split. (this one)

A year ago, I’ve written How I learned to stop worrying and love the fork, espousing my view that a split of Bitcoin into two networks is possible, and might even be good under the right circumstances and with proper preparations.

Half a year ago, I’ve followed up with I disapprove of Bitcoin splitting, but I’ll defend to the death its right to do it, which elaborated a bit and aimed to refute some misinformation.

I’ve been meaning to write another followup to address some questions that have been raised…

And then Ethereum Classic happened.

For those of you who’ve been living under a rock, a recap: Ethereum is an alternative cryptocurrency featuring Turing-Complete smart contracts. One such contract, theDAO, raised an investment of $150M. Unfortunately, Ethereum makes it easy to write buggy contracts, and theDAO had a serious bug that caused invested funds to be stolen. The Ethereum Foundation decided to roll back the theft, and dissenters who believe in decentralization refused to accept the rollback, leading the Ethereum network to split in two — the version promoted by the Ethereum Foundation, and another version which received the name “Ethereum Classic”.

Ethereum classic has been running for 2 weeks; some alt exchanges have enabled trading in it, and it now goes for a third of the price of the “official” Ethereum. This is well beyond the “momentary split that will immediately coalesce”, and deep into “short-term split” territory.

The story is still unfolding, but there are already multiple lessons to learn from it.

First, if anyone had any doubts that such a thing is possible — it’s possible. It’s happened.

You might be wondering how a split in Ethereum proves anything when the original debate was about Bitcoin. I firmly believe that Bitcoin is not just Bitcoin, and that any cryptocurrency or decentralized technology is within the realm of the general sense of the term “Bitcoin”. And Ethereum, specifically, is similar enough to Bitcoin in the senses that matter so that insights from it are directly applicable. There is, though, one important difference which I will soon address.

Now is as good a time as any to mention that I had predicted in advance that Ethereum would split — or rather, that it could. At a talk I gave at the virtual OnChain Scaling conference on June 27 (Video, Script), back when the rollback was uncertain speculation, I mentioned that if a rollback would indeed take place, it could possibly lead to disagreement and a split of the network, into a part which believes in rollbacks and one which does not. Basically, exactly what’s happening right now.

In that talk I’ve also explicitly defined a classification of splits according to their length, which I will repeat here as it was absent from previous posts:

In a short-term split, one of the networks soon realizes that it has virtually no support at all. Everyone is using the other currency. Due to the network effect, even those who prefer the protocol of Bitcoin A will be unable to use it. After a few days or a few weeks, even the supporters of Bitcoin A will abandon it, and reluctantly start using Bitcoin B. Bitcoin A will die, and Bitcoin B — the network which has an economic majority — will emerge as the one true Bitcoin.

In a medium-term split, both networks have significant support and they coexist for a while. But after several months or years, it becomes apparent that the protocol of Bitcoin A is problematic. It doesn’t function as well as the network of Bitcoin B, and over time, people switch from one to the other. Here, too, Bitcoin B will ultimately emerge as the one true Bitcoin.

In a long-term split, neither of the networks is clearly superior. Each has its own advantages and disadvantages, and each has its supporters and preferred use cases. This will result in two different currencies, that will coexist indefinitely, which were both spawned from the same original coin.

With only two weeks on its belt, I don’t yet consider the Ethereum split a medium-term one. So it has not yet been proven conclusively that medium-term and long-term splits are possible, but it certainly starts to seem more likely.

Moving on, one important aspect of my posts on the matter, which I’ve written before in comments but for emphasis I will write in the post in bold, is that for the most part, my analysis is not descriptive, it is normative. It doesn’t aspire to say what will happen, but what should happen. I am advocating the view that the right to split is bigger than the details of any particular argument we could be splitting over. The right to split is bigger than the question of 1MB vs. 20MB, it’s even bigger than the question of allowing rollbacks vs. not allowing rollbacks. Personally I’m with the “no rollbacks” side (if I wanted rollbacks, I’d stick with the banks), but who cares what I think? As long as there are people who believe in rollbacks and people who do not, they have a sacred right to split off. I bear no ill will (well, not a lot) towards those who choose a different side.

I’ve been criticized with the argument that a split will never happen, because the majority side will >50% attack the minority and kill it. Sure, it could happen, and I can’t give any guarantees that it won’t happen. But why should it happen? Miners on the majority side might think they are morally justified in attacking the minority. I am here to say that, no, the minority has a right to coexist, and you are no more morally justified to attack it than banks are justified in attacking Bitcoin in general. They might also think they are financially incentivized to attack the minority, to keep their own favorite chain stronger. I am here to say that, no, they’d be cutting down the branch on which they’re sitting — by condoning attacks on minority splits, they are promoting a version of Bitcoin (again, “Bitcoin” is not just Bitcoin) were splitting is frowned upon, a version with tyranny of the majority and without the potential to evolve — a version of Bitcoin which is weaker overall.

In other words — I am afraid that split attempts will fail, and that is exactly why I try to convince people that splits are ok and they shouldn’t fight against them — to prevent the splits from failing!

Well, it turns out I was wrong. There’s no need for people like me who tell everyone that splitting is ok. If a split needs to happen, it will just happen. No ado, no fuss, no worries, and not much planning either — people cared deeply enough that they just choose to ignore the reigning authority’s version of the code, and viola, a split is born. (I’m only 40% serious here — despite everything, I still think posts like this are important.)

It’s interesting to note — but not very surprising to me, though — that apparently, there haven’t been attempts to commit a hashrate attack against Ethereum Classic.

Now, mining can be problematic even if the miners are not malicious but mere-profit seekers. If a network like Bitcoin were to split, with the two sides using the same hash function (and hence, the same hardware), then assuming pure profit-seeking miners, the ecosystem would suffer from a severe oscillation problem. What would happen is this — at any point in time, one network will happen to have a higher price/difficulty ratio. All miners will mine on this network, and none on the other network. After a week, the difficulty in the first network will retarget and double, making it less profitable. Then everyone will switch to the other network; after a week, everyone will switch back, and so on. This means that for each network, one week out of two, there will be no blocks at all, making transaction confirmation impossible. The retarget mechanism isn’t effective at balancing this, because difficulty retargeting requires blocks, and there will be no blocks in nobody mines, which is the case if the difficulty is too high and there is an immediate, better alternatives.

In reality not literally everyone will switch so readily, but many will, leading to big fluctuations in hashrate and processing rate for each of the networks. My suggestions for combating this were choosing a different hash function when doing a split, and/or improving Bitcoin’s retarget mechanism.

Ethereum itself already has an (ostensibly) improved retarget mechanism, and as far as I can tell retargets every block. Combined with faster block times, this should create a much more immediate response to hashrate changes, leading to a stable equilibrium rather than wild oscillations. By the way, this also is not a problem in pure PoS chains, which Ethereum plans to become.

This technical detail, in my opinion, is a key part of what makes the Ethereum split viable. In Bitcoin it would have been much more difficult, and without proper preparations could lead to dire consequences.

Speaking of preparations, my earlier posts advocated the position that some must be made for a split to be executed harmlessly, and it doesn’t seem many were made for Ethereum classic. It seems there have been indeed issues of ETC coins being misappropriated or lost by some exchanges, due to either malice or incompetence. But I’ve yet to hear about trouble with locally held coins. So it seems the split is faring well, its relative haste notwithstanding. Perhaps some aspects of Ethereum’s inner workings (of which many are unknown to me), like the retarget method mentioned above, helped facilitate this. And perhaps such a hasty split is perilous after all, and we have simply not yet seen the extent of the troubles it could cause.

The only question that remains is — are splits good? It’s still too early to tell. I believe that given the rift between people upset over losing $150M, and people who actually believe in decentralization, it’s good that the split happened. It’s good that everyone got to pick sides and enjoy the chain he believes in. It’s good that splits have proven to be viable, at least short-term. But again, we do not yet know what kind of ripples will propagate from this fracture, and it could end up being too divisive and harmful.

But even if the split proves detrimental to Ethereum, I still believe the split is good for the cryptocurrency ecosystem in general. There’s so much we can learn from it, and we will thrive on this knowledge.

--

--