Live data from Hacker News

Critical Update on DAO Vulnerability

blog.ethereum.org

521–530 of 629 posts

Re: Critical Update on DAO Vulnerability

#521

Earlier quoted context omitted.

So far there hasn't been a single serious proposal, so naturally nobody is voting.

That's not true. Proposal #5 "Moratorium on proposals" only reached 8.86% of 20% quorum before voting ended. Yet the moratorium is already in effect... as you can see there aren't any other real proposals out. Everyone is waiting to sort out these huge bugs in the framework. https://www.reddit.com/r/ethereum/comments/4ns5nl/news_on_th...

I'm a Dao member (or at least I was this morning..!) and didn't vote on that one -- I didn't see the point in voting on proposals that are polls as opposed to votes on moving money to a specific address. There are forums to discuss general strategy, doesn't need to be a poll.

Re: Critical Update on DAO Vulnerability

#522
post #497

Earlier quoted context omitted.

This is fascinating. How do ancaps propose that DRO's will enforce their judgments? With violence? What's to stop the losing party from just gathering a bigger militia and shooting back to prevent collection?

The collection could be written as part of the smart contract that wants to use the service of the DRO (of course that part would have be be bug-free…). Generally, I think ancaps would argue that violence wouldn't occur because it is too costly (as they do in the context of private defence agencies [1]). Anyway, I believe this argument is flawed, in the sense that people have resorted to violence, despite the fact th…

A counter-argument is that most of the American population did not want to enter either of the world wars, but were dragged into it by state and corporate interests who, unlike the general population, did stand to profit enormously from the war. PDAs would not have the authority to do this.

Re: Critical Update on DAO Vulnerability

#523

Earlier quoted context omitted.

I think you're missing the point. The fact that one man can bring the whole of Ethereum trading to a halt with an announcement really demonstrates just how much power he has. So it doesn't matter that he doesn't have a physical kill switch if the end result is the same.

He wouldn't have that power in just any old circumstance. He could have the power to launch nukes, but if that power would only work if all of the world agrees, I'd still not be afraid of him.

[deleted]

Re: Critical Update on DAO Vulnerability

#524
post #502

Earlier quoted context omitted.

> No, we can. There's no evidence of that, and lots of evidence to the contrary.

You can write a formally verified, simple Hello World program and prove that it adheres to both your design and implementation specifications. You can this all the way down to how the specific processor will run the resulting machine code. The catch is that this is difficult and the time and cost both scale non-linearly with the complexity of the software. But if you can do it for dead-simple programs running on hard…

> But if you can do it for dead-simple programs running on hardware you understand very well, you can do it for complex software as well.

Not necessarily when you're bounded by reality and finite amounts of time and energy. Just because you can count to 2^8 doesn't mean you can count to 2^128.

Re: Critical Update on DAO Vulnerability

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

> No, we can. There's no evidence of that, and lots of evidence to the contrary.

Sure there's evidence of that. Maybe not in the move-fast break things social/mobile/local web world, but in the mission/safety/life-critical and real-time systems engineering world there is. Just takes a quick google search, for example:

http://electronicdesign.com/dev-tools/11-myths-about-ada

"As one example of Ada in an undergraduate setting, students at Vermont Technical College in the U.S. used the SPARK language (a formally analyzable subset of Ada) to develop the software for a CubeSat satellite that recently completed a successful two-year orbital mission. SPARK was chosen because of its reliability benefits. The students had no previous experience in Ada, SPARK, or formal methods, but were able to quickly come up to speed.

Of the twelve CubeSats from academic institutions that were included in the launch, the one from Vermont Tech was the only one that completed its mission. Many of the others met their doom because of software errors. The Vermont Tech group credits its success to the SPARK approach, which, for example, allowed them to formally demonstrate the absence of run-time errors."

I've read similar success stories for Lisp and Haskell. Rust will likely add more evidence as it becomes more widely used. Agda and Idris are also capable in this respect.

The problem is too many engineers are just day-jobbers, who want to crank out LOC and quickly add features that get them paid, regardless how sloppy their work or the tools they use may be, or how much work/cost it adds to the maintenance overhead down the road. That work can either be done up front writing bug-free code, or later during maintenance putting out fires, but it can't be avoided. Programmers who chose the former use the excuse "bug-free code is impossible so we don't have to try" to justify pushing the work off on the maintenance team later. But it's demonstrably false.

Re: Critical Update on DAO Vulnerability

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

Formal verification is the right approach. Do you know of any specifics for this goal that exist for ETH now?

This: http://hackingdistributed.com/2016/06/17/thoughts-on-the-dao...

Re: Critical Update on DAO Vulnerability

#527
post #47
post #7

Earlier quoted context omitted.

This is the nuttiest thing I've ever seen.

Because it's malicious code to steal a bunch of funds from the users wallet? Or because many people are running it?

It's not malicious code. It's a correctly-executing smart contract. They have no basis to call this a theft or attack or anything.

Re: Critical Update on DAO Vulnerability

#528

Earlier quoted context omitted.

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…

> This is hacker news

Which is why people don't understand basic human institutions and are surprised when they run into issues trying to re-invent from scratch

Re: Critical Update on DAO Vulnerability

#529
post #466

There's a pretty significant lesson here, and it's not that the DAO authors were careless. They were, and so were all of the investors, but the core problem is not the DAO. It's Solidity. It's the Ethereum virtual machine. Even today, security vulnerabilities are being found in code strategies that are generally considered 'best practice'. Writing a safe smart contract on Ethereum is extremely difficult, and most peo…

Nice summary!

I think Ethereum is finished now.

The trust in it will disappear, or the money invested in it will disappear. Either way, the value goes to zero.

I was just getting interested in it.

I'm feeling both sad and relieved. Sad that it didn't succeed, relieved that I didn't sink any time or money into it.

Re: Critical Update on DAO Vulnerability

#530

Article content: Posted by Vitalik Buterin on June 17th, 2016. An attack has been found and exploited in the DAO, and the attacker is currently in the process of draining the ether contained in the DAO into a child DAO. The attack is a recursive calling vulnerability, where an attacker called the “split” function, and then calls the split function recursively inside of the split, thereby collecting ether many times o…

Hang on. So because this one contract is poorly specified, they've decided to change the universe to prevent its existence? Wow. That's some fiat power right there.

The miners will vote whether to perform the bailout or not.
Post reply on HN