Live data from Hacker News

Critical Update on DAO Vulnerability

blog.ethereum.org

381–390 of 629 posts

Re: Critical Update on DAO Vulnerability

#381

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

Perhaps, but nobody can write a bug-free legal contract either, and no legal system is without bugs.

Sadly, for the legal system, many of the bugs are due to corruption, so they are actually more akin to systematic exploits being done again and again by malicious actors (who often happen to be wealthy or powerful).

Also, in terms of how drastic this bug is, suppose $5M gets stolen over a few days. If the community can strengthen itself and become resilient to a whole class of attacks, that is likely far superior to a meatspace improvement in contract law, which would likely take years to become law (and would be selectively enforced once it did).

Re: Critical Update on DAO Vulnerability

#382

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…

This is FUD, broadly speaking. The devs have put out a patch for miners which allows them to decide whether or not they wish to fork over these transactions. Centralization is not required for this decision, instead, distributed consensus. The counterpoint to your statements is simply that consumers need safety with their money. It is no badge of honor to let unsophisticated technical people lose money for some extre…

I agree with your points. But the miners who actually have a say, if I am not mistaken, are the big ones and the pool owners. These are just a small fraction of all people running mining software.

A soft fork will undeniably require distributed consensus. It is the number of people with the actual right to vote that may be worrisome.

Perhaps the pool owners should extend their voting rights to their pool contributors, pooling votes as they pool mining shares.

(Disclaimer: I hold a small amount of ETH and participate in a mining pool.)

Re: Critical Update on DAO Vulnerability

#383

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

Re: Critical Update on DAO Vulnerability

#384
post #335
post #317

Earlier quoted context omitted.

Why are prediction markets a huge boon for the world? Isn't that just a fancy term for betting anyway?

They provide a far more accurate insight into the likelihood of events than any other alternative. You can think of it as betting if you like, but it's betting with lots of positive externalities. Consider a business that needs to reason about the probability of a law passing, severity of global warming, or any number of other difficult to predict events. Prediction markets would provide by far the most accurate insi…

> Consider a business that needs to reason about the probability of a law passing, severity of global warming, or any number of other difficult to predict events

Like the probability of a smart contract being exploited via a loophole? ;)

Re: Critical Update on DAO Vulnerability

#385
post #297

Earlier quoted context omitted.

There are relatively few cases where $1000 and $10 are both reasonable numbers. It should be pretty obvious to both parties from context which is the 'correct' interpretation.

To a rational person without ulterior motives yes, but remember in my country "The right of the people to be secure in their persons, houses, papers , and effects, against unreasonable searches and seizures, shall not be violated, and no warrants shall issue, but upon probable cause" means "Go ahead and take papers (cash) from peoples cars without warrants, and then the burden is on them to prove they obtained it leg…

I don't know why you're getting downvoted, seems like a very prudent and informed sentiment to me.

Re: Critical Update on DAO Vulnerability

#386
Many people here stating that its purpose is tainted if they can just undo what the attacker did. After all, why not just have a centralized authority after all?

I haven't researched this deeply, admittedly, but I think the idea is that they're using consensus from the community in order to undo what the attacker did. In other words, if the community didn't support it, it wouldn't be possible to do at all. Contrast this with a centralized authority that didn't need community involvement at all.

Re: Critical Update on DAO Vulnerability

#387
post #255

Earlier quoted context omitted.

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.

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.

The willingness of participants to use a contract would depend on the chances that something about the interface is bug-prone, untested, etc.

As long as bugs do not result in reversal of money flow, the incentives seem to align properly toward a well-defined approach for declarative contracts.

Re: Critical Update on DAO Vulnerability

#388

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…

Not to mention: you can use the mere claim of yourself knowing a bug in a smart contract to force the other side to do as you say. If it's sufficiently hard to check for bugs, the other party might accept the cost of doing as you say as cheaper than the cost of checking for bugs again.

This was a plot mechanism in some SciFi story I read a few years back. Edit: one of the in-universe early Revelation Space books.

Re: Critical Update on DAO Vulnerability

#389
post #347

Earlier quoted context omitted.

1. You just make an agreement with someone who would like to buy your tokens for some national currency. If you ever played an MMORPG or Diablo 2 or something, you know that "imaginary" digital items can be traded for "real" money. There are many exchanges where you can do this conveniently. 2. For one example, consider how tedious it is to open a new bank account; with cryptocurrency, you just make a new keypair. Sm…

>> consider how tedious it is to open a new bank account You make it sound like a person needs to open a separate bank account for every transaction, which is clearly not how people manage their finances. I'm in the same eli5 boat. I can't fathom why anybody would put real cash into such a system. It comes across as "because I'm rich as fuck and can gamble away my money on a stupid tech system that is not realistical…

No, I mean if you want a new bank account, for example because you started a new business, you need to put on pants go to a bank office and fulfill whatever the bank demands.

The banking world is extremely interested in blockchain technology and smart contracts. Browse through financial news and you'll see the extent of it—it's huge.

Your conviction that blockchains are stupid insanity seems to me like it will be proven very wrong in the next five years.

Re: Critical Update on DAO Vulnerability

#390
post #115

Well, that was kind of inevitable. Building a financial system out of pure code with no humans in the loop and no legal structure is building a self-distributing bug bounty piñata. It's decentralised, so there's nobody who can throw a breaker and shout "stop!"; cryptocurrency transactions are irreversible, so thefts are permanent; and it's somewhat anonymous, so thefts are hard to trace. It also demonstrates that bei…

> a self-distributing bug bounty piñata

I think this is great actually. Maybe not for the people involved right now but there will be a very strong Natural Selection pressure on contracts.

It will be interesting what type of contract emerge and survive over time, the type of languages used to improve or proof robustness, etc.

Post reply on HN