Smart contract is an electronic algorithm designed to automate the execution of blockchain contracts. The main idea of smart contracts is to eliminate the discrepancy between the interpretation of the terms of the contract by the parties that signed it.
The author of the idea of smart contracts was Nick Szabo, who in his texts from 1996-1997 proposed to use a computer algorithm with a user interface to perform transactions in the field of electronic commerce. According to the author, the description of the terms of the contracts was to be made using mathematical tools and programming languages. In practice, Vitalik Buterin first realized the idea of poor contracts in his ETH project in 201З.
The implementation of Szabo’s idea was possible with the advent of blockchain technology, which ensures the reliability and protection of a poor contract due to the following factors:
- Decentralized type of system. Neither party to the contract can change the text of the document because a copy of the contract is stored in a registry distributed among many network nodes.
- Open databases. The contract terms are available to all blockchain participants, which simplifies the audit of contract performance.
- Formalization of contract conditions. Verification and compliance with the terms of the contract is done by the program code (if-this-then-that (IFTTT)), therefore the possibility of incorrect performance of the contract is ruled out.
- Atomic Proxy. The contract will either be successfully implemented or not implemented at all.
- Turing complete. Turing-complete is a programming language, thanks to which users can create any contract themselves.