By Agathe Barcelo, Journalist at The Fintech Times.
In April, we were lucky to sit in on some interesting conversations regarding smart contracts at The Blockchain Global Expo 2018 in London. Talks mainly revolved around the development and future application of smart contracts, whilst also acknowledging their inherent limitations and challenges.
A brief overview of smart contracts
It is often said that smart contracts are digital platforms that enforce a relationship with cryptographic code. This automatic, certain enforceability of the contract leads us to the statement: ‘smart contract technology enables a world where trust can be digital’. Although their implementation is in its early days, and much improvement is still needed (technologically speaking), the concept of smart contracts is not a particularly recent one. In fact, the use of computerised systems to enforce such contracts has always existed. The difference offered by blockchain technologies lies in the fact that it provides the opportunity to develop electronic contracts that feature genuine autonomous execution. The distinctness between smart and traditional contracts lies in two differences, something that underpinned the discussions heard at the Expo. The first difference is the fact that smart contracts can allow for partial performance by computers, without the parties’ direct intervention. The second is that the enforceability of a smart contract can be either of the traditional legal kind, or a novel execution of computer code. The enforceability of these contracts was a major concern during the Expo.
The legal question
The idea that computer code and legal drafting were two antagonistic concepts provoked great discussion during the panel ‘Smart Contract Management and Innovation’. During this panel, different experts, like Alfred Shaffir, CEO and Co-founder of iOlite, and Marcus de Wilde, Business development Manager at Applied Blockchain, worked together to reconcile both ideas and explain their different views on the matter. The central role that human decision-making and interpretation plays was acknowledged by the speakers in their analysis, especially in two specific scenarios. The first was that complex contractual arrangements with legal requirements cannot be encrypted into smart contracts, highlighting the fact that legal complexity cannot always be equal to a code. The second revolved around legal governance. Traditional contracts allow us to recognise the parties, also a distinctive feature of smart contract technology. The antagonism between developers who are experts in coding, and lawyers who master the science of law, makes smart contract performance sometimes challenging. Speakers raised the issue on whether “programming code is very different from everyday language we use to draft contracts” and asked open-questions like “Is code law? Should law undermine the code?” Finally, speakers concluded that “programming code is very different from everyday language we use to draft contracts”. This main question further relates to a broader concept offered by Harvard Professor Lawrence Lessig, author of Code, and Other Laws of Cyberspace and coined the phrase which predicted that ‘The law of cyberspace will be how cyberspace codes it’. This is commonly known as ‘Code is Law’.
The idea that the code used in smart contracts is just regarded as a code, with no room for ambiguity or arbitration, was further discussed by Dr. Frank Emmert, Co-Founder of PrepayWay, on the Panel: “Smart Contracts on the Blockchain: Legitimacy, Validity, and Enforceability”. During this panel, Dr Emmert analysed three sets of three different problems that can be encountered between the seller, the buyer and the platform when forming, performing, and enforcing smart contracts. Finally, Emmert detailed how their business plan was built around solving the problem of arbitration.
More significantly, smart contracts are not always secure, and this security greatly depends on the program and code used. Probably the most known platform, Ethereum, uses the ERC-20 token standard and Solidity code. The most famous case of security shortfall with regards to smart contracts was the hacking of the DAO (Decentralized Autonomous Organization) on the Ethereum network, accounting for a loss of $55m. Interestingly, the hacker reaction highlighted the interesting parallels and differences between smart contracts and their real-world equivalents. Because the hack was conducted in complete accordance with the coding principles within the DAO, the participants fully supported this hack, which then led to the now infamous hard fork of the Ethereum network. This is reflective of the ‘Code is Law’ principle popularised by Professor Lessig, and a concept that proved a hot topic on the panel ‘Smart Contract and Innovation’. Furthermore, following a recent research effort into Ethereum smart contracts, one company found tens of thousands of bugged contracts, which could potentially allow for the relatively easy theft of tokens.
The other challenges that are currently present in smart contracts have originated in the technological limitations in their underlying software. Like any programmed code, smart contracts are subject to vulnerabilities and, as complexity increases, so do the risks.
Paradoxically, the technological advantages of smart contract logic have become a disadvantage. As Mike Barbarelli, Full-Stack Developer from FarmaTrust, commented; “Obviously, the fact that blockchain data and information is immutable, is a positive feature. But it also represents a problem when you are trying to build features on top of the blockchain.” Blockchain developers like Mike Barbarelli have been looking for different strategies to tackle the upgradability problems arising from the technology.
Another way to overcome the technical problems inherent in smart contracts is to alter the nature of the Blockchain technology being used. This is what Stratis proposed at the Expo, via their panel presentation. Stratis is the platform that is using C# coding in smart contracts. Whilst their platform has other goals and potential use-cases, part of the logic behind it is to process the installation and development of blockchain by using a more familiar programming code than Solidity. This would go some way to addressing the risks and security problems that are inherent to the smart contract platforms, as well as to increase the universality of smart contracts and their subsequent audit. In a discussion The Fintech Times had with Chris Trew, the CEO and Founder of Stratis, he very clearly stated Stratis’ goal and the problem they are aiming to solve: “What differentiates us is that our smart contracts can be coded in C#. So, if we take Ethereum for example, the platform discussed uses a new language, whereas with ours it chooses mature language with mature tools and a huge community of developers that know this language. Once we start seeing smart contracts using C# coming through, there will be a huge community able to audit those smart contracts and therefore limit the issues that other smart contracts platforms have had.” The Global Expo offered us the unique experience to see how different experts view the developments and have tried to overcome the limitations of these applied technologies that are very likely going to disrupt the business world.
Having analysed the major challenges discussed at the Blockchain Global Expo 2018, it would be interesting to forecast the possible improvements of smart contracts, both in the short and long-term. Looking to the shorter term, applications of smart contracts will develop for automated and straightforward payment contracts. As a long-term trend, the development of smart contract technologies may herald the beginning of a general transformation of contracts from paper documents to self-executing code-agreements.
However, there is a desire within the community to move away from conventional thought processes of execution and enforceability.
A tempting shortcut might involve focusing on artificial intelligence (AI), which is rapidly maturing, and relying on the fact that soon computers will be able to process human language on a par with humans. This means that an AI solution would be able to interpret the language of a contract and carry out its performance, essentially as robotic agents of the parties. Enthusiasts of blockchain technologies may argue that the fact that a smart contract would not be recognised as a traditional legal contract is ultimately irrelevant, if it effectively performs the same function as a traditional contract.
As Mike Barbarelli stated: “As you probably well-know, data is what powers the engine of artificial intelligence right now, and it is better to have cleaner and reliable data. I think as smart contracts continue to utilise them, and more is learned over time, that will simply make it a better data-set for the AI that may interact, execute or enforce them.”
Despite the current challenges discussed, in the longer term, it is difficult to imagine that the execution and performance of legal agreements will not be transformed by the trends of digitisation that are remodelling many other spheres of human activity.