"Code is Law" and old Testament Gods
One of my favorite quotes about computers belongs to Joseph Campbell: Computers are like old Testament gods; lots of rules and no mercy.
Despite the frivolity, the statement has enough truth. Computer programs are stupid, pedantic, and absolutely merciless. Most of the major innovations in software development over the last few decades seem to be only trying to protect us from ourselves. Whether it's a common event like development test, or linting in the direction of occult methods like Hoare logic, you can see a great guide here. The development of software, it seems, is the art of mental self-defense.
Beyond my knowledge and beyond the knowledge of any computer scientist to propose a universal method of writing correct code. Even when a loss is worth millions, as in the space industry, we still observe almost comical errors, like the puncture of the NASA metric in 1999. So, this can be a labor of Sisyphus to try to make everything perfect. Do the best we can hope for is mostly a stable app that patches quickly and naturally clean upon reaching a certain level of technical debt? The philosophy of Silicon Valley, "you go ahead, destroy everything" seems to confirm this assumption.
However, at face value, "Code is Law" — is a mantra that demands perfection, and, like the old Testament gods, administers a crushing revenge on the losers. My main point is that this interpretation is wrong. At best it's a misunderstanding, well, at worst, a politically motivated puppet theatre.
It is justified by the statement "code is law"?
When Ethereum started the movement of Legalnosti, the slogan read the code or do not care. My interpretation of this idea is that anxiety cannot exist at the Protocol level. To solve things, connected with human emotions — it is the responsibility of the author, users, and their respective jurisdictions. A Protocol like Bitcoin to it — must be automated Goliath that processes one line of logic after another, until output appears something meaningful.
Such judgments seem to oppress our human sense of morality. We can imagine a modern version of the curious killers, which binds the timer of weapons of mass destruction to smart contract. Should we censor the contract, the bomb did not explode? Whether the paradigm "Code is Law" costs lives? More detailed discussions can be read in the excellent work of Chi, The Ring of Gyges.
The most probable root of this debate grows out of connection of human and computer ethics. The protocols of cryptocurrencies, Autonomous vehicles, drones and other systems that are partially or fully controlled by code, cannot be controlled by human morality. They pulled away from her. Such a reality also makes them very predictable, resistant to corruption and violence. There is no ego to protect it. No bias in judgments.
We are not used to interact with this type of systems. People create exceptions, prejudices and relationships. We build a wide network of contacts to protect yourself from unforeseen problems. We establish political connections to gain advantages. Even more sociopathic to manipulate emotions or get what they want by extortion. This behavior — good or bad — expected and is fully human.
When presented with the current side does not converge with our expectations, we can just enjoy her good qualities, but many immediately want to change its nature, once faced with the consequences. The incident with The DAO is not dramatic in the style of "black Swan." This is the norm. So, we face a strange choice: is it Normal that people would be controlled by the system, which emotionally nothing to do with us?
One-sided concepts
Going back to the beginning, probably the most complicated component of this paradigm lies in our inability to fully Express our intention and will concerning computers. We simply do not speak the same languages, and are unable to achieve sufficient precision to ensure that will not happen unexpected things. It seems unfair to punish someone for the wrong interpretation. However, this concept seems awfully one-sided.
We can easily see the gaps in the computer interpretation, however, that if defective human side? For example, the recent accident of autopilot, Tesla has attracted the attention of the world community. Reporters and consumer groups quickly started to broadcast about the early closure of the development of technology autopilot as the optimum measure of security; empirical evidence clearly show that even in unfinished form, autopilot Tesla is much safer than a drunk driver. How many people are relaxed and distracted drivers kill every year?
Such nuances, I think, is usually lost in the arguments against the idea of "Code is Law". We love to argue, discussing everything from specific details to and General concepts, but do not delve into long-term benefits. The existence of Bitcoin has triggered a dramatic evolution in payment systems and banking. All this provoked a decrease in commissions and inclusion into the global financial system. All of this has occurred without regulation at the Protocol level and without taking human ethics. We had to create humanity outside the Protocol.
Exactly the Ethereum, under the influence of the paradigm "Code is Law" forces us to look at the issue of accuracy on a much higher level. It forces engineers to explicitly encode exceptions path upgrades or protection from errors in their smart contracts. This encourages best practices and punishes more pernicious. It seems evolutionary stimulant to the best standards of engineering. Moreover, it makes people much more carefully consider the motives and consequences.
The main idea here is that code of law does not mean that you have no right to intervene or appeal. He does not say that you need to get past the local laws and regulation. He says that you need to program all this in a smart contract. Even more, where it is difficult to simulate the purpose of programming, the developer can create a meaningful language for his capture, and people will judge later.
This is the steps necessary for secure communication with the old Testament God code. And, they really carry great benefits. You get much better contracts, more clear expression of intention, libraries with open source code that you can use again and emerging government regulation, tailored to account for new technology. Don't need anything like that if you allow human intervention at the Protocol level.
Know thyself
I guess we must have enough courage to travel to new lands. We cannot truly appreciate the road that is ahead, can't predict the events that hurt us, but we can accept the fact that we are imperfect creatures.
The existence of ot protocols is a monument to our intelligence. We've created something that allows us to overcome our own nature and to interact with something completely different.
While interactions have consequences, they make us better and make us think differently. For me, it's a new era of humanity, which we should support. The time has come to know ourselves in the 21st century. Let us not snuff it.
This is nearly identical to an article written by @charleshock: https://steemit.com/ethereum/@charleshosk/code-is-law-and-old-testament-gods