A smart contract is an algorithm designed for concluding and maintaining contracts that are automatically performed in a blockchain. These contracts are a code contained in the distributed ledger which is managed by all network participants. The smart contract technology allows exchanging goods and services, money and property, with no mediators.
Smart contracts allow safe transactions without involving banks or governmental authorities. For the parties, these transactions are transparent and irreversible. Smart contracts carry information about the obligations of the parties and penalties that can be applied in case of non-fulfilment of such obligations. Also, smart contracts ensure automatic performance of all terms and conditions.
In 1994, American scientist Nick Szabo, proposed the concept of smart contracts, describing them as a protocol that automatically processes and controls transactions based on math algorithms. In those times, however, there were no decentralized tools that could realize the concept. Long after, when the first cryptocurrency, Bitcoin, and blockchain appeared, these concepts could be turned into reality. Bitcoin protocol included some rules of smart contracts. Nevertheless, the majority of today’s blockchains are Turing-incomplete, so their contracts constitute quite simple structures.
It was Ethereum that made possible widespread practical use of smart contracts. In 2013, Vitalik Buterin, co-founder of Ethereum, came up with the idea that Bitcoin had not been designed for smart contracts, so it was inappropriate to be used as the main protocol for them. Due to that, he decided to develop a protocol from scratch and create one that could be perfectly suitable for smart contracts.
Most frequently, a smart contract is embedded into a blockchain, with its logic deployed in a block that connects all messages related to a certain smart contract. Messages can be inputs or outputs of a smart contract code, and perform actions beyond a blockchain — e.g. in reality. Smart contract design must include the following essentials:
Smart contracts vary in automation level and break down into the following categories:
Blockchain-based solutions are only developing and evolving, so true complex smart contracts cannot be applied in practice today. To date, the majority of smart contracts belongs to the third type — only certain terms are automated (e.g. exchanging money for property rights).
Speaking of the potential of smart contracts, there are lots of fields where to apply them. In one of the next articles, we will look into all possible ways of using smart contracts. Now, smart contracts are transforming our society, having become the technical foundation for changes.