Code is Law and the Quest for Justice
September 9, 2016
People keep repeating the phrase “Code is Law” without clear understanding of what it’s supposed to mean. Some deliberately misinterpret it to mean that “ETC supports thieves and crooks” and similar nonsense. Let’s get some things straight. Code is law on the blockchain. In the sense, all executions and transactions are final and immutable. So, from our (Ethereum Classic supporters) standpoint by pushing the DAO hard fork EF broke the “law” in the sense that they imposed an invalid transaction state on the blockchain.
This has nothing to do with contractual or criminal law, or other legal considerations. Stating that “code is law” is similar to acknowledging the laws of physics. The law of gravity says that when I push a piano out of a window, the piano will fall downwards. It does not mean that it’s necessarily “legal” for me to push that piano out of that window. And if I do so and the falling piano kills some passer-by, it would be insane for me to argue before the judge that I shouldn’t go to jail because I broke no laws of physics.
On Ethereum blockchain, a Turing complete code operates with a very real and tangible value. Because of this, there is always a potential for mistakes and unintended outcomes. There will always be transactions and code execution results that someone is not happy about. There will be conflicts and disagreements, there will be code vulnerabilities and exploits, there will be scams and thefts, there will be all kinds of ugly things.
Who should deal with all these conflicts? Let’s imagine for a moment that we decided ‘the blockchain community’ will take it upon itself to deal with it all.
Who is going to make a call which on-chain code execution is “theft,” and which is not? Is this ponzi contract scammy enough to shut it down? Do we tolerate this dark market while it sells fake ids and marijuana, but draw the line once it starts to dabble in child porn and cocaine?
Should there be a democratic voting system (moot court) to decide on these cases, changing the blockchain state based on such decisions? Should there be a committee that decides what smart contract behavior is ‘unacceptable’ and what transactions are ‘illegal’ enough to justify a hard fork?
What may serve as a basis for such decisions? Where is the applicable body of law? Who is going to be the police, the judge and the jury? What is a due process? What is the appeal procedure? A lot of questions, and no good answers to these questions, when it comes to “blockchain justice”.
But it’s even worse if there is no system at all. If ‘the blockchain community’ just makes a special exception in regards to a ‘special case’, choosing to administer justice ‘just this one time’. What is so special about this case, one may ask? Why does this theft get a special treatment, and the other thefts don’t? Who do you need to know, whose buddy do you need to be to get such exceptional treatment? How are you going to defend such preferential treatment against legal cases citing a precedent and subpoenas demanding reversal of specific transactions?
It’s this whole snake’s nest that could be avoided by refusing to be dragged into conflict resolution and quest for justice as related to smart contract execution. And it only requires sticking to principles of blockchain neutrality and immutability.
So, code is law on the blockchain. All executions are final, all transactions are immutable. For everything else, there is a time-tested way to adjudicate legal disputes and carry out the administration of justice. It’s called legal system.