The Ethereum / DAO disaster continues to unfold this month. Responding to the catastrophic hack of TheDAO in June, Ethereum developers created a new fork of Ethereum which undid the problematic transactions.
That’s right, folks. The developers and many major players deliberately hacked the code to rewrite history, and thereby created a new alternative cryptocurrency in which everything is the same but TheDAO didn’t happen.
This type of “bailout” is exactly what cryptocurrencies are supposed to prevent.
“Interesting times”, indeed!
I admit that I can’t really keep up with all this. But here is some of the most important stuff (with links to typical stories from Coindesk).
The fork took effect in July, and the result is that there are now two different versions of Ethereum out there.
The hope was that the new Ethereum would quickly take over and the old would wither. That didn’t happen, at least not yet.
It is far from clear if this bit of engineering will even have the intended effect. Unfortunately, there is no way to stop people from using the original software and the associated data (i.e., the old version, with DAO hack in it). Some people use one, some use the other, and some use both. What a mess!
There is a continuing controversy over the morality of rewriting history this way, which is either a bad precedent for all blockchains or a sign of technical maturity, depending on how you view cryptocurrencies and software engineering.
A lot of people don’t know what to do.
Worse, it is reported that not only did this fork undo some transactions as intended, it appears to have opened the possibility of a weird form double spending for some transactions dating before the fork. Cool!
As I and others have pointed out, this whole episode has exposed grievous weaknesses in the “consensus” model of governance that is shared by most cryptocurrencies and blockchain based systems. These difficulties call into question the foundations and even the viability of this technology, not just Ethereum but Bitcoin and all blockchains.