Why Do We Need Smart-Contracts? What Shall We Expect from Smart-Contracts?

09.04.2016

Smart-contracts based on blockchain technology are often up against specific problems. Michael Mainelli and Bob McDowell, experts of the analytical center Z/YenGroup, tell us about the best methods of resolving these problems.
 
Contract with not simple but a smart code
Smart contracts represent one more example of a fantasy that has become true. Nick Sabo, an IT specialist, began using this term still in the beginning of 90-s. In fact, this phenomenon has taken on a dimension only recently, the reason for that is the invention of Bitcoin and blockchain technology. The opinion exists that if to focus on the cryptocurrency payment system, all money can be transformed into smart-contracts.
Smart-contracts differ from a simple code in their functionality. Larry Niven (an American science fiction writer) once noted that people do not hate computers – they hate bad programmers. Sometimes a code is written for one purpose, but in the process its mission can be changed.
Smart-contract’s structure includes several elements. Transaction is not just a transfer of a virtual currency from one user to another one. It should involve two or more people (well, the same situation with other types of contracts).
The substance of the contract is disclosed when it becomes a part of a distributed ledger. On this stage a man is excluded from the process and the contract realization becomes autonomous – a code deploys an ordinary element “what if…”
 
Protection
A computer code differs from natural language in lack of ambiguity. When it is necessary, the code reads off a vast number of computers, then it activates in the network.
“Sprites” are often used to ensure codes. Thirty years ago this term was used to describe common code languages. They were used to integrate graphics into videogames. Languages that characterize codes of smart-contracts are targeted at slowing down the code analysis in order to avoid its duplication in two different operations. Sprites employ capabilities of lingua franca for realization of their own purposes assuming that coders will control them.
 
Etherum control
In most cases smart-contracts use a special architecture. To ensure safe entering of the smart-contract’s code several new programming languages have been created. Etherum is considered as the most popular among them because it is capable of providing automated compliance with the contract.
In the abstract, it is possible to develop platforms for duplicating traditional certificates into a programmed version – “smart certificate”, which will be kept in the distributed ledger. This solution will help optimize administrative function and reduce total number of errors, as well as quantity of documents executed for confirmation of transactions.
 
Pragmatic constraints
Regardless of obvious advantages, there are some difficulties with smart-contracts.  It was offered earlier to use them for monitoring of predictable markets or elections in the USA. But as the program depends on external data which is difficult to be verified, it is not self-sufficient.
 
Where smart-contracts are applicable?
It is a common practice to involve third party or legislative system to ensure adherence to the terms of the contract. It is risky to rely on the latter as disputes are resolved not by a single algorithm but in several ways: expert opinion or arbitrage is required. In business models where implementation of conditions is interrelated with, for example, service level, it is impossible to give any guarantees.
Smart-contracts are able to offer modern solutions for these tasks; however, financial technologies are still tightly connected to the conservative paradigm.
 
There is no rush
Implementation of smart-contracts into well-known systems of market and society operation is a rather long process that requires improving several vulnerable issues:

  1. Failure prevention: execution of a contract lasts for a short time while distributed ledger is less under the influence of long-term processes.
  2. Elimination of reliance on external sources: the most realistic smart-contracts are impractical without continuous data updating. This process complicates their structure or makes a human factor an obligatory condition of contract execution. That is why preference is given to those contracts that depend only on registry (ledger).
  3. Avoidance of support blocking: significant decline in market liquidity can be a result of restrictions in support of smart-contracts that are responsible for payment transactions.

Like any other novelties smart-contracts should be thoroughly tested to avoid fatal errors. It is necessary to begin deploying smart-contracts in simple tasks, such as creating security keys, archiving, etc. Employment in these processes will allow contracts earning a great reputation.
In the future, for creating contracts that require human involvement (for example, expert judgement or arbitrage) the term “smart-contract” won’t be used. As we mentioned above, this is due to the lack of a mechanism for verification of data provided by people.
Today smart-contracts are frequently used in management of identification information, commercial voting rights and digital assets’ ownership.
Smart-contracts remain relevant for the blockchain due to lack of human involvement that represents a destabilizing factor. As soon as smart-contracts are included into the blockchain they become autonomous that is why they are called “smart”.


Back