Blockchain technology has developed and matured during the last five years and is continuing to develop to extend beyond cryptocurrency applications, which today still remains one of the largest and widely recognised application of blockchain.
At the forefront of these applications are smart contracts. But what exactly are smart contracts? Simply put, a smart contract is an agreement entered into between parties which is translated into code and which is capable of being enforceable and executed without the need of third-party intervention.
A smart contract is intended to facilitate and enforce the negotiation or performance of an agreement between the parties concerned. Effectively the smart contract implementation is computer code, which when written to the blockchain is recorded and stored in a manner which cannot be changed or tampered with. The code will describe how the parties are to behave and also automates the ideal performance required.
The execution of the smart contract is made possible through code which assesses whether one or more pre-defined conditions have been satisfied, and if so will automatically execute a function. External data is fed to the smart contract through an oracle, which is a third-party independent input which picks up information and verifies occurrences and submits this information to the smart contract. An example of an oracle would be a software oracle which picks up information online, such as whether flights have been delayed or cancelled.
The distinction between a traditional legal contract and a smart contract is that unlike a legal contract, the smart contract does not only regulate behaviours, it is also capable of performing it.
How do smart contracts tie up with blockchain platforms and distributed ledger technologies? Blockchain and similar distributed ledger technologies, particularly the Ethereum platform, which is the most widely used smart contract platform, have enabled the realisation of smart contracts without the need of having any trusted party called in to enforce the terms of the contract – typically through the use of computer programming which ensures that the contract will have access to digital assets and is capable of storing and executing such assets in a transparent and immutable manner, once the contract is recorded on a blockchain.
The reason behind having a smart contract on a blockchain is to ensure that those smart contracts are secure, transparent and cannot be changed or tampered with – also ensuring that the blockchain network validates the transactions within the smart contract through consensus mechanisms whereby each participant to the network validates the data which is then recorded on the blockchain.
Smart contracts lend themselves well to agreements which have clear conditions which do not require human intervention or do not lend themselves to subjectivity, such as the obligation of one party to pay another party a certain amount on a particular day upon the happening of an event or the delivery of an asset which will take the form of a loan agreement. The code will trigger automatic repayments which can be objectively determined.
A practical example which can be applied to smart contracts is in situations of prediction markets – if we have two parties who want to make a weather prediction, the smart contract is capable of holding both their funds in escrow until a winner is determined, ensuring that both parties do not know the prediction of the other party before committing to their own prediction, having rules set which keeps account of the winner of the prediction and will eventually ensure pay out of the sum to the final winner. All these aspects can be implemented objectively, transparently and without trust between the two parties. The same can be implemented for more complex transactions which rely on various external conditions.
Limitations to smart contracts will arise however where clauses in a contract will require assessment or human input to be conducted, such as is the case in employment contracts where payments by an employer to the employee may require a subjective assessment relating to the performance of the employee, this may be difficult to translate into code automation.
Likewise, clauses in a contract which grant the right to the parties to waive certain rights or obligations or to grant the possibility to the parties to amend certain provisions of an agreement may prove challenging to codify.
When looking at the enforceability of a smart contract, one will also need to understand whether a smart contract will be capable of being legally enforced in a court of law and within which jurisdiction, and whether a court would recognise the codified agreement entered into between the parties as legally binding, valid and enforceable. Does a smart contract which is digitally signed by the parties to it represent a legally binding contract? Identifying which contracts will not be capable of being expressed in code is paramount in ensuring adequate enforceability.
In situations where you have a smart contract that is capable of locking in funds in escrow, should a bug be detected within the smart contract which will not allow for the liquidation of funds to the rightful party, the issue arising will be determining which party should be liable for damages.
Errors within the software may either be unintentional errors which may arise through bugs within the code or may also be errors intentionally caused by users seeking to exploit vulnerabilities within the smart contract. Determining who is liable for such errors may depend on which party is liable for programming or providing the software, identifying the developer of such software may not always be possible.
Issues of confidentiality may also arise when deploying a smart contract on a public network, parties to a smart contract may however decide to have the smart contract deployed on a private network with access being granted only to the contracting parties.
Smart contracts and distributed ledger technology have the potential to transform the way in which parties enter into, perform and enforce transactions, nonetheless challenges need to be addressed to ensure that parties are protected from any undesirable outcome.
This article was first published in the Times of Malta, 10 April 2019.