What is a smart contract?
Smart contract is a computer algorithm designed to conclude and maintain self-executing contracts executed in the blockchain environment.
Such contracts are recorded in the form of code existing 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 is the catch of smart contracts?
Smart contracts make it possible to carry out reliable and confidential transactions without the participation of external intermediaries in the person of banks or government bodies. 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 themselves automatically ensure the fulfillment of all conditions of the contract.
How did smart contracts come about?
The first ideas for smart contracts were proposed in 1994 by Nick Szabo. He described the smart contract as a computer protocol that, based on mathematical algorithms, independently conducts transactions with full control over their implementation.
For the first time, Szabo’s ideas were put into practice with the advent of the first cryptocurrency Bitcoin and the underlying blockchain technology. Some principles of smart contracts were laid down in the Bitcoin protocol. However, most modern blockchains, including Bitcoin, do not have Turing completeness, so their “contracts” are relatively simple constructs, such as multi-signature or delayed execution transactions.
Smart contracts have gained widespread practical use with the advent and development of the Ethereum project. In 2013, its future founder Vitalik Buterin came to the conclusion that bitcoin is not suitable as a basic protocol for smart contracts, since it was not originally designed for this task. Subsequently, Buterin decided to create from scratch the most suitable protocol for smart contracts.
How does a smart contract work and what are its mandatory elements?
Typically, a smart contract is written to the blockchain, where all its logic is placed in a software container – a block. The latter combines all messages related to a specific smart contract. Messages can act as inputs and outputs of the smart contract program code and lead to some actions outside the blockchain, in the real or digital world.
Mandatory attributes of a smart contract:
- the 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 written and which supports the inputs and outputs for oracles that provide communication between the real and digital world;
- the subject matter of the contract and the availability of the necessary tools for its execution (cryptocurrency settlement accounts, oracle programs, etc.);
- precisely described conditions for its implementation, which the parties to the agreement confirm with a signature, as well as the reliability of the source of digital data.
What are smart contracts?
Depending on the degree of automation, smart contracts can be:
- Fully automated.
- With a copy on paper.
- Mostly on paper, with some of the provisions transferred to the program code (for example, when only payments are automated).
Blockchain-based solutions are only at an early stage of development. Technologies are tested and refined, so in practice, really complex smart contracts are not used yet. Today, 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: buying an apartment in Kiev using a smart contract through a decentralized Propy marketplace (payment was made in Ethereum, and the seller was located in New York).
Where else can smart contracts be used?
The potential opportunities and areas of use of smart contracts are wide – from simple multi-signature to operations with derivative financial instruments. Multisig (multisig, escrow) is the simplest, classic example of a smart contract. With its help, counterparties who do not trust each other can freeze a certain amount of coins on the blockchain in such a way that, if necessary, to spend this amount, more than half of the participants will need to sign.
Smart contracts are widely used in the field of primary coin distributions (ICOs). For example, a smart contract can be programmed in such a way that by sending cryptocurrency to the project wallet, crowdsale participants will be sure that if the campaign fails, their funds will be automatically returned; if the financial goal of the ICO is achieved, then the funds will be transferred to the developers. However, this will be done provided that sufficient