A smart contract is a computer algorithm designed to conclude and maintain self-executing contracts performed in a blockchain environment.
Such contracts are written as the code that exists in a distributed registry – a blockchain that is maintained and managed by a network of computers. In simple words, smart contracts allow you to exchange assets without resorting to the services of intermediaries.
What feature smart contracts?
Smart contracts enable you to perform reliable and confidential transactions without the involvement of external intermediaries in the face of banks or government agencies. In addition, such transactions are traceable, transparent and irreversible.
Smart contracts not only contain information about the obligations of the parties and sanctions for their violation, but they automatically ensure the fulfillment of all the terms of the contract.
How did the smart contracts come about?
The first ideas of smart contracts were proposed in 1994 by Nick Szabo. He described the smart contract as a computer protocol, which, on the basis of mathematical algorithms, independently conducts transactions with full control over their implementation.
For the first time, Sabo’s ideas were put into practice together with the emergence of the first crypto currency, bitcoin and the underlying technology of blockchain. Some principles of smart contracts were laid down in the protocol of bitcoin. However, most modern blockchains, including bitcoins, do not have Turing completeness, so their “contracts” are relatively simple constructions, such as multi-signature or deferred execution transactions.
A wide practical application of smart contracts was with the appearance and development of the project Ethereum. In 2013, the future of its founder Vitalik Buterin concluded that Bitcoin is not well suited as the base protocol for smart contracts as originally was not designed for this task. Subsequently, Buterin decided to create from scratch the most suitable protocol for smart contracts.
How does the smart contract work and what are its mandatory elements?
Typically, a smart contract is written in blockchain, where all of its logic is placed in the software container – the block. The latter combines all messages related to a particular smart contract. Messages can act as inputs and outputs to the smart contract code and lead to actions outside the blockchain, in the real or digital world.
Mandatory smart contract attributes:
- use of electronic signature methods based on public and private keys available to two or more parties to the agreement;
- the presence of a private decentralized environment (for example, Ethereum), in which smart contracts are recorded and which supports inputs and outputs for oracles that connect the real and digital world;
- the subject matter of the contract and the availability of instruments necessary for its execution (crypto-currency settlement accounts, oracle programs, etc.);
- precisely described conditions for its execution, which the parties to the treaty confirm with a signature, as well as the reliability of the source of digital data.
What kind of the smart contracts are there?
Depending on the degree of automation, smart contracts can be:
- Fully automated.
- With a copy on paper.
- Predominantly on paper, with some provisions transferred to the program code (for example, when only payments are automated).
Solutions based on the blockchain are only at an early stage of development. Technologies are being tested and developed, so in practice, for the time being, really complex smart contracts are not being used. To date, the vast majority of smart contracts are of the third type, where only certain aspects of agreements are automated, in particular, the exchange of funds for property rights. Example: a purchase using a smart contract apartment in Kiev through a decentralized marketplace Propy (payment was conducted in Ethereum, and the seller was territorially located in New York).
Where else can smart contracts be used?
Potential opportunities and areas of use of smart contracts are extensive – from simple multi-signature to transactions with derivative financial instruments. Multi-signature is the simplest, classic example of a smart contract. With its help, don’t trust each other counterparties can freeze a certain amount of coins in blockchain so that in case of need to spend this amount will require signatures of more than half of the participants.
Smart contracts are widely used in the field of primary distribution of coins (ICO). For example, a smart contract can be programmed in such a way that by sending crypto-currency to the purse of the project, the members of the crowdsdale will be sure that in the event of a campaign failure their funds will be automatically returned; If the ICO’s financial goal is achieved, the funds will be transferred to the developers. However, this will be done provided that a sufficient number of participants in the multi-signature (if it is provided for) activate their keys, thereby personally confirming the conscientiousness of the project.
To the most promising areas of application of smart contracts, many experts refer to the financial market (banking services, insurance, derivatives trading), accounting and audit, supply chain management and logistics, registration of property rights, all kinds of voting, smart transport, digital identity, and so on.
What are the advantages of smart contracts in comparison with traditional contracts?
Supporters of smart contracts are convinced that many types of contractual relations can be partially or completely self-executing. The underlying smart contracts cryptography provides a higher level of security than traditional contracts based on the law. Smart contracts can reduce transaction costs, as well as exclude the risks of ambiguous interpretations of conditions or unfair judgments of courts.
Thus, among the main advantages of smart contracts can be identified:
- autonomy (to conclude and confirm the transaction, you do not need to look for an intermediary in the person of a broker, bank, notary, etc.);
- reliability and security (a multiple-duplicated contract is stored in an encrypted form in the blockchain;
- the security of the system is guaranteed by mathematical laws and makes hacker attacks unlikely, as well as substituting information backdating);
- saving and speed – thanks to the blockbuster many intermediaries are eliminated and processes are automatized;
- Accuracy – due to automation and minimization of manual work, the probability of errors that often appear when filling out forms during the reconciliation process and when manually performing various operations under the contract is reduced.
Do disadvantages smart contracts?
Smart contracts are far from perfect: the blockchain-infrastructure is still underdeveloped and there are critical errors in the code itself. In addition, there are still many gaps in the legal regulation of smart contracts, the oracle programs that are designed to ensure the binding of the digital world to the real world and provide the input data for their execution are not developed. All this creates certain obstacles for the integration of smart contracts into the daily activities of organizations and individuals.
In some cases, smart contracts are less flexible than conventional contracts. Information flowing into the blockchain can’t be changed in the future, therefore it is extremely important to observe the accuracy and reliability of the source information, as well as to avoid mistakes in data entry.
In addition, many banks and large corporations are not able to exchange confidential data through open distributed registries. Also, the problems of scaling and transaction processing speed are still relevant.
The solution to these and other problems and constraints is directed by the forces of many developers, and within the various platforms they are solved in different ways. Progress does not stand still, and in the future many issues and problems will be solved, and economic agents will completely switch from traditional contracts to their digital implementation and even to their implementation with the support of artificial intelligence.