Live data from Hacker News

Chasing the DAO Attacker’s Wake – A second exploit

pdaian.com

31–40 of 180 posts

Re: Chasing the DAO Attacker’s Wake – A second exploit

#31
Interesting Ethereum uses the term "function" however in programming we understand a pure function to be an operation that always returns the same result given the same inputs.

I don't know anything about Ethereum, but if functions rely on external shared state then they aren't pure functions, are they?

Re: Chasing the DAO Attacker’s Wake – A second exploit

#32

Every article I see on etherium mentions the DAO. Not one of them explains what it means. Gotta love unexplained acronyms!

It means "Decentralized Autonomous Organization".

It's usually used as a common term ("I'm creating a DAO"), but these guys called theirs "The DAO". This attacker exploited "The DAO".

Re: Chasing the DAO Attacker’s Wake – A second exploit

#34
post #14

Potential vector of attack to look for, not an exploit. Thus, flagged.

It's an exploit because you can do this live on the DAO (and potentially other deployed contracts) today. Vector of attack for future contracts but already impacts the DAO.

At best, the headline is^H^H was inaccurate then.

Re: Chasing the DAO Attacker’s Wake – A second exploit

#36

Isn't this just a normal data race with stateful actors? Something modified the data while A is calling B (doesn't have to be B, could be any X) in between a call and its response. The answer to this is that mutation needs to be kept under control. Immutable data structures in mutable buckets. Locking around the data that mustn't change. Deep copy all state before calling out. And so forth. This is basically an under…

Unfortunately, worse is better.

Re: Chasing the DAO Attacker’s Wake – A second exploit

#37
post #23

This reads a little sensational. The original source [1] referred to in the article looks at the issue in more detail. [1] http://pdaian.com/blog/chasing-the-dao-attackers-wake/

Agreed the original article does a great job. However, without the "sensational" title and simpler explanation people were not paying proper attention to this.

The original article discussed a bunch of other things as well -- everyone should read it to understand the details.

Re: Chasing the DAO Attacker’s Wake – A second exploit

#38
post #20

Nearly a year ago I made the comment -- "Who are these people[1] and what credentials do they have to build and run a cryptocurrency platform?" [1] https://angel.co/ethereum-1 Today, not a single cryptographer, mathematician, or anyone with software security experience is listed on the Ethereum Foundation member list[2]. I am not attacking any individuals by themselves, but as a group this says a lot. For the record,…

just for a point of reference:

https://www.torproject.org/about/board.html.en

granted a few people with the right background, but also a bunch with backgrounds like those you listed.

Re: Chasing the DAO Attacker’s Wake – A second exploit

#39
post #20

Nearly a year ago I made the comment -- "Who are these people[1] and what credentials do they have to build and run a cryptocurrency platform?" [1] https://angel.co/ethereum-1 Today, not a single cryptographer, mathematician, or anyone with software security experience is listed on the Ethereum Foundation member list[2]. I am not attacking any individuals by themselves, but as a group this says a lot. For the record,…

They've claimed the involvement of Ralph Merkle and Neal Koblitz.

https://twitter.com/IOHK_Charles/status/463794004492951552

https://twitter.com/ethereumproject/status/43337626144945766...

Of course, I haven't seen anything other than those two tweets to indicate their involvement....

Re: Chasing the DAO Attacker’s Wake – A second exploit

#40

Interesting Ethereum uses the term "function" however in programming we understand a pure function to be an operation that always returns the same result given the same inputs. I don't know anything about Ethereum, but if functions rely on external shared state then they aren't pure functions, are they?

Ethereum (well, Solidity) calls them methods, not functions, and everybody agrees that methods are potentially state changing procedures.

Moreover, there is a staggering amount of precedence for using "function" without implying purity, so even if Solidity did call them functions, that would be entirely normal terminology.

And, well, the entire point of invoking a contract is to effect some change to the state of the blockchain, so it would be strange to expect that Solidity methods were pure functions.

Post reply on HN