Live data from Hacker News

Critical Update on DAO Vulnerability

blog.ethereum.org

261–270 of 629 posts

Re: Critical Update on DAO Vulnerability

#261
post #235

Earlier quoted context omitted.

The DAO's 'terms and conditions' were the contract code itself. During the crowd sale, it was often said that 'investors' need to look at the code because that is the only binding agreement. I guess it turns out that's a lie too.

Could the attacker then attack DAO for breach of contract ? That would be the ultimate plot twist.

I expect the attacker either found a contract allowing them to short ether, or made some similar arrangement. Unless it's an attack on tech itself for personal reasons, someone's getting a lot of real money today...

Re: Critical Update on DAO Vulnerability

#262
As an outsider, this is stunning to me: why isn't there a contract revokation mechanism? Considering these things are programmable, it could be something as simple as a killswitch hash sitting in a lawyer's safe somewhere, right?

Re: Critical Update on DAO Vulnerability

#263

Earlier quoted context omitted.

I share your bitterness. The meaning of the word "safe" seems to vary from person to person. The ETH and contract devs think safe means having a static PL to capture contracts. But in reality it is safe as in, whoever exploited the vulnerability now has a "safe" source of income in a few weeks. Perhaps it is a lesson better learnt now than later when the stakes are even higher.

Well, she doesn't, they will block the attacker outright by a centralized decree. What's the better proof that decentralized solutions work than blacklisting accounts and making ad-hoc forks for each attack.

Depends how you define attack, really.

Re: Critical Update on DAO Vulnerability

#264

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…

Of course. But human contracts require human judgment and it is precisely the psychological fear/mistrust/puzzlement of proponents of machine contracts that leads to their political adoption of the idea. I don't think there's necessarily an objective risk/reward analysis behind preferring one over the other, just a matter of personal temperament.

Re: Critical Update on DAO Vulnerability

#265

Earlier quoted context omitted.

I share your bitterness. The meaning of the word "safe" seems to vary from person to person. The ETH and contract devs think safe means having a static PL to capture contracts. But in reality it is safe as in, whoever exploited the vulnerability now has a "safe" source of income in a few weeks. Perhaps it is a lesson better learnt now than later when the stakes are even higher.

Well, she doesn't, they will block the attacker outright by a centralized decree. What's the better proof that decentralized solutions work than blacklisting accounts and making ad-hoc forks for each attack.

What if the attacker made their move before it could be blocked?

Re: Critical Update on DAO Vulnerability

#266

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…

Unlike traditional contracts, the idea was that smart contracts were going to eliminate the need for enforcement or dispute resolution. So that law is enshrined in code.

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.

So what now are the benefits of Ethereum smart contracts over the traditional legal system?

The way I see it, at least with traditional contracts you have the benefit of a trained and experienced judge making the call in case of a serious problem.

Re: Critical Update on DAO Vulnerability

#268
I wrote this attack up last week -- a solidity dev initially noticed this bug, but seemed to think it wasn't a big deal. http://vessenes.com/more-ethereum-attacks-race-to-empty-is-t...

The comments here are generally spot on; it's a combination of problems -- upgradability is designed to be hard because other people's money shouldn't be easy to steal, programmers are not used to making whole programs reentrant, existing documentation underplays risks, or alternately just tells people to do the wrong thing.

A better language would help, better documentation would help, better standards about how to write the programs would also help.

And, of course, more eyes are helpful. I'm an outsider to Ethereum, and got a very polite response, overall the community has been great. That said, there just aren't enough people looking at these contracts right now.

Re: Critical Update on DAO Vulnerability

#269

Just remember, when the developers inevitably appear with suggestions about how to stop the hack, roll back the blockchain, or come up with other schemes to block the hackers, they are showing everyone that all the talk of blockchains being decentralised, or being beyond the control of governments or other powers... is a complete lie. If this hack can be stopped, then it demonstrates that the currency can be manipula…

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.

Re: Critical Update on DAO Vulnerability

#270
post #191

Congratulations! A month after the first real test of the "distributed", "safe" cryptocurrency featuring "enforcable" contracts, it turns out it's none of this.

I share your bitterness. The meaning of the word "safe" seems to vary from person to person. The ETH and contract devs think safe means having a static PL to capture contracts. But in reality it is safe as in, whoever exploited the vulnerability now has a "safe" source of income in a few weeks. Perhaps it is a lesson better learnt now than later when the stakes are even higher.

> whoever exploited the vulnerability now has a "safe" source of income in a few weeks.

Well, that would be safe (in the sense that you got money according to the contracts in the ETH network), but the problem is that the developers are trying to take this money away from the exploiter! I.e. they're trying to undo whatever action was enforced by a cristalized contract everybody agreed upon!

Post reply on HN