en
Back to the list

A lawyer's opinion on the viability of smart contracts

27 February 2018 21:00, UTC
Alexey YUROV, coordinator of Rospatent-VEB-VOIR blockchain team

Smart-contract is an agreement between several individuals or companies which is prepared not on paper but as an algorithm. An algorithm (the programming code) is recorded in one of the blocks of the decentralized system and is performed until all agreements are fulfilled (the number of times it is performed also depends on the programmed amount of times and the cryptocurrency limits).

An idea of creating smart-contracts came to Nick Sabo in 1996 but it was implemented in the fundamental concept of Ethereum blockchain at the suggestion of Vitaly Buterin. The smart-contract technology is still associated with Ethereum, in spite of the fact that smart-contracts are used in many blockchain systems.

According to specialists, smart-contracts have certain advantages over usual paper contracts. Firstly, a converting of a contract into the programming code excludes situations when one party amends a contract without informing the other one.
Secondly, for the conclusion of a smart-contract, there is no need for intermediaries (notary, banks etc.), which reduces expenses for contract parties.
Thirdly, assets exchanges take place concurrently, according to the smart-contract terms, thus reducing the risk of fraud.

In spite of all advantages of smart-contracts, their widespread introduction is slowing down due to the lack of legislation, regulating digital agreements based on the programming code. We will try to examine the legal nature of smart-contracts in order to understand the effectiveness of converting contracts and agreements into the computer code.

First, we have to define whether a smart-contract may be considered as a formal contract from a legal perspective. According to legislation, civil contracts may be concluded in written as well as in any other form. Therefore, a smart-contract may be considered as a formal contract, within the framework of which changes of property or of any other rights may occur. It is worth mentioning that a smart-contract, which exists in the form of the algorithm (the computer code) is signed by the two or more parties. We are not going to mention the legal aspect and the importance of electronic signatures as it is not a subject of this discussion as it is a separate topic, to which an article or a series of articles could be devoted.

However, a discussion whether a smart-contract may be considered as one type of contracts is theoretical and does not have practical importance. There are reasons for that.

The initial idea of a smart-contract was that it must be fulfilled without fail in accordance with the smart-contract terms. It means that if it is fulfilled, it cannot be a subject matter of the dispute. This implies that a smart-contract is some kind of a tool providing the fulfillment of legally relevant actions and it is not a complex legal document.

However, in practice, situations, when the terms of a smart-contract are not fulfilled or the code is written incorrectly, etc. may well occur. Then a smart-contract may be a subject matter of the dispute, which will require the intervention of third parties.

It is also worth considering a number of concerns, which may occur while using smart-contracts. Failure to perform the algorithm may indicate not just that one of the parties violates terms of the contract but also that the code reads out inaccurate information.

Let’s say your smart-contract is programmed so that it gives you an opportunity to own real estate, for instance, in Moscow. Even if all terms of a smart-contract are fulfilled, the algorithm, most probably, will not be performed, because information may be in the external environment: with lawyers, land-administration agency Rosreestr (The Federal Service for State Registration, Cadastre and Cartography), etc. In other words, real estate may be sold, but the relevant supporting documentation cannot be considered as the algorithm of a smart-contract, which means that the smart-contract terms are not fulfilled.

From my point of view, a discussion concerning the legal significance of a smart-contract is theoretical, but it does not mean that smart-contracts cannot be used for economic activities. In fact, a smart-contract is easy to use, it is just important to understand its matter and limitations, and it should not be confused with complex papers prepared by lawyers.

Nowadays there are a great number of projects, also in Russia, which try to include all legal science in smart-contracts. I believe it is ineffective, because everyone makes mistakes – lawyers and programmers, but to mix mistakes is wrong.

Smart-contract perfection is narrowly limited to the blockchain platform environment. This is an example of a well-functioning smart-contract: we have agreed with one or a group of individuals to share income in Ethereum by half or in any other proportions. To document these agreements and to prevent misunderstandings or fraud in the future, we conclude a smart-contract, under the condition of which Ethereum will be transferred to the addresses of all contract parties. In this case, a smart-contract will be easily fulfilled, as Ethereum moves within blockchain and remains within its limits.

However, if one part of income should be transferred in Ethereum and the other part should be transferred in rubles to Sberbank, a smart-contract cannot be fulfilled, because the programming code cannot not be implemented beyond these limits. The credibility of smart-contracts, on which ICO creators like to rely on, is strictly limited to blockchain, in which a smart-contract is created.

Many companies, including Microsoft, Oracle and others, work to make the confirmation of the code execution more reliable.

Conclusions: A smart-contract is the code which gives results only within blockchain, if it is fully fulfilled. In this case there is no point to give a smart-contract features of the contract which is effective in court. It will be more effective to draw up contracts properly outside blockchain and, if needed, to connect these agreements to the code, using hashing or any other ways.

From my point of view, a smart contract must not be complicated in order to avoid mistakes and it must be fulfilled as far as possible. In this case, it will not cause any disputes and will be used as an effective tool for a realization of transactions which do not require complex confirmations.