Hacker News new | past | comments | ask | show | jobs | submit login

The principle of Ethereum is that code is law, the "hacker" followed the law to the letter and acted in a prescribed manner. What's the crime here exactly?



The ethereum foundations reaction to the DAO hack proved that the "code is the contract" is not true. Which questions the very value of smart contracts on the ethereum blockchain because it's proven that they're immutable now

This is a good discussion: https://www.bloomberg.com/view/articles/2016-06-17/blockchai...


> 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.


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?


All obfuscation around a central controlling group that have the ability to reverse any transactions they don't like or negatively financially impact them, in other words.


Said "hacker" could even take Ethereum to a civil court and win a trial for changing the DAO's code: Ethereum long claimed that transactions were unrevokable and only contracts had value, causing tort to the hacker when rules were reversed...

Given the number of people involved, it could even be juged as organized crime against one person...


hmm true. Maybe smart contracts also need a good old fashioned terms & conditions signed. At least that protects against unknown bugs and exploits?


In that case, they are no longer smart contracts. The entire appeal was that they would be knowable in their entirety, automatically executed, and irrevocable. The goal as I understood it was too have something that would enforce itself, not needing an external authority to interpret it.

Instead, as others have pointed out, the hard fork demonstrated that this was not at all the case. Ethereum contracts can be voided, and the entire premise is therefore flawed. Terms and conditions would just be another way that contracts could be voided, another flaw.


The term "smart contracts" is highly misleading. It is feeding the hype and deeply confusing people. "Smart contracts" are neither smart nor contracts. They are instead very limited scripts triggered by blockchain events.

All the use cases I've seen depend on external input to be even moderately useful. But once you depend on unverifiable and potentially fraudulent external input, the supposed unique value of these scripts is lost. The notion of "oracles" just moves the problem elsewhere so it can be dismissed.

When and if we see profitable uses of these block-chain scripts then I would be glad to revisit this assessment. Until then it looks to me like a classic case of a technology looking for a problem.


They didn't reverse, they simply agreed to follow a different path. Anyone who still accepts eth classic is living in that world I believe.


Do you mean "mutable", not "immutable"?


Yes. A typo on my part


The reaction releasing a new software? How is this a contradiction to your statement? The old chain still exists


The code is not "law".

Somebody exploited a flaw in the system and managed to grab millions of funny-money currency. It's like cheating at a game of monopoly except that many of the players think the rules of the game are "the law" in real life.


The hacker is free to do whatever he wants to but the developers have no restrictions too. So they decided to rollback his transactions.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: