Every time you buy insurance or register to use an online service you are asked to read and accept a set of terms and conditions almost as long as the four volumes of War and Peace. Of course, the gods among you may have read it all—Tolstoy and the legal agreements— but the the rest of us, mere humans, we struggle to find the time, so we cut one or two corners as we race through modern life.
Legal agreements regulate exchanges of value between two or more parties. As relationships become more complex over time, these contracts tend to grow exponentially. As a consequence, the transaction fine print has become so opaque and complex that parties must rely on intermediaries, such as corporations, lawyers, and regulators, to make sense of the endless pages of mind-numbing legal jargon. These brokers have taken full control of an ecosystem that relies heavily upon them and move to extract more value than they produce. The system becomes highly corrupt as the intermediaries who control it have the most to gain from its opaqueness, complexity, and inefficiency.
Best practices in the software industry teach developers to write the test before they code the feature. This method ensures that the developer has a solid understanding of the functionality to be delivered before they spend any time on coding the feature. Test-driven development is one of the most important practices in the elimination of waste and improvement of quality in software delivery. A smart contract uses the same principle; it forces the parties involved in a transaction to codify or verify the agreement before the exchange of value occurs.
Although software is undoubtedly the most important source of progress in the last century, we should not ignore that code is not infallible and that smart contracts could shift control from lawyers to software developers and to those who can afford computing power.
What is certain is that codification of rules into an executable program reduces ambiguity and increases clarity.
Read the next post in this series: Crypto and Private Digital Interactions – Blockchain Part 2