What's in a smart contract?
Smart contracts can help automate and enforce legal obligations set out in an agreement. This article deals with the concept of smart contracts and their underlying technological foundation, future applications and legal implications.
A smart contract is computer code that can automatically monitor, execute and enforce a legal agreement.
Contractual clauses and functional outcomes are mapped as code on the blockchain. By having contract execution automated, transaction costs and dependencies on the other party's performance can be reduced.
An important feature of smart contracts is that blockchain technology impedes retroactive alteration: hence, smart contracts are unmodifiable and final. This also entails that an automated transaction cannot be reversed or rolled back. This might be a challenge when a contract or an action performed under the underlying contract needs to be declared void.
Blockchain technology further enables the verification of a contract’s proper execution through all participants. The network constantly extends the blockchain to record the execution of the contract, and subsequently monitors the blockchain for compliance with the coded terms of the smart contract.
Legally, the early interpretation of smart contracts reduced the smart contract to the sole code, effectively declaring the code as the law itself: self-contained, self-performed and self-enforced. Any mistake or accidental vulnerability of the code would have to be regarded as part of the contract too.
However, applying a 'two-layer' approach is more reasonable, since it positions the smart contract within the wider legal system: the technical layer, the code, is limited to a section of the legal layer, the contract. But both layers have to be co-ordinated and combined to be efficient and legally binding, which is the lawyers' role when dealing with smart contracts.
What's the difference to other automated transactions?
Established forms of automated contract execution of an underlying agreement (such as automated banking payments, standing orders, buying music online and downloading it after payment has been confirmed) differ in the following ways from smart contracts:
- There are third parties involved that retain control over the respective transaction. A bank could interfere in the process and subtract or add money to any account at any time. Instead, smart contracts are not administered and controlled by such third party.
- The computer program is usually run on such third party's computer (server), ensuring, for example, the bank's internal control instead of seeking external validation, which can be done via the use of blockchain technology without the need of an intermediary.
- Traditional forms of automated transactions lack technical flexibility: one can only use the conditions and attributes provided for by the developer of the respective automation application. For example, traditional automated transactions can hardly be triggered upon events, such as specific weather conditions, unless the developer implemented such an option. In contrast, a smart contract permits for such a trigger even if the developer did not explicitly provide for this condition when creating the code.
- With traditional automated contract executions, the code is exclusively in the hands of the third party responsible for it. When it comes to smart contracts, the use of blockchain technology entails that all participants are running the same code, and this code is stored with all participants (or even publicly available). So, smart contracts create trust by using the decentralised, open and cryptographic nature of blockchain technology that allows people to trust each other and transact peer-to-peer, making the need for intermediaries and third parties obsolete.
What's under the hood?
The blockchain – as a public database stored across all network participants simultaneously – captures and monitors all automated contract executions in the exact historical order.
There are already several platforms offering an environment for running smart contracts. The most prominent – and most rudimentary – one is the bitcoin blockchain offering only very limited ability to implement more complex code: the bitcoin blockchain could be used to ensure that all relevant contract parties have (electronically) signed a transaction before a payment is made.
One of the more promising platforms for smart contract applications is the Ethereum blockchain, allowing parties to implement any logic into an Ethereum smart contract. It even offers ether, its own cryptocurrency, which can be used as the medium of payment.
There is also NXT blockchain, which offers a selection of (simple) smart contracts, but it is not possible to go beyond these templates.
What are the applications?
Smart contracts are perfectly suited for agreements between two parties without third-party validation, such as trading in over-the-counter derivatives and the execution of contracts when the triggering event can be measured digitally, eg digital payments, changes in public registries and weather information as published by an official source.
Another field for the application of smart contracts lies with escrow agents digitally confirming that a certain condition in the real world has been triggered and thus serving as a trigger for an automated action, eg a payment.
Smart contracts could also allow information in public registries of, for example, property ownership, population and voters to be stored publicly and safely on the blockchain. Airlines could implement a settlement system for airline passengers regarding their rights, paying out compensation automatically upon delays, thus reducing staffing costs. Further applications could, for the execution of certain compliance tasks, involve the formation of decentralised autonomous organisations, ie organisations whose bylaws are a bundle of smart contracts, thus allowing a set of governance rules to be automatically enforced and executed via the underlying blockchain technology.
With a smart contract, there is only one set of trade terms, predefined as code and self-executing upon the triggering event, such as a payment being made, reducing misunderstandings on contract terms and dependencies on the other party's performance.
But smart contracts also have downsides. For example, deliberate ambiguity in a contract is not possible. So clauses involving terms like 'bona fide', 'using best efforts' or 'to the extent possible' can not be implemented as code and can therefore not be part of a smart contract.
And what about the legal side?
Smart contracts and their various applications will have far-reaching implications in several legal fields, such as contract law (especially regarding general terms, consumer protection and dealing with void contracts), license management, liability for damage resulting from incorrect or incomplete code, as well as corporate law (in particular with decentralised autonomous organisations and similar constructs), regulatory concerns and data privacy issues.
Dealing with void contracts could pose a challenge since any smart contract, once executed, cannot be legally reversed. The parties could agree on further transactions reversing the result of the void transactions but the void transaction would be kept on the smart contract's blockchain.
The most pertinent issue for lawyers will be aligning the legal layer, ie the agreement of the parties involved, with the technical layer, ie the computer code breaking down certain parts of the agreement as logic if-then statements. If these two layers are not aligned properly, a smart contract might generate more legal issues than it aims at solving.