Live data from Hacker News

Critical Update on DAO Vulnerability

blog.ethereum.org

401–410 of 629 posts

Re: Critical Update on DAO Vulnerability

#401

Earlier quoted context omitted.

>But this incident has set a precedent, at least within Ethereum, that the project leadership will intervene to enforce the spirit of a smart contract. It is the beginning of a precedent but precedent is fairly weak because Ethereum in its early stages and very experimental (many hard forks are in Ethereum future). Bitcoin rolled back the blockchain at one point as well but it wouldn't happen today. >So what now are…

Even if we agree that Ethereum is still in its early stages we have to ask whether this response is setting a good or bad precedent going forward. Will the project leadership offer a soft- and/or hard-fork every time a poorly-implemented smart contract is exploited in a manner that is not intended by the contract creators? If every smart contract is going to be "guaranteed" in this way, then this introduces significa…

In this particular case the contract holds 15% of all ether.

The fork won't be enacted unless a majority of the community agrees to run its code. That's not likely to happen except in extreme cases, like this one.

Re: Critical Update on DAO Vulnerability

#402

Oh, nobody saw that coming. Completely unforeseeable. What other mature, ready-for-primetime autonomous altcoin networks can I dump my savings into for no apparent reason? Edit: "DAO token holders and ethereum users should sit tight and remain calm. Exchanges should feel safe in resuming trading ETH." No they shouldn't. They should running screaming for the exit doors. Less than two months after the launch of this my…

WTF. There is the equivalent of millions of dollars in this blockchain? How?! Who willingly puts real cash up front for this kind of thing? Just... what?!

Yeah, I know, right? I don't trust actual, qualified fund analysts to pick real investments for me, I stick largely to index funds. Yet a bunch of cryptoweenies have decided to pool their money in cryptoweenie form in some kind of insane, fragile investment club, so a bunch of cryptoweenies stupid enough to think this is a good idea can collectively vote on what to do with each others money by simple majority vote, without restriction? No. Just no.

Right now the proponent of this fraudulent scheme, slock.it, is actually urging people to spam the blockchain to slow down the rate of theft. Yet the true believers are claiming this is a "learning experience" that will make it all better in the long run. It's beyond satire.

Re: Critical Update on DAO Vulnerability

#403
post #33

This pretty directly contradicts a lot of the hype around Ethereum. Yes, bad contract code is bad, but a lot of money is about to evaporate. If it isn't easy to write secure contracts then there is a serious deployment problem.

No money is going to evaporate. First of all, the value just changes hands and second of all, there is no money involved, just toy bits.

What do you think money is?

Re: Critical Update on DAO Vulnerability

#404

Earlier quoted context omitted.

Core problem: If contracts can be upgraded while in use, everything reduces to a game of Nomic.

That depends on whether you think of a contract as an interface or as an implementation. A contract should present an interface that includes a declaration of its behavior. The declared behavior should be well defined, and if a bug in the implementation is discovered, the contract should be updatable to fix the bug. There could even be futures expressing the probability that a contract will be found to have a bug. Th…

[deleted]

Re: Critical Update on DAO Vulnerability

#405
post #146

This pretty directly contradicts a lot of the hype around Ethereum. Yes, bad contract code is bad, but a lot of money is about to evaporate. If it isn't easy to write secure contracts then there is a serious deployment problem.

This is what really annoys me about the Ethereum VM, there was no need for turing completeness. Bitcoin has a perfectly good scripting system that they keep adding opcodes to, and is not vulnerable to some of these kind of attacks.

It's a giant pain in the ass to code Bitcoin. In a few years, all of these kinds of attacks will have been tried against various Ethereum contracts and it will be hardened and still easy. It will still be very cumbersome to code Bitcoin.

Re: Critical Update on DAO Vulnerability

#406

Earlier quoted context omitted.

Vast majority however means most mining pools. In practice that's not that many people making the decision.

At this stage yes. That's why I don't hold ether as being solid enough yet to be a store of value, aside from the fact that it's being inflated at ~25% pa. Needs to go through these teething problems now while that is still the case.

Why would that be different at later stages? Bitcoin grew more centralized with time, not decentralized: The miners with the most powerful equipment also have the most ability to become even more powerful.

Why is that different for Ethereum?

Re: Critical Update on DAO Vulnerability

#407
post #255

This is what concerns me about contract programming. With human contract law, if there's a minor typo or loophole, participants can generally see the spirit and intent, and at worst go to a judge who will usually enforce the intent. But with software contracts, only the characters matter and there's no intent anywhere: either you get paid or you don't. ETH is advising, "Contract authors should ... be very careful abo…

I see a different problem here: Ethereum and the DAO were not in a mature state to handle this amount of money. For example, there is a limited support for upgrading contracts in Ethereum and the DAO was not reviewed enough to handle hundreds of million dollars. Also, there are methods to make the software ultra secure using formal models.

Contracts can be upgraded if they're designed that way. You can have a wrapper contract that just calls out to other contracts, where the addresses of the other contracts are updateable. You can even make the callee run in the context of the caller, so all the data is held at the caller, which calls an external function that manipulates it.

Doing this is a tradeoff. On the one hand it lets you fix bugs and vulnerabilities, on the other your users have to trust you not to abuse your power.

Re: Critical Update on DAO Vulnerability

#408
post #311

Earlier quoted context omitted.

No-one can write bug-free code No, we can. We just don't, because it's very expensive, and we lack proper tooling to make it cheaper and/or faster. The flaw as I see it is that ETH jumped the gun, and tried to move to software law enforcement without investing the right amount of time/money in the code. Worthwhile goal (though the desirability and practicality remains debatable), bad execution.

With enough effort, you can prove that your code conforms to the specification, but how do you prove that the specification conforms to your expectations?

You struggle to even do that. You can normally prove that some code conforms to a version of the specification that is explicitly formalised, but in practice, a large number of bugs are specification bugs and that will only increase the more you are forced to formalise the specification.

Re: Critical Update on DAO Vulnerability

#409

Earlier quoted context omitted.

That depends on whether you think of a contract as an interface or as an implementation. A contract should present an interface that includes a declaration of its behavior. The declared behavior should be well defined, and if a bug in the implementation is discovered, the contract should be updatable to fix the bug. There could even be futures expressing the probability that a contract will be found to have a bug. Th…

What you're trying to solve is something very similar to the recursive self improvement problem that MIRI[1] and friends are trying to solve in the sphere of "friendly" artificial intelligence. If something rewrites its own source code, how can you assert invariants that can be relied upon? So going and looking over there at what they've come up with may be fruitful. [1] https://intelligence.org/

Very interesting! Looking at the papers and going to read them. Any specific papers you'd recommend?

Re: Critical Update on DAO Vulnerability

#410

Earlier quoted context omitted.

> administratively adjusted That sounds like a terrible amount of power to give someone without a vote.

for obvious fixes, that’s not actual power: They could not do that if the correct answer weren’t obvious. If I offered a new car for 10€ — obviously it should have been 10k€, so others cannot expect me to fulfil that (ask your local police). If I had offered it for 8.5k€ and suddenly claim it should have been 10k€, it’s far from obvious that this was a mere error, so I’d likely have to stand for it. If I offered a us…

This is hacker news. If this was some code rather than in meatspace and you trusted a single client to modify a turning complete config file for everyone else you'd call it a massive security vulnerability. I don't understand how having humans involved changes that. Yes, they probably have good intentions but has that assumption ever worked out in human history? If it's not used today for something nefarious, it will be used tomorrow.
Post reply on HN