Live data from Hacker News

Critical Update on DAO Vulnerability

blog.ethereum.org

311–320 of 629 posts

Re: Critical Update on DAO Vulnerability

#311

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

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.

Re: Critical Update on DAO Vulnerability

#312
post #280

Earlier quoted context omitted.

Agreed. If this soft and hard fork idea really goes through, it seems that now you are in fact getting the worst of both worlds: For your contract, you have to write code that apparently is very hard to get right and bug-free[1], while at the same time you are at the whim of a "community" -- whose decisions (sorry, "suggestions") can apparently be announced by one guy in a blog post -- not to deem what you are doing…

Commenting on your second thought: I hoped that people behind DAO (and Ethereum?) will stick to the terms they themselves proposed but it seems they will push hard for forking the chain (see: Ethereum blog).

Maybe someone can write an insurance contract that future DAO authors can hire, as an alternative to interventions. It would have to be bug free.

Re: Critical Update on DAO Vulnerability

#313
post #215

Can someone eli5 what DAO and ethereum are?

Ethereum is a P2P accounting system, like Bitcoin, but allowing users to upload automatic contracts that decide autonomously what to do with the tokens they possess. For example, you could upload a contract that lets some specific set of accounts withdraw money unless the balance goes under 500 ETH (which is the basic Ethereum currency). "The DAO" is such a contract but with more complex logic that amounts to a kind…

Correct me if I'm wrong, but the patch is not in the DAO contract. It's in the Ethereum platform. I don't know what the alternative would be to prevent the attacker from draining the DAO, but this patch seems incredibly hacky. Will this just be an ever-growing oopsie transaction blacklist in the code?

Re: Critical Update on DAO Vulnerability

#314
post #146

Earlier quoted context omitted.

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.

Could you point me to some resources showing recently added opcodes? Last time I looked at the Bitcoin code they had actually disabled some of the original opcodes due to security concerns. I'd be interested to see that this trend had reversed.

Sorry, I should probably edit my comment to say "over the years" and not necessarily recently.

I think my point was more that the conservative approach Bitcoin takes works better on the long term, and there's still proposals that slowly get implemented.

I first got into Bitcoin in 2011, and since then there's been plenty of new opcodes, and as you say some original ones that got disabled as they presented risks.

Latest one I can think of that got implemented would be OP_CHECKLOCKTIMEVERIFY in 2014/15 (?), but I haven't really kept up with the BIPs that much with all the infighting

Re: Critical Update on DAO Vulnerability

#315

Earlier quoted context omitted.

If it takes a vast majority of participants to agree, then not really. It's decentralized, not 100% immutable. Will get harder as it gets larger but at this stage it is good to still have the ability.

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.

Re: Critical Update on DAO Vulnerability

#316

Earlier quoted context omitted.

Actually, I'd say the fact that he has to publicly ask for exchanges to stop the trades, and can't simply press a button or send out an order, shows the decentralization. Decentralization doesn't prevent coordination.

> and can't simply press a button or send out an order And the governmental powers-that-be can press a button and prevent citizens from exchanging cash?

The US government freezes bank accounts all the time.

Re: Critical Update on DAO Vulnerability

#317
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…

Why are prediction markets a huge boon for the world?

Isn't that just a fancy term for betting anyway?

Re: Critical Update on DAO Vulnerability

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

I always wondered why there was such a rush to launch the DAO. As opposed to what Ethereum itself did: develop a proof of concept for over a year, then release a beta version and provide bounties for security bugs, all the while collaborating with testers and security researchers to stress the software.

Re: Critical Update on DAO Vulnerability

#319

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…

There is nothing stoping you from getting involved in a much more complex scheme of contracts. You could easily set up a system where a web of trust filtered, community funded "court" creates a wallet that is used for mitigating disputes. If a judgement (done by key signing votes) goes against a user you decrement how much they are going to get after the period ends and you increment how much the claimant gets. If no…

Your word "easily" translates to "I haven't really thought hard about it and I am not an expert but it seems easy to me." That is a trap for beginners to cryptographic systems. Getting it right in all details is HARD, as has been proven time and again by failures. The theory is hard, the implementation is hard, and making it usable is hard.

Re: Critical Update on DAO Vulnerability

#320

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.

As 'fuel' for programming smart contracts it's still a valuable tool but it doesn't make writing those contracts easy.
Post reply on HN