Performing paper contracts often takes a long time and a lot of effort. That is why blockchain programmes are now being developed to accelerate and automate the processes significantly. They are called smart contracts. What are the advantages and disadvantages of smart contracts? What platforms are offered to implement them? Let’s have a deep look inside.
WHAT IS A SMART CONTRACT?
A smart contract is specific software stored in a blockchain system that monitors a performance of a deal. It accepts input data and generates a well-defined result. A ‘smart’ contract is performed automatically without the involvement of the parties. It helps exchange assets without intermediaries.
You can use smart contracts in a variety of areas, from online shopping to elections. Here are some examples:
- Purchases from online stores. Funds are debited from the buyer’s account and transferred to the system. They arrive to the seller upon the buyer’s goods receipt. The contract helps to avoid wasting on C.O.D. (cash on delivery).
- Mortgage. Mortgage requires a huge amount of data on the property and financial status. Smart contracts can reduce costs and time by automating actions, checking verified electronic versions of documents and data in state registries. Lower bank expenses should have a positive impact on interest rates.
- Betting. Let’s say two players bet on the match. Their stakes are written off the accounts and stored in a blockchain. After the match, the program checks the result and pays the money to the winner. The players don’t have to pay the commission to the betting shop.
- Elections. During elections, the votes of citizens can be stored in a distributed registry, which provides the highest degree of protection against interference.
Smart Contract Benefits:
- Autonomy: transactions are performed without intermediaries (lawyers, notaries, brokers, etc.);
- Security: documents are not lost anywhere, and hacking attacks are practically impossible;
- Saving money: the removal of intermediaries eliminates commission and administrative costs;
- Accuracy: you do not have to write/fill in the contract with a risk of committing an error;
- Certainty: there is no value concept in a smart contract, its performance does not depend on a subjective interpretation of legal terminology.
EXISTING AND POTENTIAL PROBLEMS
All situations cannot be foreseen by the code, so failures and vulnerabilities will still occur. You can roll back the deal (paper contracts allow for revisions) in real life, but the program will not do so in the case of smart contracts.
For example, in June 2016, the unknown person exploited the vulnerability of the recursive invocation to attack the DAO Investment Fund (Ethereum) and transferred about $50 million to the subsidiary account. Under the terms of the contract, the funds could be withdrawn from the subsidiary account after 27 days. There was no turning back, because the Ethereum code is the law. However, it had to be changed. According to the results of a blockchain vote conducted by the administration of Ethereum Foundation, all of the funds were sent to a new address, even though they contravened the principles of smart contracts.
Smart contract is written using a code rather than a usual language. Only code (not words in the interface) determines what the program will do. As a result, programmers will need legal advice during the design period.
Regarding the possibility of recording certain terms of contracts, we imply that such conditions can theoretically be translated into a program code. But in order to make such a translation, lawyers and programmers would need to simplify (formalize) the text contained in the contract. It is important to understand, however, that a number of the terms of the contract may be potentially automated, but parties, for various reasons, do not wish to do so.
In addition, parties are limited to the contractual terms that can be evaluated by the program. The use of artificial intelligence and third-party software (‘oracles’) may solve this problem. However, it is difficult to imagine how the program will be able to estimate whether the vendor has done ‘all he can and must do’ in the event of a late shipment, and whether he deserves a full payment despite the expiration of a time limit.
Now blockchains for smart contracts are public: everyone has access to information related to the contract. Consequently, there can be no confidentiality at all. There are two options for solving this problem: develop frameworks with a cryptographic transaction protection and develop a way to separate the transaction verification from viewing its contents.
One more point is legal uncertainty. First, since smart contracts are performed in a decentralized network, the question of the legal jurisdiction of the transaction may arise. Second, despite its name, smart contracts are not necessarily legally valid contracts. Due to the automatic performance of the transaction, the court will not be able to prevent the transaction from being implemented. But if the contract does not comply with the law, any party may potentially sue the court, which will retain the original legal position of the parties, i.e. the so called restitution.
Thus, smart contracts require improvement and some legal regulation. They would be useful only if they save time and money rather than simply replace traditional paper contracts.
SMART CONTRACT IMPLEMENTATION PLATFORMS
Several developers now offer smart contract implementation. The first successful attempt to transfer the processes of interaction between the parties to programmable solutions was carried out by Ethereum. It is now the most famous platform for ‘smart’ contracts used to organize crowd funding, distribute tickets to activities, and even to manage real estate. Several projects (EOS, NEO, Tezos) have passed ICO and collected hundreds of millions of dollars. Another team is coming to ICO, its name is CREDITS. It is a platform with a unique technical implementation of a blockchain developed for smart contracts as well. Main advantages of CREDITS are as follows:
- High transaction rate. Due to the absence of mining (transactions are centrally transferred to periodically changing master nodes for processing), the average time to complete the operation is about 3 seconds.
- High throughput capacity. The platform can handle more than 1 million transactions per second at the same time.
- Low transaction cost. It can be up to $0.001. The cost is valid for micropayments and the IoT.
- All data is archived and the information is compressed to 90%. This reduces the download time and saves space on the servers used to store the data.
- Open source code. Users will be able to build their own applications over the platform.
The project will be able to compete for existing platforms, as it does not yield to its technical characteristics, and in some respects even surpasses them. For example, in Ethereum network, a transaction is performed in an average of 1-2 minutes, and in CREDITS, in an average of 0.1 seconds.
Regarding the legal nature of smart contracts, it is important to bear in mind that the signing of a smart contract in itself will produce legal effects for the parties without a separate legal contract existing. In fact, such a decision would mean that the state (the judicial system) would accept the code fragment for a valid form of contract.
However, there is still much to be done, both in the technology for building blockchain platforms and smart contracts, and in the legal framework for regulating relations between persons who sign smart contracts. And the ready answer is still hard enough to find. Who will monitor the enforcement of the law when concluding smart contracts? How can the right be integrated into code?