Hacker News new | ask | show | jobs
by riprowan 3406 days ago
This article veers between erroneous sensationalism and strategic deception.

I will attempt to debunk a few of the most important errors in this article.

In short, the author takes the position that the promise of blockchains is immutability; and that by hardforking, Ethereum proves that "immutability" requires trust:

> We aren’t actually trusting the blockchain technology; we are trusting the people that support the blockchain.

We should start by observing that un-mutated Ethereum - Ethereum Classic - still exists. You can mine its blockchain and run contracts on its virtual machine. So whatever point there was to be made about the untrustworthiness of "immutability" seems false, since the "immutable chain" is still there chugging along. The only problem is that nobody actually wants immutability, once they really think through its permutations.

---

I will posit that "immutability" is a red herring. While some people did promise immutability, this was a false promise made by some people. Other people have instead said for years that consensus blockchains like Bitcoin are not - and don't need to be - in fact shouldn't be - "immutable." I will further posit that this is in fact the majority view.

In fact there is a perfectly clear reason why a blockchain might "mutate" and fail to honor the contract as it is written in code: the contract sufficiently harms the economic majority of miners and holders.

And that is why such "mutability" is not bad, but in fact desirable. Otherwise, all that is needed is the invention of some sort of poison contract, and then the network would be unable to administer its own antidote.

This is in fact what happened when someone mined some 90M Bitcoin in 2010 while everyone else was running code that considered these to be valid coins. Obviously, there was a fork, and the perpetrator's 90M Bitcoin were taken out of the ledger. And a good thing, too: if "the code was really the law" then those would still be 90M valid Bitcoin and the whole project likely would have been dead some time ago as the malactor would own something like 90% of the money supply.

> The code was supposed to be the law. If you didn’t see the weakness in the software, that was your problem

Ironically, because this is in fact a true statement, the author's point is exactly wrong.

The code is the law - not just The DAO's code, but also Ethereum's code, on which The DAO depends. Ethereum code is not only also "law", but in this sense, it's the "highest law in the land" with respect to contracts executed on its virtual machine.

It should be patently obvious that Ethereum's code permits forks, "soft" and "hard." It should therefore be patently obvious that any promise of "unstoppable contracts" is simply overpromise. The Ethereum global VM came to consensus that The DAO was not just a failed contract (buggy Ethereum contracts happen all the time) but a failed contract so toxic as to be a threat to consensus.

So, by following one chain, a group of users may declare its will that The DAO contract be "held invalid." By following another chain, a different group may declare its will that the DAO contract be held "valid." Each group actually got its will.

---

Consensus blockchains like Ethereum and Bitcoin are not "immutable" and never were, in the sense that all it takes is someone to mine a fork, and the chain "mutates." This is the "permissionless innovation" aspect of blockchains: anyone can create a fork - though it takes a lot of hashpower to protect a fork from hashpower attack.

But on the other hand, consensus blockchains are immutable in the sense that nobody can compel you to follow a "mutated" chain and you are always free to continue to mine on the original chain. Moreover you can hold coins on either - or both - chains. This is the non-compulsory nature of blockchains: nobody is forced to hold coins on anyone's fork - though it takes a lot of money to protect the value of a forked coin.

Since anyone can create a fork, but it takes a lot of hashpower and coin holdings to sustain a fork, the system on the whole is highly resistant to - but fortunately not completely immune from - hardforks.

Even "contentious" hardforks. Like the DAO rollback.

The beauty is that hardforks provide automatic market choice. One day there's only one Ethereum, and the DAO attacker who holds a not-insubstantial percentage of the entire money supply. Then there's a fork, and everyone who held Ethereum now holds coins on two chains - Ethereum and Ethereum Classic, and can signal to the market by holding coins on one chain and selling them on the other - or hedge by holding coins on both chains.

Do we really want true "immutability?" In the case of Ethereum, the market of Ethereum users was offered a choice of either "mutated Ethereum" and "non-mutated Ethereum." Since the split, the market has fairly consistently valued "mutated Ethereum" over "non-mutated Ethereum" roughly 10:1 - and as the article points out, even "non mutated" Ethereum Classic found itself facing a hardfork. Uh oh.

Forks are good, because they allow markets to place bets on which outcomes they prefer. It's also good that it's really, really hard to create economically-viable fork.

Getting back to the first paragraph of the article:

> on that day, after much deliberation and hand-wringing, in the aftermath of a multimillion-dollar swindle from his automated, algorithm-driven, supposedly foolproof corporation, Vitalik Buterin, then 22 years old, announced the ‘hard fork’ of the cryptocurrency Ethereum.

Vitalik is a respected developer. I think there's a valid argument to be made that certain high-profile devs carry more influence than is their due - but no developer controls any consensus blockchain - not Ethereum, not Bitcoin. Ethereum, like all consensus blockchains, is "controlled" by its ecosystem of miners and users.

"Devs propose, the market disposes." And we have seen - the market preferred the forked Ethereum.

> By making that announcement, Buterin shattered certain tightly held assumptions about the future of trust and the nature of many vital institutions that make modern life possible.

I hope by now we see that the only thing that Ethereum shattered is the overpromise and undesirability of "immutability."

---

I hold in each hand a cryptocurrency.

In the left hand, I offer a truly immutable cryptocurrency. The economic fundamentals of this currency cannot be changed by the will of man even if things start going wrong with the initial assumptions upon which the money was based.

In the right hand, I offer a self-improving consensus blockchain-based cryptocurrency. This currency cannot be easily forked, but when it does, two things will be true: the market must value the change quite badly to stimulate a fork, and you will be permitted to hold coins on either side of the fork as you see fit.

Take your pick.

[edits: a lot of stuff - I got onto a bit of a long topic and realized it needed some editing. It still does.]

1 comments

> anyone can create a fork - though it takes hashpower to protect a fork from hashpower attack.

Minor aside, unlike Bitcoin, Ethereum doesn't use hashpower (proof of work) as its voting currency, it uses proof of stake.

So in order to convince the network of a lie, you need to be willing to put up monetary bets against the truth, and then pay them.

This is very unlike Bitcoin, where you buy your mining rig, and then own it. If you pay to fork Ethereum, your real money is at stake.

And the financial incentive for people with even more money than you is to call your bluff and put up a bigger bet against your lie and get the cash and get your lie taken off the books.

Although they have the price structure set up so that calling a bluff is much cheaper than lying. So really even someone with a tenth of your budget can afford to call your bluff.

That's a pretty good description of Ethereum's proof of stake but it won't be in production for a year or so; for now it's still on proof of work.