The Ethereum/DAO attack — what’s the message being sent here?


So some guys say “code is law, this time it’s for real, and it sits on the Ethereum block chain”. Then, oops, the code does not do what it was intended to do, and … well, the only thing that comes to mind is Douglas’ Adams “so God said: ‘Oops, I didn’t think of that’ and disappears in a puff of logic.”

It seems to be there are two choices for how to proceed, one worse than the other:

  1. Sorry, everybody, we should have reviewed our code better before inviting you to spend money, and you really shoudn’t have spent your money on code you didn’t review either. “Code is law”, the code executed, and the money went where the code said it would. Yea, none of us realized just what the code said, but that’s just too bad. (This would of course be disastrous for Ethereum Public Relations.)
  2. Yes, we said “Code is law”, but really, we were just kidding. Because “we” (the people writing the code, the people who have the power to hard/soft/whatever fork, in short, “the insiders”) are always more powerful than the code. The code published on Ethereum is “just a suggestion” because if we don’t like what happens when it executes we can and will simply override it to make it do what we want it to do.

IMHO, if #2 is implemented, it throws the entire Ethereum value proposition straight out the window, because all of a sudden you have to create processes and procedures, and meeting minutes, and voting rights, and appointment and recalls and all the messy stuff called “governance” that the “code is law” was supposed to avoid because it’s people that are in charge again, not code. (At least at the level of the DAO.) Is that really what you intend to do? What’s the point of Ethereum then?

Also, from a different angle, suppose the person who has siphoned off all that Ether did invest in the DAO specifically because s/he realized the business opportunity for large profit (“Oh, this contract will pay out if …”). They could probably argue in a court of law that they entered into a contract, and the other party is reneging on it. The contract very clearly means this and not the other, the evidence is clear: all nodes executing the code execute it the same way!

Not that I have a stake in it, but I’d much rather take the choice that is disastrious for public relations over the one that is disastrous for the entire value proposition. Just saying.

, ,