How many times have you lent money to a friend who promised to pay it back on their payday? How many times have they actually paid you back on their next payday?
I am willing to bet that this has happened to almost everyone at some stage of their lives. Wouldn’t it be great if there was a way to guarantee the terms of our agreement? But before solutions are explored, let’s first get a better understanding of the problem we want to solve.
Trust is a complex concept with many different aspects to it. There are often also a lot of emotions involved, especially when things don’t work out and you end up with a broken trust situation. In the example of lending money to a friend, where they fail to pay you back in a reasonable time, you may decide never to lend them any money again. In a worst-case scenario, the friendship may end as a result of the broken trust.
The challenge with trust is that the person lending the money (trustor) has no control over the actions of the borrower of the money (trustee). Only time will tell how trustworthy the trustee was. The trustee cannot be forced to honour an agreement (in most cases) – at least not without some effort, and usually at great cost, by legal actions.
On the other hand, banks seem to have mastered the art of managing trust to a large extent. If we look at the example of a home loan, a bank will hold the property deed at a third party until the bond is completely paid up and closed. Especially these days, they can tell very quickly if an individual will make good on a promise or not. Some popular mobile banking apps will give you an indication of your credit status that can be anything from “Needs work” (red) to “You’ve got this” (green). The further in the green you are, the more likely the bank will be to lend you more money as you have already built up a good reputation (trust) with your bank.
However, not all businesses are banks, but they still may face very similar challenges every day. A typical supply chain is a very good example: a supplier of goods may have to make a number of deliveries each day and they may also have different payment terms with different customers. They have to trust that their customers will honour the terms of their agreement. Their risk lies in cashflow – trusting that enough customers will continue to pay on time in order for the production of goods to continue. There was traditionally only so much they could do to manage their risks.
Some strategies are available to businesses, from building up trust over time before changing payment terms, to escrow accounts. Each of the traditional strategies have their advantages and disadvantages, but they all still have one thing in common: dispute management remains complicated and you may still be losing out.
Enter the world of smart contracts. According to Investopedia, smart contracts can be defined as “a self-executing contract with the terms of the agreement between buyer and seller being directly written into lines of code”.
The smart contract actually contains the agreement itself as well as the code that will execute when certain pre-determined conditions are met. There is no third party involved and the contract lives in the blockchain. Every transaction executed by the smart contract is completely transparent, traceable and irreversible. Depending on the choice of blockchain, there are a number of ways in which the smart contract is actually implemented. For example, on the Ethereum network, a special purpose language is used to develop the smart contract.
There are many use cases for smart contracts in the real world, and when combined with technologies such as IOT/IIOT devices, very powerful solutions can be crafted. One common use case employing IOT can be found in the transporting of goods that require strict environmental quality control. The recipient of the goods needs assurance that the environmental requirements have been met throughout the journey before accepting the goods as in good order. From a smart contract perspective, the receiver can verify the IOT device readings, assuming the devices are integrated into the solution. Payment for the transport company can only be released if all environmental control standards have been met during the journey. The best part is that most of this can happen without any human intervention. In fact, using this approach, the system can even be set up in a way to alert the driver when it seems an environmental control is about to fail.
Another use case can be found in the attendance record capturing in the construction industry. One solution is to capture various contract workers’ biometrics with a handheld device that is also intergraded with the smart contract solution. Furthermore, progress of contract workers can be captured as work progress alongside biometric data of the contract worker and possibly also the quality assurance inspector. The system can then be configured to release payment aligned to the actual progress of the project. Again, a lot of the processing and decision-making happens in code on the blockchain, which means it is virtually impossible to alter records and there is a completely traceable and verifiable audit trail of all actions.
Many other use cases in the mining and retail industries also come to mind and, in a country where fraud sometimes seems to be the order of the day, it is really refreshing to know that there is a practical solution to this problem.
kauri.io, 2020. Ethereum 101 – Part 5 – The Smart Contract. [Online] Available at: https://kauri.io/#collections/Ethereum%20101/ethereum-101-part-5-the-smart-contract/ [Accessed 10 February 2021]
Investopedia, 2019. Smart Contracts. [Online] Available at: https://www.investopedia.com/terms/s/smart-contracts.asp [Accessed 10 February 2021]
Nico Coetzee, Enterprise Architect (Cloud Architect) at Ovations