Technically, no transactions were undone, but the fork agreed to a new state set in the future. The users of the new version also had a choice if they wanted to support the fork or not, the majority went with the fork. It's not like anyone was forced to fork. Actually, you could even run both, and I did for a time until it was clear who was the winner.
This is a screenshot of the choice everyone was asked when starting up their wallet: https://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Et...
Semantic games aside, this is a classic illegal maneuver in corporate law -- I think the term is "freezeout merger."
It works like this: Alex, Beth, and Casey each own 1/3 of FooCo. So Alex and Beth get together and, by a 66% vote, agree to sell the assets of FooCo to BarCo for $1. BarCo just happens to be owned by Alex and Beth without Casey.
It's a nice move for Alex and Beth, right? They just each increased their net worth by 50% with a simple legal formality. In fact, if you think about it, this maneuver is always a rational transaction for the majority shareholders in any corporation. Which is why it's illegal -- otherwise it breaks the game.
So, what do you think Alex and Beth say in this scenario if they're called on it? They say exactly what you said here: Casey didn't lose anything! She still has 1/3 ownership of FooCo, plus she got her 1/3 of the $1 paid from BarCo, fair and square. No harm, no foul.
(No kidding, I've actually had the lawyer for a company that did this to my client try to make this argument across a conference table. Then the lawyer tries to pretend no one has ever had that idea before. Like this wasn't thought of and dealt with about 5 minutes after the first minority shareholder existed.)
A court, and the rest of the world, will find this argument ridiculous. The obvious intention and impact of Alex and Beth's action was to take net worth (in real world terms) from Casey and award it to themselves. They can't avoid that by playing clever games with the labels.
Likewise, the obvious intention and impact of the Ethereum shareholders' actions was to take net worth (in real world terms) from the DAO hacker and award it to themselves.
Play all the games you want with the words, that's what happened. And that's the takeaway: in the law, the minority has protection from the majority. In Ethereum, the majority shareholders rule, and if they decide you don't deserve to have ownership, they can vote to take it for themselves.
It's potentially rational to decide you like your chances better with the majority-shareholder-vote-is-law system than the legal system in your jurisdiction. (If you live in the US or a similar jurisdiction then I disagree, but it's an interesting argument anyway.) But trying to pretend no one lost anything from the hard fork just doesn't fly.
FYI for those who don't happen to know the early Facebook ownership story... Mark Z attempted a variation of this.[1][2]
FooCo would be the Facebook (Florida) LLC created April 2004.
BarCo would be the Facebook (Delaware) Inc created July 2004.
Alex & Beth would be Mark Zuckerberg & Dustin Moskovitz & Sean Parker & et al except for Eduardo Saverin. Casey would be Eduardo Saverin.
>A court, and the rest of the world, will find this argument ridiculous.
Yes, the real world confirms that. After Eduardo Saverin figured out that he was diluted via trickery, he sued Mark. Mark lost and owed Eduardo additional stock (worth billions).
[1] http://www.businessinsider.com/how-mark-zuckerberg-booted-hi...
It's rather inconsistent to on the one hand claim that "that's just how Ethereum contracts work; the hackers should be allowed to keep those funds" even though those hacks would clearly be illegal under US law, then on the other hand turn around and say "forking the currency like this is wrong because it'd be illegal if this was a company operating under US law".
The "attacker" is seen as the "bad guy" so everyone decides to screw him?
The software IS law in the world of Etherium. There is a reason they are called "Smart Contracts", instead of "methods" or "functions". They are designed to be binding.
The DAO having a faulty smart contract is akin to someone agreeing to a bad deal. They feel cheated, but there is nothing legally that they can do.
Personally, I believe there should never have been a hard fork. The people that invested in the DAO were stupid to do so.
The token holders of theDao did not approve running of the attacker's contract, since they did not agree to the attacker's contract. At least that's how I interpret it.
Also, the word "contract" is not the same as a contract in law, it's more of a buzzword. They are just programs. So I don't think a program can have legal meaning by itself because it also depends of the semantics of the machine & how it interprets the programs. What happens if the code is correct, but something in the machine is broken?
The rules of the Ethereum virtual machine were altered later. I think the 'fallback function' now has a limit of 23k gas, correct me if I'm wrong, so attacks like these are more difficult, if even possible.
That's not my argument. My argument is that there's a reason it's illegal under US law (and presumably in other functioning legal systems): because it has to be illegal for the game theory of vote-per-share corporations to work. Otherwise entering a corporation as a minority shareholder is irrational.
If you abandon the legal system's protection for minority shareholders, you're assuming that you don't need those protections -- that somehow cryptocurrency game theory works differently than the game theory of legal corporations. I suspect that's wrong. But either way, we have to at least be clear about the practical impact of Ethereum's hard fork in order to have the debate.
> agree to sell the assets of FooCo to BarCo for $1
This is where your analogy breaks. The classic chain was not sold to the forked chain.
It would be more comparable to Alex & Beth getting together and creating new company, copying all the books & records from the old company (that were public domain), minus Casey's balance. Without buying the old company. Customers of the two companies could go to any company at any time they wish, except for Casey, who is not a customer of the new company. That would be legal in US?
There are a few other issues with your interpretation:
- Coins do not represent shares of a company. There's no stock.
- There's no voting: At most, the miners probably have voting power with their hashrate, however as the linked article stated, a soft-fork was impossible to do, so even the miners could not vote.
- Hardfork was not a vote. Even if you said "Yes" to the hardfork config option, you could still go back and say "No" to play with the classic chain at any point in time. (Refer to the screenshot in my OP)
In my analogy, Casey owned 1/3 of X (a corporation), where X is some social construct with real-world market value in terms of dollars or bitcoin or gold or whatever. The other owners of X worked to transfer real-world market value from X to a new social construct, Y, in order to capture Casey's share of the value. Under the US-law ruleset this is a violation of their fiduciary duty to Casey as a minority shareholder.
In the Ethereum example, the DAO hacker owned 1/20th (or so?) of X, where X (ether) is some social construct with real-world market value in terms of dollars or bitcoin or gold or whatever. The other owners of X worked to transfer real-world market value from X to a new social construct, Y, in order to capture the DAO hacker's share of the value. Under the Ethereum ruleset this is OK.
So we have two different rulesets with different protection for minority stakeholders. It's an interesting question whether (despite this example) Ethereum could end up being more favorable for minority stakeholders overall. But it's not at all interesting to spend time arguing about whether a minority stakeholder was injured by the Ethereum split -- that was the entire, explicit, point of the split, and if you focus on real-world exchange value there's no way to disguise it.
Also, if I change my level of abstraction to think about the problem as you say, it would appear that the attacker was trying to injure the project, opposite to your Casey example, where she was the victim. Those that had 'skin in the game' did what they had to do, to protect themselves from the attacker. I don't think the attacker was naive, they would have known that such a move would inflict a loss of value for the project.
I also think that the hardfork was the best outcome for both parties: Classic represents the value of Ethereum should it have chosen to keep on going with the attacker, and Ethereum Fork is the value representing the attacker absent. Everybody wins, the thief would be pretty happy with their loot regardless (if it's legally theirs, maybe it's not). In your Casey example, she was left with nothing, so it's another important distinction to make.
Btw, thanks for replying and for the debate. It's been a pleasure.
Also in the law, a suitable majority of voters and/or their delegates can change the law concerning the return of stolen property. They can even change the definition of theft if they want, or even change the Constitution. They're the (super-)majority after all. No amount of code or technology can ultimately stop them from having their will. Even the protections you mentioned only exist because some group of people who are more numerous than Alex and Beth have decided that they don't like freezeout mergers.
Some sort of A/B test where there were two versions of Ethereum, one with the fork and another one without the fork. That way we could have known for sure if forking was a good idea or not.
That said, contracts also tend to have many "fail safe" and conditional provisions to handle unanticipated events and edge cases.
It sounds to me (without much understanding of how exactly contracts are programmed) like there ought to be some kind of hard-coded "laws" restricting for controlling what contracts can do. Is there anything like a legal system in Ethereum?
At the time, not hard-forking would have made the very concept of programmable blockchain a no-go area, never mind the damage to the project and the initial investors with some 10% of the whole token supply being drained because of a software bug.
In a way, the decision to hard-fork proves the Ethereum Foundation and community are truly committed to creating a new internet and we will do whatever it takes to make it a success.