Live data from Hacker News

Critical Update on DAO Vulnerability

blog.ethereum.org

131–140 of 629 posts

Re: Critical Update on DAO Vulnerability

#131

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.

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.

I mean, they don't have to honor the request to do so.

Re: Critical Update on DAO Vulnerability

#132

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 there is network consensus to do the rollback, then the blockchain stays decentralised.

So can random people who agree with each other completely control everything that happens with the currency? So if there is a company who they dislike can they just decide that they have no money?

Re: Critical Update on DAO Vulnerability

#134

I always though that Etherium had a huge attack surface. Each script has to be security audited, etc. That's the thing about Bitcoin. It's as simple as possible while still being secure and useful and has been beat up and audited by the best security pros in the world. Distributed Systems are not easy. Secure distributed systems with Byzantine fault tolerance are even harder. Etherium is just trying to do too much.

Doesn't this show an issue with the Distributed Systems on Ethereum, with every script that has to be audited individually, and not with the platform itself? I'm with you on the fact that proper auditing is an absolute must, as this DAO fiasco shows, but I don't think this event exposes any flaws in the Ethereum platform itself.

I recently attended an Ethereum workshop that was scheduled for two hours. Three hours later and most of the audience were no more wise about Ethereum than when they first entered the room. It certainly didn't help that workshop was led by web developer (a passionate Ethereum supporter) who had no interest in the concensus algorithm or other dense technical issues, but what was quickly apparent to me was that Ethereum has a steep learning curve. With such technologies, it is important to take more time to understand the concepts and the details. Maybe in the rush for VC money, some developers have failed to grasp that.

Re: Critical Update on DAO Vulnerability

#135

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.

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.

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.

Re: Critical Update on DAO Vulnerability

#137
post #81

Earlier quoted context omitted.

Any (presumably buoyant) entity actually offering that possibility?

Poloniex seems to be the exchange with the largest volume (I somehow doubt anyone is buying long-positions larger than that) - so it looks like they could at least cash out several thousand bitcoins - although it's been a while since I've been on their site and if they offer API access some of those positions might be automatically diverted as the price moves. [0] http://coinmarketcap.com/currencies/ethereum/#markets…

Poloniex has apparently stopped trading DAO tokens and ETH as well [1]

[1] https://www.reddit.com/r/ethereum/comments/4oiesu/polo_froze...

Re: Critical Update on DAO Vulnerability

#138

Earlier quoted context omitted.

If there is network consensus to do the rollback, then the blockchain stays decentralised.

So can random people who agree with each other completely control everything that happens with the currency? So if there is a company who they dislike can they just decide that they have no money?

Majority of ethereum holders would want to rollback. That is consensus. If they don't hard fork they can keep running an old node. What is the problem?

Re: Critical Update on DAO Vulnerability

#139
It's not as bad as it seems. The hackers have their ETH locked in a Child DAO, so they will not be able to get the ETH out for a long time,by which a fix will be issued. The entire Ethereum Ecosystem is collaborating on a solution.

0.https://www.reddit.com/r/ethereum/comments/4oiib4/dao_is_saf...

Re: Critical Update on DAO Vulnerability

#140
My guess at how the attackers are doing it:

They are calling splitDAO:

https://github.com/slockit/DAO/blob/develop/DAO.sol#L618

splitDAO calls withdrawRewardFor which ends up calling back into the users contract.

https://github.com/slockit/DAO/blob/develop/DAO.sol#L686

        withdrawRewardFor(msg.sender); // be nice, and get his rewards
        totalSupply -= balances[msg.sender];
        balances[msg.sender] = 0;
        paidOut[msg.sender] = 0;
the state is modified after the callback in particular the balances variable.

however, earlier in the function it moved funds to a new dao based on the balances variable.

        // Move ether and assign new Tokens
        uint fundsToBeMoved =
            (balances[msg.sender] * p.splitData[0].splitBalance) /
            p.splitData[0].totalSupply;
        if (p.splitData[0].newDAO.createTokenProxy.value(fundsToBeMoved)(msg.sender) == false)
so presumably an attacker can call splitDAO and then recursively call splitDAO and the funds will be transferred twice. there is also some complications around rewardToken because this state is modified before the callback but apparently it is all zero at the moment.

if this is the bug the attackers are exploiting then maybe if they generated rewards it would stop the drain of funds.

however, the fact the draining is still going on and the DAO people are likely to know how they are doing it and it hasn't been stopped reduces my confidence that this is how the attackers are doing it.

EDIT: to add i don't think you can cash out the new DAO for 28 days so this is probably not how the attackers are doing it.

EDIT: update again.

https://blog.slock.it/dao-security-advisory-live-updates-2a0...

'It would appear the attacker has moved the stolen ether to a child DAO, which means that the funds be moved for at least 27 days.'

-> i'm now fairly confident this is how the attack worked :)

Post reply on HN