If you’re an attorney practicing in the 21st century, you’ve probably heard of the term “smart contracts.” Smart contracts can accomplish various goals, including to help execute, as well as enforce, the terms of traditional paper contracts, leases, and other written agreements. But what exactly is a smart contract?
Generally speaking, a smart contract is a legally enforceable agreement automatable by computer, and protected by tamper-proof execution of code. However, one’s definition of a smart contract depends on perspective; a computer scientist’s definition of a smart contract is vastly different from an attorney’s definition. From a legal perspective, a smart contract is a contract, or an element of a legal contract, combined with a form of computer code.
For purposes of clarity, the piece of code, or software agent, behind the smart contract will herein be referred to as the smart contract code. From a non-scientific perspective, smart contract code is made up of a series of “if/then” conditions that are embedded into the contract. By way of illustration, an if/then condition functions similar to a traditional vending machine. The vending machine promises to deliver a candy bar to anyone inserting a dollar – if dollar, then candy. Smart contracts incorporate code to essentially become self-enforcing.
But how can a contract enforce itself? Blockchain, or distributed ledger technology (“DLT”). DLT is a general term that refers to methods of maintaining distributed ledgers on networks of computers. DLT is a digital record that is shared and updated instantaneously across a network of users (referred to as “nodes”). The purpose of the network is to ensure that every node agrees on the record with no need to reconcile or maintain competing sets of records. For more on Blockchain click here.
The smart contract injects the if/then code onto the Blockchain when a personal account sends contract code to the data field of an unaddressed transaction. The contract is then added to a “block” and assigned an address, at which point its code becomes immutable. As the parties to the contract perform on their obligations, smart contracts reduce costs by including automatic protocols.
But what if the smart contract contains self-executing “then” statements that the parties do not wish to happen automatically? For example, in the event of a default, a contract may provide the non-defaulting party the option to terminate all outstanding transactions. A non-defaulting party, however, may elect to not exercise such a right to terminate, depending on its relationship with the defaulting party, the time, nature, and extent of the default, or a host of other external factors. Those variables would seem to not translate easily into the code. As a solution, a clever “drafter” of the smart contract can create a bespoke smart contract whereby only certain elements of the contract are “smart.” Rather than trigger an event automatically, a well-tailored smart contract can create an automatic alert to notify the non-breaching party that something is afoul.
Smart contracts also incorporate a host of security mechanisms that allow them to provide additional safeguards compared to traditional contracts. For example, to breach a vending machine’s smart contract, you must break into its lockbox. Similarly, to breach a Blockchain loan contract, you must compromise the most important component of the Blockchain: the consensus protocol. The consensus protocol is the mechanism to achieve agreement on the “truth” when the Blockchain is receiving data from many independent sources. The consensus protocol provides smart contracts with a built-in security mechanism, which in a world where the next data breach might only be hours away, can be invaluable to a client.