The world is gathering in New York City this week to “make blockchain real.” Over the last few weeks, we have provided an introduction to blockchain technology and a background on the current state of blockchain based cryptocurrency technology. This week, we examine blockchain based “smart contracts” to determine if the buzz around this technology is hype or the “killer app” that the Internet was invented for.
Meta Thoughts on the Importance of Contracts and Covenants
Recently in the New York Times, David Brooks offered his thoughts on how to maintain a rich social fabric and build a thriving society. “The weakening of the social fabric has created a range of problems. Alienated young men join ISIS so they can have a sense of belonging. Isolated teenagers shoot up schools. Strong identities can come only when people are embedded in a rich social fabric…” Later in the article, Marcia Pally (Commonwealth and Covenant) suggests that to function, people need “separability amid situatedness”… “We want to go off and create and explore and experiment with new ways of thinking and living. But we also want to be situated — embedded in loving families and enveloping communities. When we go out and do a deal, we make a contract. When we are situated within something it is because we have made a covenant. A contract protects interests but a covenant protects relationships.”
It is important to keep these thoughts in mind as we frame the conversation to come. Contracts and covenants are the glue that holds society together. Covenants have guided the development and operation of religious communities and governments/nations throughout history. Contract law provided the basis for peoples across the globe to reliably trade and transact. Covenants inspire us to act in accordance with our ideals; contracts protect us when we fail.
What is a “Smart Contract”?
Individuals and groups define “smart contracts” in many different ways:
According to Ethereum: “Smart contracts are account holding objects on the Ethereum blockchain. They contain code functions and can interact with other contracts, make decisions, store data, and send ether to others. Contracts are defined by their creators, but their execution, and by extension the services they offer, is provided by the Ethereum network itself. They will exist and be executable as long as the whole network exists, and will only disappear if they were programmed to self-destruct.”
According to Nick Szabo: “A smart contract is a computerized transaction protocol that executes the terms of a contract. The general objectives of smart contract design are to satisfy common contractual conditions (such as payment terms, liens, confidentiality, and even enforcement), minimize exceptions both malicious and accidental, and minimize the need for trusted intermediaries.”
According to AntonyLewis2015: “In the context of blockchains and cryptocurrencies, smart contracts are:
– pre-written logic (computer code),
– stored and replicated on a distributed storage platform (e.g. a blockchain),
– executed/run by a network of computers (usually the same ones running the blockchain),
– and can result in ledger updates (cryptocurrency payments, etc.).”
Do these descriptions seem too technical and complex? Don’t feel bad, you are not alone. Nick Szabo offers a simple metaphor (predating Bitcoin) to help users grasp the basic concept.
How Does a Vending Machine Work?
A vending machine is a common item used to help explain smart contracts. For example, anyone who has coins, paper bills, (or in some cases for advanced machines, credit cards) can use a vending machine (i.e. enter into a contract with the vending machine). By putting the coins, bills or credit card into the machine and selecting the number associated with a candy bar, the machine can determine the price of the candy bar and compare that price with the amount of money inserted into the machine.
The machine can then make a calculation to determine if the user has placed enough money into the machine to purchase the candy. If the user has put too much money into the machine (more than the price of the candy), the machine will make and return the correct change to the user (unless a light or marking on the machine indicates that no change will be given). Once the machine has determined that the inserted money matches the price of the desired candy, it vends the candy to the user. The coins, money, or credit card information are then stored in a locked box within the machine, making it hard for attackers to steal the money.
In this example, the combined actions represent a contract. A user enters into a contract with the machine, and the machine executes the contract. While the machine performs basic “smart” functions and calculations, for the purposes of this example, we need to go one step further.
Vending Machines Plus
“Smart contracts go beyond the vending machine in proposing to embed contracts in all sorts of property that is valuable and controlled by digital means.” In the example above, it would require us to enhance vended items in the machine (let’s switch candy for “smart” car keys). Assume a user puts coins into a vending machine and the machine vends a smart car key to the user. The machine still performs basic functions to determine if the user is eligible to receive the vended product and collects the money for the transaction.
However, in this case, the vended product would perform a set of “smart” functions. What if the physical key would allow a user to manually open a car door, but would only allow the user to use the key to start the car under certain conditions? Via radio control, the smart key could communicate with the car (and remote information systems) and would only allow the user to start the car if the user had paid their monthly car payment (smart lien), was sober (smart breathalyzer), and was a specific person (smart identity).
This vended smart key is a manifestation of a smart contract because it acts as a container for code (which represents the conditions and terms of a contract and can perform the execute actions contained within the contract).
A Few Drawbacks
Smart Contracts are powerful but they are not the automatic solution to every problem. In essence, smart contracts “would be just like having a human who could be trusted to look after assets temporarily and who always did what they were told.” Is this a good thing for banking, insurance, and law? Sometimes yes, and sometimes no. A few drawbacks to consideration:
- Wiggle Room: In an insurance contract, what happens if “force majeure” is in effect and who determines if it is in the first place? Smart contracts don’t provide wiggle room, they simply execute agreed upon instructions. While it is possible to lay out complex instruction sets and variables, it is hard to account for every eventuality.
- Cost: Running a distributed ledger on 10,000 computers is not free (although it can be cheap); there is a cost to maintain the network and transact on the network.
- Security: Putting data on a public or widely distributed ledger could be a privacy risk. Private blockchains could solve parts of this problem, but would increase operational costs.
Building decentralized and democratized systems of stated agreement is core to societal development. For that reason, “smart contracts” may be the killer app we have all been waiting for. Using the blockchain, we can represent and verify covenants and we can enforce contracts (without a trusted third party), removing cumbersome red tape and bureaucracy. With the launch of the Ethereum platform, “smart contracts” now have a shared/standard launching pad offering democratized access to anyone wanting to build a stronger social fabric via transparent business contracting. We may all be witness to the beginning of the next social evolution…stay tuned!