I don't know anything about Ethereum, but if functions rely on external shared state then they aren't pure functions, are they?
Chasing the DAO Attacker’s Wake – A second exploit
31–40 of 180 posts
Re: Chasing the DAO Attacker’s Wake – A second exploit
#32Every article I see on etherium mentions the DAO. Not one of them explains what it means. Gotta love unexplained acronyms!
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
#33Every article I see on etherium mentions the DAO. Not one of them explains what it means. Gotta love unexplained acronyms!
Here, I googled it for you https://daohub.org/
Re: Chasing the DAO Attacker’s Wake – A second exploit
#34Potential 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.
Re: Chasing the DAO Attacker’s Wake – A second exploit
#35Every article I see on etherium mentions the DAO. Not one of them explains what it means. Gotta love unexplained acronyms!
Re: Chasing the DAO Attacker’s Wake – A second exploit
#36Isn'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…
Re: Chasing the DAO Attacker’s Wake – A second exploit
#37This 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/
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
#38Nearly 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,…
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
#39Nearly 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,…
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
#40Interesting 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?
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.