One of the main reasons why blockchain attracted so much attention lately, is probably due to the possibility that it can allow deeper layers of trust between members in a given network. Blockchain technology has been described as a technology that is trustless, anonymous, available and decentralized. What enables this, is its underlying algorithm, able to be built upon and blended into multiple solutions. If properly developed and integrated within the network, blockchain can radically change the way two users agree on the terms and execution of a contract of any kind.
An innovative solution brought by blockchain is Smart Contracts. These are basically pieces of code inserted in a software that has been developed on a blockchain network. Smart contracts hold all the critical information about the parties involved in the agreement and the obligations they are tied to, for the timed extension of their endeavours. In a Smart Contract, there are no papers to sign and, more importantly, no third parties to pay to as the algorithm itself takes the role of watchdog.
As smart contracts can be automatically executed by a computing system, the potential benefits of smart contracts include low contracting, enforcement, and reduced compliance costs; which consequently makes them more economically viable. This is beneficial when compared with traditional contracts for managing numerous low-value transactions.
Smart contracts do present a certain degree of lack of humanity as the resulted terms are non-negotiable once they have been laid down in the code. However, it is also irrefutable that Smart Contracts allow for these types of relationships to become cheaper, faster and terms-protected. If one party stops complying with the terms, the contract will automatically break on his side.
How Smart Contracts Works. Source: Blockgeeks
Besides its computing driven structure, a smart contract operates exactly on the same terms as a traditional legal contract. This includes the negotiation part. Take the example of a transaction such as selling/buying a digital asset:
In a smart contract, if two parties would like to sell/buy a digital asset, they wouldn’t need to use a third party authority to validate the transaction. They would just need to use one of the many distributed ledger platforms online that allows for these types of contracts, agree upon the terms, duration, obligations and execution, and when signing up, both would then automatically comply with the contract’s agreement. In fact, smart contract code can be written directly onto a block and can be examinable by the contracting parties ahead of time, just like a traditional legal contract.
Nowadays, the Ethereum network is the most advanced and developed platform working with smart contracts. Ethereum allows developers to program their own smart contracts, or ‘autonomous agents’, as the ethereum white paper, calls them. The language is ‘Turing-complete’, meaning it supports a broader set of computational instructions. In fact, Ethereum’s platform has been built specifically for creating smart contracts.
Smart contract applications
The broad range of benefits that Smart Contracts can bring point to its functionality in ‘multi-signature’ accounts, so that funds are spent only when a required percentage of people agree; they can manage agreements between users, say, if one buys insurance from the other; provide utility to other contracts (similar to how a software library works) or store information about an application, such as domain registration information or membership records.
Another advantage of Smart Contracts is that they reduce what is called counterparty risk. What is written in this type of relationship is unambiguous as the contract carries out the one and only meaning of its code. All parties involved in the contract, operate on the stated terms that binds them. If any party stops complying with any of its terms, it will be clear for the computer to pinpoint who did it. Traditional contracts have always been subjected to some degree of uncertainty. Smart contracts, however, leave minimal space for breaches in agreements. Entrusting networks with agreed terms reduces the chances of disputes, which are time-consuming and expensive.
There are also many challenges within Smart Contracts development
Challenges of Smart Contracts
Nonetheless, and despite all potential benefits, smart contracts still face many challenges, which is preventing them from achieving widespread acceptance. The first one, as it was pointed out by experts at ICAEW academy is legislation. They state:
Courts would have to recognise that the operations of smart contracts are legitimate ways to transfer ownership and value between parties, and that the terms of smart contracts are enforceable in case a breach somehow does occur. What’s more, an answer would have to be found to the question: What redress is available if the smart contract is exploited in a way not expected by one of the parties? Could intent override the letter of the code?
Besides law compliance, smart contracts are more prone to computing issues such as bugs and errors. No digital platform, software or code is problem-proof. The Ethereum’s network is as subject to hacks and issues, as any other computer program. Research carried out in 2018 by the National University of Singapore and University College London found over 34,000 vulnerable smart contracts on the Ethereum network. They have also identified how attacks resulted from the exploitation of poorly-coded contracts, loopholes, and other vulnerabilities.
One example its the DAO (a smart contract-driven investment vehicle created for the Ethereum blockchain) that had much of its funding hijacked through a loophole in a poorly-written smart contract. There was a fierce debate on how to solve the issue. This eventually led to a fork, with most participants agreeing to roll back the loss of funds, but some kept the status quo and became a separate blockchain, which now exists under the name Ethereum Classic. This rollback was only possible because more than half of the participants agreed to implement it.
It will take a bit of time to develop smart contracts, “talking” to outside systems, day in, day out, and for these to become refined, systematised and properly regulated. For this to happen it is also crucial to have a proper cybersecurity strategy ready to deal with the new issues brought by smart contracts, because with their development we will also see new avenues for potential malicious activity.