Software & Technology
Smart contracts aren’t necessarily well written! The word ‘smart’ is used in a number of contexts to describe the use of information and communication technologies (ICT) to increase operational efficiency. ‘Smart cities’’, for example, use these technologies to share information with the public and improve both the quality of government services and citizen welfare. In a legal context, ‘Smart contracts’ use similar ICT technology to execute legally binding agreements. Smart contracts are going to become increasingly prevalent as we leave it to machines to do stuff for us, Why bother ordering pizza when the fridge can do it for us?
What is a smart contract?
A smart contract is computer code that can automatically monitor, execute and enforce legal agreements.
Back in 1996, Nick Szabo (an American legal scholar, cryptographer and programmer) defined smart contracts as “digital protocols for information transfer that… automatically execute a transaction once the established conditions are met”.
A smart contract is not a contract in the sense of a document, or exchanges of words, letters, emails or other digital communications that can be evidence of legally binding rights and duties. As the term is used in the context of today’s blockchain applications, a smart contract is a set of programmatic rules that can be fully or partly executed in response to user-defined independent input and without the need for further intervention from the parties, the outcome being achieved via computer code.
See our blockchain blog here to understand the context in which smart contracts are generally used at present.
With the emergence of Bitcoin in 2009 as an application of blockchain, smart contracts developed as self-executing contracts that were used to exchange money for bitcoins and exchange Bitcoins for any other goods on the market.
The technology can therefore be compared to a vending machine, where the legal understanding between two parties is initially based on their willingness to transact under a self-executing system.
Different to other automated transactions?
Smart contracts are considered to be partially or wholly self-executing meaning they are not administered or controlled by any third party. This is different from the automated transfers that already take place online such automated bank payments, standing orders, buying music online and downloading it because a third party usually retains control over such a transaction and computer program is usually run on the third party’s server to facilitate it.
What can smart contracts be used for?
Here are a few examples:
- Automatic payment of a customs levy upon delivery of goods to a port.
- Escrowarrangements, under which release of the escrowed asset can be effected upon a designated trigger event occurring.
- Settlement of an insurance policy upon the occurrence of an insurable event.
- Automatic ordering based on supply levels (this has been in existence for some time).
- Royalty management and distribution, involving the automated payment of agreed royalties to IP and other asset rights holders.
- Payment for goods upon delivery.
Is a smart contract a legal contract?
A smart contract is not per se a legal contract. However, provided that all of the requirements for the formation of a legal contract are met (offer/acceptance, valid consideration, an intention to create legal relations and certainty), then there is no reason why, in principle, a smart contract is not capable of being a legal contract, in the same way that binding contracts can be formed electronically through online applications.
A key feature of a smart contract is that, once the code is entered onto the blockchain, it is immutable and so (unless designed otherwise) once a trigger event has been met, its performance cannot be avoided or varied by either party unilaterally. Accordingly, in a practical sense, a smart contract does not need enforcing under English law: self-enforcement is built in.
In any case, the majority of present uses of smart contracts are likely to involve a wider and more traditional framework. For example, access to most blockchain applications will be via a web- or app-based interface which will require the users’ acceptance of legal terms and conditions of use. Additionally there will usually be traditional off-chain agreements which govern the overall legal relationship between the various stakeholders and participants as negotiated between them.
UK Jurisdiction Taskforce legal statement on the smart contract
Some legal certainty on these issues has been added by the publication of a statement on the legal status of cryptoassets and smart contracts, following a public consultation by the UK Jurisdiction Taskforce (UKJT), a taskforce of the Law Society’s LawTech Delivery Panel. On 18 November 2019, the Chancellor of the High Court, Sir Geoffrey Vos, in his capacity as Chair of the UKJT, launched the findings of the UKJT’s consultation, set out in a document entitled Legal statement on cryptoassets and smart contracts.
A key finding was that smart contracts are capable of satisfying the requirements of English law contract formation principles and can therefore be interpreted and enforced using ordinary and well-established legal principles. Subsequently, such contracts can be enforced by the courts.
The UKJT hopes that these findings will bring some legal certainty in this area, thus improving market confidence. The findings are, as yet, untested in the English courts, although they are likely to have persuasive authority. Ultimately, stakeholders are likely to want to see appropriate legislation and regulation to address these issues.
If you are looking to use smart contracts within your business or build a relationship with someone who does then the following needs to be considered:
Testing and auditing a smart contract
Testing a smart contract should comprise quality assurance and user acceptance testing by lawyers, business parties, technical personnel and third party auditors to ensure that the code, among other things:
- Meets the relevant legal and/or contractual requirements.
- Responds to the user inputs properly and as expected.
- Does not contain any bugs or errors.
- Does not contain any security flaws or other vulnerabilities which can be exploited.
- Performs the functionality for which it was developed in an efficient manner.
A host of new and existing businesses offer smart contract audit services.
However, smart contract code is written by humans (at least for the time being) and, therefore, it is highly likely that regardless of the robustness of any testing, the code will be discovered to have some type of bug or error, or there may be improvements which could be made to the code.
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 will be aligning the legal layer, i.e. the agreement of the parties involved, with the technical layer, i.e. the computer code breaking down certain parts of the agreement. If these two layers are not aligned properly, a smart contract might generate more legal issues than it aims at solving given there immutable and irreversible nature.
Legal certainty increasing
Given the recent statement by the UKJT, smart contracts are becoming more legally enforceable and hence, when entering into one, businesses and individuals need to be more wary of their implications. The problem can be that smart contracts are self-executing and therefore easily overlooked.
On a more positive note, such certainty should increase market confidence for those looking to offer financial and commercial services online. Especially those using blockchain.
If you have any questions on the issues raised in this article please get in touch with one of our technology lawyers.