Thief?<p>He strictly followed the terms of a contract by people who were very clear that "code is law" and who did not want institutions were the result is decided by human judgement.
If R2-D2 used Ethereum.<p>C-3PO: He made a perfectly legal move.<p>Han: Let him have it. It’s not wise to upset a Wookiee (The Ethereum founders).<p>C-3PO: But sir. Nobody worries about upsetting a droid (a regular contract user without influence).
Han: That’s cause a droid (regular contract user) don’t pull people’s arms out of their sockets (hard fork the entire crypto currency and call you a thief) when they lose. Wookiees (The Ethereum founders) are known to do that.<p>C-3PO: I see your point, sir. I suggest a new strategy, R2. Let the Wookiee (Ethereum founders) win.<p>With Chewbacca's and the Ethereum founders' behavior, you would be a fool to play their game again thinking that they follow the rules.
"Just as the global WannaCry ransomware attack in May laid bare weaknesses in computer operating systems, the DAO hack exposed the early frailties of smart-contract security and left many in the community shaken because they hadn’t found the bug in time. "<p>This seems like a tenuous connection at best.
This case feels so closely to the very interesting case of Aviva France[1], where a not "well-futureproofed" life insurance contract is making a person very rich by the day.<p>Unfortunately for Aviva, their contracts are actually law in contrast to Ethereum where if the devs feel like it, they can do/revert anything.<p>[1]: <a href="https://ftalphaville.ft.com/2015/02/27/2120422/meet-the-man-who-could-own-aviva-france/" rel="nofollow">https://ftalphaville.ft.com/2015/02/27/2120422/meet-the-man-...</a>
> Another decision he made when he had no idea of the bug shows how quirky and unforgiving code can be. “If the capital ‘T’ in line 666 had been a small ‘t,’ that would also have prevented the hack,” he says.<p>Can someone familiar with this explain how something financially based can have a capitalization flaw? I would expect a smart contract language to have very strict type and variable linking. Humans make many mistakes in coding but most of the time it doesn't cost $55m. A transaction language should be very strict so either the smart contract language is flawed or the author of this article is overstating something for dramatic effect.<p>EDIT: Found this: <a href="https://github.com/slockit/DAO/blob/v1.0/DAO.sol#L666" rel="nofollow">https://github.com/slockit/DAO/blob/v1.0/DAO.sol#L666</a><p>on a deeper dive: <a href="http://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/" rel="nofollow">http://hackingdistributed.com/2016/06/18/analysis-of-the-dao...</a>
One thing not mentioned in this article is that the hard fork was only feasible because there was not much else in the way of contracts on Ethereum at the time, other than the DAO itself. If there had been vast networks of interdependent, concurrent contracts and their obligations, as envisioned by many of the most vociferous proponents of smart contracts, I think a rollback would have been impossible, at least in practice. Next time, they may not be so lucky.
Etherium's fundamental premise -- "code is law" -- presupposes a general solution to the formal verification of program correctness. This is an unsolved problem (and is likely unsolvable in the complete case).<p>Put simply, all code has bugs. How can Etherium ever work in practice at scale?
Part of the problem is they based this language off of JavaScript <i>on purpose</i> no less. It should be hard to make mistakes like this yet a single capitalization would change the semantic meaning enough to prevent this! Terrible design choices for a financial banking language.
He was a thief, in the spirit that the money invested in the DAO was never intended to go directly to one individual (i.e. him). It was an error in the contract, as outed by numerous individuals.<p>Code as law is right, but laws can (and should) change, because the effect they can have can be devastating if loopholes do the opposite of the intention behind the law.<p>The fallacy here is that we have one immutable law that governs everything, that is set at one time and never changed - how ridiculous. This is utter nonsense.<p>The DAO was a beautiful experiment that went badly wrong. In the grand scheme of things, if this was a heist in the traditional sense - everyone would have lost out. But as it stands, it's probably the biggest bug bounty in history.<p>Hopefully no one got hurt. We learn and move on.
I don't understand why people keep complaining it was an "injustice" to reverse the transaction. Most people followed the hard fork the reversed the effects of the heist. If it was that unjust, Ethereum Classic would be the major Ethereum fork now.
Isn't Bruce Wanker the hacker? <a href="https://youtu.be/_O5fdMFKEC0" rel="nofollow">https://youtu.be/_O5fdMFKEC0</a>
> ". Over email, he said, “We might be up the creek ;).” Later, when Gün pointed to the error in line 666, Daian replied, “Don’t think so.”<p>well, isn't the financial law against this kind of incompetence in the first place?<p>I don't think the thieves would be guiltier than the team behind DAO.<p>ps: and line 666??? who the hell keeps a single source-code file that big? no wonder bugs are around...