Live data from Hacker News

Critical Update on DAO Vulnerability

blog.ethereum.org

251–260 of 629 posts

Re: Critical Update on DAO Vulnerability

#251
post #233

I have a (maybe naive) question: why is the person draining ETH from DAO called "attacker"? I seems to me that the idea behind smart contracts was to have unambiguous description of what are participants agreeing to. The "attacker" is doing precisely this - I had not heard of any bug in Ethereum implementation that is used, only "bug" in DAO's smart contract. So he is allowed to do this, by contract definition. Isn't…

Obviously you're right, that's tautological! The "attacker" didn't do more than what the system allowed her to do. People have expectations about what the DAO is and isn't. I'd guess that very few people bothered to read the source code of the contract, let alone look for vulnerabilities. So you have a group of people who have agreed on an informal contract (we pool money, votes are weighted by the sum I've put…) but…

The 'Terms' section on DAO website states:

  The terms of The DAO Creation are set forth in the smart contract code existing on the Ethereum blockchain at 0xbb9bc244d798123fde783fcc1c72d3bb8c189413. Nothing in this explanation of terms or in any other document or communication may modify or add any additional obligations or guarantees beyond those set forth in The DAO’s code.
Doesn't it state that, by definition, that DAO contract is bug-free, so it cannot be exploited? This is exactly what separates DAO case from flash-0-day-rootkit case.

Re: Critical Update on DAO Vulnerability

#252

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…

> participants can generally see the spirit and intent, and at worst go to a judge who will usually enforce the intent Stuff like patent-trolling (and patents) suggest to me the law isn't so consistently trustworthy as you suggest.

Patent law is not contract law.

Re: Critical Update on DAO Vulnerability

#253

Use this link because the ethereum blog is suffering. http://pastebin.com/xW16N7Ye

Thanks!

I don't understand why the site should be suffering so much? All these sites seem to suffer when a link gets posted in a few places. Do they all have something in common?

Re: Critical Update on DAO Vulnerability

#254
post #231

Earlier quoted context omitted.

...but they didn't halt trading until they were asked to, so clearly it wasn't totally in their interests? Exchanges are in a difficult position once the 'head' of ethereum tells them to stop. It's a sign that the blockchain might be forked, so any further trades they make might be undone - they simply have little choice but to stop after being told to do so.

> but they didn't halt trading until they were asked to, so clearly it wasn't totally in their interests? Not at all. This is a classic "coordination problem". It is advantageous for many participants in the overall system to take an action, but only if the other participants are ALSO taking the action. In such a case, a widely followed and popular leader is one possible coordinating mechanism. And it does not give t…

a widely followed and popular leader is one possible coordinating mechanism.

That's the exact opposite of decentralized. Are we going to have to redefine the word?

Re: Critical Update on DAO Vulnerability

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

Re: Critical Update on DAO Vulnerability

#256

Earlier quoted context omitted.

The announcement didn't come out of the blue. Exchanges don't want stolen funds to go through them so it is also in their interest to halt trading.

...but they didn't halt trading until they were asked to, so clearly it wasn't totally in their interests? Exchanges are in a difficult position once the 'head' of ethereum tells them to stop. It's a sign that the blockchain might be forked, so any further trades they make might be undone - they simply have little choice but to stop after being told to do so.

> but they didn't halt trading until they were asked to, so clearly it wasn't totally in their interests?

I didn't stop eating excess salt until my doctor asked me to do so - and it was totally in my interest.

Re: Critical Update on DAO Vulnerability

#257
post #242

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…

100% agreed and anyone who expects these types of smart contracts to replace typical contracts is overlooking this. The real void smart contracts fill is the type of contracts that cannot be trusted to be enforced by the current court systems. For example, consider prediction markets. Just about any economist or rational person will tell you these are a huge boon to the world, but the CFTC shut down InTrade just a fe…

I am fascinated with prediction markets, is there an existing place to do this now with ethereum?

Re: Critical Update on DAO Vulnerability

#258

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…

> participants can generally see the spirit and intent, and at worst go to a judge who will usually enforce the intent Stuff like patent-trolling (and patents) suggest to me the law isn't so consistently trustworthy as you suggest.

I don't think that is the same - There is no claim that rules of written law always gives the most favourable outcome. But rather that the written law (or contract, in this case) allows for the reality of human error or omission by leaving space for human interpretation, enforcing the underlying intent, rather than strictly enforcing 'bugs' in the contract.

After all, there are almost always small mistakes in complex systems. The system of case law is, essentially, a structured way of turning differing interpretations into a stricter framework over time.

Re: Critical Update on DAO Vulnerability

#259
post #242

Earlier quoted context omitted.

100% agreed and anyone who expects these types of smart contracts to replace typical contracts is overlooking this. The real void smart contracts fill is the type of contracts that cannot be trusted to be enforced by the current court systems. For example, consider prediction markets. Just about any economist or rational person will tell you these are a huge boon to the world, but the CFTC shut down InTrade just a fe…

I am fascinated with prediction markets, is there an existing place to do this now with ethereum?

Augur and Hivemind are the two that get talked about the most. Neither are out.

Re: Critical Update on DAO Vulnerability

#260

Earlier quoted context omitted.

I agree completely. 'Smart' contracts are terribly flawed in this regard. Operating outside of contract law is a weakness, not a strength. No-one can write bug-free code, so why are these people building a huge, expensive system that relies on no bugs being found?

I agree, for now. What I argue is that just like nobody can write bug free code, nobody can write bug free contracts as well. I think this might have a good use case down the road once all the bugs are worked out. That said, it's not ready for prime time yet.

Indeed, but you have bug-safety law around the world which incorporates something like :

"If there is a typo, error, fraud, crime etc. a contract is considered invalid or the part of the contract that is flawed"

With software bugs you have something similar :

> NO WARRANTY. THE SOFTWARE IS PROVIDED TO YOU “AS IS” AND “WITH ALL FAULTS.”

Post reply on HN