The phrase “smart contract” was first coined by Nick Szabo, a computer scientist, law scholar and cryptographer. Szabo wanted to bring the practices of contract law into the digital era and bridge the gap between law and computer science. A smart contract can be defined as a computer programme, stored on the blockchain, which executes when certain future events take place. Smart contracts have an almost unlimited potential and will soon find application in many of our day-to-day interactions.
In his paper called “Smart Contracts”, published in 1994, Szabo details the definition of the smart contract and goes into a technical analysis of some of its applications. He points out that some crude examples of smart contracts existed at the time of publishing, being Point of Sale terminals, Electronic Data Interchange and allocation of public network bandwidth.
A crude form of a smart contract which is used daily is exemplified when purchasing any digital item online – such as an electronic book, or software. A smart contract is initiated when the purchaser agrees to pay for that item and provides their credit card details. The funds are transferred from the purchaser to the merchant’s bank. If successful, the merchant receives an approval message, and the item is made available to the purchaser for download. This simple example, however, does not show all the characteristics associated with smart contracts.
A smart contract’s operation can be best explained through an example:
Say for instance, that Albert wants to lease a laptop from LeaseTech – a company specialising in leasing electronic equipment. The terms of the agreement are as follows: Albert will receive access to the laptop upon payment of a deposit to a secured holding account. The deposit will be held by the network until Albert returns the laptop to LeaseTech. Upon receipt of the laptop, Albert must pay his monthly usage fee to be given electronic access to the laptop. Once the term ends, Albert is responsible for returning the laptop to the supplier, who then refunds the deposit and the pro-rata portion of the monthly fee.
The smart contract will ensure that the laptop is not dispatched to the delivery address until the deposit is cleared and reflects on the appropriate wallet/account. Upon receipt of the laptop, Albert can create his user profile or log in. His credentials will be verified by the network once he enters them and if the monthly fee is paid, the laptop will become usable. Upon the expiry of the period, or whenever Albert wishes to end the contract, his access will expire, and he will have to return the laptop to the designated location. Once the laptop is cleared as being in fit condition, the deposit is transferred back to Albert and the contract is terminated automatically.
You might wonder why this would be more desirable than a traditional written contract – both seem to serve the same purpose; it is only the medium which changes. This is a misconception as there are certain characteristics native to smart contracts and blockchains, which do not necessarily carry over to their written counterparts.
With smart contracts, the terms of the contract are written into code, as an executable programme, which is then added to the blockchain. Once added to the blockchain, the code is no longer accessible for editing, solidifying the terms of the agreement. This provides certainty and security for those using the contract. No one is able to change the terms and the blockchain provides them with a permanent record of the agreement. This record is, usually, public to all who access the blockchain.
Smart contracts are decentralized applications. The application is facilitated by the blockchain, usually the Ethereum network. This means that they are applications which are not stored on a single computer, but rather are stored across a multitude of computers all communicating on the same network. This feature provides security to all parties involved in the transaction as the programme cannot be manipulated from a single computer. Smart contracts need to be validated by other people on the network, as is the case with other blockchain transactions.
Blockchain networks use consensus mechanisms to verify the validity of data entered into the blockchain. A consensus mechanism requires the computers connected to the network to verify that the transactions being processed are accurate and make sense considering the history of transactions on the network.
This means that if a smart contract is stored on the fictional “lease blockchain”, every other person making use of that network will have a responsibility to validate transactions from time to time. This validation provides further security as no one party is in charge of ensuring that the terms of the agreement have been met. All validators must agree in order to release the funds, dispatch the laptop for delivery, provide access to the laptop and transfer the monthly fee. This is a feature of the blockchain, making it decentralised – a term you might hear more often in the context of decentralised finance. This ensures that transactions and the ledger of transactions cannot be manipulated by a single user and that errors and glitches do not slip under the radar.
Are smart contracts simply code?
Smart contracts are, to a degree, simply code. It is this code which represents an agreement between two or more parties and which may also be used to execute that agreement. The agreement (the ‘meeting of the minds’ between the parties) can be found in the terms according to which the smart contract executes. For example, between LeaseTech and Albert there is an agreement that Albert lease a laptop for a certain period, at a certain price, and with the payment of a deposit. The code itself helps execute this agreement, and it can also be the medium on which the agreement is recorded.
Under South African law to form a contract, the parties involved need to reach an agreement on all the material terms of the contract – there needs to be a meeting of the minds on the terms of the agreement. This agreement usually takes the form of an offer and subsequent acceptance of the offer. The general rule is that parties may express their intentions in any form they wish, provided their intention remains clear.
For an offer to be valid, it needs to be firm, complete, clear and certain. These requirements mean that the offeror needs to intend for the offer to create legal obligations, the offer must contain all material terms of the agreement. It is important to note that lines of code would not be in plain and understandable language, and would not necessarily conform with the requirements of a valid offer. The average person will not necessarily be able to decipher the lines of code and extract the terms of the agreement from the code. Therefore, often something else is needed for a valid offer to be properly communicated to the offeree.
For example, in Albert’s case perhaps he made his first payment to LeaseTech and entered the smart contract through LeaseTech’s website, which stated the lease terms and how they are executed. It is to these terms we would look to when determining what the agreement between Albert and LeaseTech was, not necessarily only the lines of code on the blockchain. Albert’s lease agreement would not differ tremendously from standard lease agreements, save for a clause which explains the operation of the smart contract to be used in the agreement.
So, are smart contracts useful?
The interpretation and legal enforceability of smart contracts do not depend only upon the code on the blockchain, but also on the context in which the agreement takes place. Without understanding the words, a written contract is just a piece of paper with ink on it. The same is true for the code which represents smart contracts.
The unique characteristics of smart contracts, their immutability, public nature, decentralisation, and transparency, can provide security and legal certainty on a number of issues left to argument when litigating against on a traditionally written contract. Issues such as ownership, possession, fraud, embezzlement, late payment, and breach of contract may be made black and white when using smart contracts, as this information is clearly available and largely irrefutable. Providing a decentralised system ensures that no single party is ever in control of funds, allows delivery and payment notifications to acquire more evidential weight and prevents the embezzlement of funds and the opportunity for fraud to take place. These qualities may provide useful application when smart contracts become more popular over time.
Currently, the availability of smart contracts is limited. The hope is that many mainstream industries will start making use of smart contracts for day-to-day activities. From banking to insurance to conveyancing, the smart contract is an upcoming legal tech tool which has great potential for application in our digital world.
Contact us today for more information on the legal interpretation of smart contracts.
For more information on South Africa’s treatment of crypto assets, see here.
About the author
Sven is has a passion for both law and people. A graduate of the University of the Free State (LLB), Sven started his articles with Dunsters in 2021. He is fluent in German and previously worked in Munich in sales partner management and compliance. Sven’s areas of interest lie in international trade law and financial compliance.
Outside of the office Sven is a keen adventure seeker and tries to spend most of his time out in nature. When the weather is not playing its part however, you will find Sven enjoying a coffee and listening to a good podcast.