Hacker News new | ask | show | jobs
by darawk 3291 days ago
> The ethereum foundations reaction to the DAO hack proved that the "code is the contract" is not true.

I disagree. The code must also refer to the implementation of the Ethereum clients, and the collective will of the network participants. Those are implicit provisions of the contract, specified in advance. The Ethereum Classic chain still exists, and the thief is welcome to use it. People have simply voted with their feet and prefer a world without the theft. There is no breach of contract, anyone is free to fork the Ethereum network in any way, at any time. It is up to the users to decide how much value to ascribe each fork.

1 comments

I thought the whole point was to do away with "implicit" or "everybody knows" or other human-interpretation/subjective factors?

If the premise is "the code is the contract, period, except we reserve the right to change the contract at any time or even to cause the contract retroactively never to have existed, based on implicit or subjective factors decided by humans and not by code", then it's a very different beast.

In Ethereum, its important to recognize that what's happening here is not breach of contract. The contract is still executing. However, anyone is free to alter the network in any way they choose. And everyone is free to ascribe whatever value they choose to each network fork. This is a known beforehand, explicitly specified feature of the network. However, it's also known that people really really don't want to do this unless its absolutely necessary. The tension between these two things is what creates the maxim "the code is law" in most situations. The code is law, and it always will be. However, the value may shift. Ethereum Classic is still going along just fine. The value, however, has moved. Ethereum promises only that your contract is immutable in the network in which it was originally embedded. That much is an absolute guarantee. It does not promise that people will continue to use that network.
Except no one reserved that right. The majority of the users agreed to basically create a new currency with the same history, minus the theft /unethical taking of money (if you insist on calling it legal).
So "the code is the contract" until enough people decide to unilaterally change the code because they don't like the contract. Which is right back to what I said.

There's no way of framing this that preserves the philosophical purity.

There is.

It's the same thing with Communism/Socialism. Communism is the pure end state, utopia, etc.

Socialism is the ugly road there.

Now, of course we know Socialism usually does a 5 minute walk in the park then turns 90 degree at that big pine tree, and when no one's watching puts on the evil hat, and by the end of the hour it's a totalitarian state! No iteration on ideas, criticism is met with GULAG, no education, teachers and thinkers are decadent freeloaders, enemies of Communism, internment, execution, mass murder! You know the drill.

Etherum and other code is law experiments are trying to find the best expression of that "common sense" platform, they are trying to craft the best Constitution for this. "And no true Scotsman claimed that Etherum/DAO is perfect." (This is the part where semantics is fuzzy, as it really depends on who said what, when, how, why, and to whom. But realistically, anyone who claimed to get it right the first time, was too optimistic, and of course, it was "reviewed", http://piratepad.net/theDAOreview [ https://www.reddit.com/r/ethereum/comments/4hkgsz/a_summary_... ] and see .. but never audited - https://www.reddit.com/r/ethereum/comments/4ota1q/the_truth_... .)

Nothing anyone can do about that. Absolutely NO contract can be enforced if everyone (including the enforcers) decides not to.
By not changing the default of the client pushed out by people that stood to benefit from it?