What is a smart contract?
A smart contract is a computer algorithm designed to facilitate the conclusion and support of self-executing contracts performed in a blockchain environment.
Such contracts are recorded as code existing in a distributed ledger – a blockchain – supported and controlled by a computer network. Simply put, clever contracts allow exchanging assets resorting to no intermediary services.
What are the perks of smart contracts?
Smart contracts allow performing reliable and confidential transactions without any involvement of third-party intermediaries like banks or government institutions. Moreover, such transactions are traceable, transparent, and irreversible.
Smart contracts both contain information about the obligations of the parties concerned, including sanctions for any violations, and ensure automatic execution of all the contract terms and conditions.
How did smart contracts appear?
Nick Szabo was the first computer scientist to offer the idea of smart contracts in 1994. He described a smart contract as a computer protocol which, based on mathematical algorithms, independently conducts transactions, fully controlling their implementation.
For the first time, Szabo’s ideas found their application when the first cryptocurrency – Bitcoin – and the blockchain technology, as its basis, appeared. The Bitcoin protocol includes some principles of smart contracts. Nevertheless, most modern blockchain networks, including Bitcoin, are not Turing complete. That is why their “contracts” are relatively simple in structure, such as multi-signature or deferred-execution transactions.
Smart contracts received a wide practical application along with the Ethereum project’s appearance and development. In 2013, Vitaly Buterin, the Ethereum founder, came to a conclusion that the Bitcoin network poorly fits to be a basic protocol for smart contracts since its design originally pursues a different purpose. Consequently, Buterin decided to create the most suitable protocol for smart contracts from scratch.
How does a smart contract operate and what are its obligatory entries?
A smart contract is typically recorded to a blockchain ledger, where all its logic is placed in a software container – a block. It holds all the messages related to a specific smart contract. These messages can operate as inputs and outputs of the smart contract code and result in some procedures outside the blockchain either in the real or digital environment.
Smart contract required attributes:
- resorting to electronic signature methods based on public and private keys available to two or more parties performing under an agreement;
- availability of a private decentralized environment (e.g., Ethereum), which contains smart contracts and supports inputs and outputs for software oracles connecting the real and digital environments;
- agreement scope itself and instruments necessary for its execution (cryptocurrency payment accounts, software oracles, etc.);
- precisely described execution terms which the parties to the agreement endorse by their signatures, as well as the digital data source reliability.
What kinds of smart contracts exist?
Depending on the automation level, smart contracts can be:
- fully automated
- duplicated on paper
- predominantly on paper with some provisions duplicated in the software code (for instance, when only payments are automated)
Such solutions, based on the blockchain technology, are at an initial stage of development at the moment. The technologies undergo testing and improving. That is why sufficiently complex smart contracts seldom find their application in practice for the time being. As of today, the overwhelming majority of smart contracts belong to the third type where only specific aspects speculated in agreements are automated, such as exchanging monetary assets for property rights in particular. Here is an example: using a smart contract via a decentralized marketplace Propy, an apartment owner located in New York sold their apartment in Kiev, receiving payment in Ethereum.
Where else can smart contracts be used?
Smart contracts possess extensive potential opportunities and application areas, starting with simple multisig transactions and finishing with transactions dealing with financial derivatives. Multisig or escrow transactions are the basic, classic examples of a smart contract. Using this procedure, counterparties who do not trust each other can freeze a specific amount of coins in the blockchain. Then, in case there is a necessity to spend this amount, more than half of the participants have to sign this transaction.
Smart contracts are widely used in initial coin offering (ICO) campaigns. For example, a smart contract may have an algorithm ensuring that the crowdsale participants will automatically get their money back in case the campaign, which they support by sending their cryptocurrency to the project’s purse, fails; if the ICO’s financial goal is achieved, the developers will receive the money. However, the transaction will be carried out provided that a sufficient number of multi-signature key holders activate their keys (if stipulated) and thus personally confirm the project is conscientious.
Many experts consider the financial market (banking services, insurance, derivative trading), accounting and audit, supply chain management and logistics, property rights registration, all kinds of voting processes, smart transport, digital identity, and others to be the most promising areas where smart contracts could be used.
What are the advantages of smart contracts when compared to traditional agreements?
Smart contract advocates believe that many sorts of contractual relations can be partially or completely self-executing. Cryptography, being the basis for smart contracts, provides a higher security level compared to traditional legislation-based agreements. Smart contracts can reduce transaction costs, exclude the risk of ambiguous interpretations of agreement terms, or prevent unfair court judgments.
Thus, we can highlight the following advantages of smart contracts:
- autonomy (there is no need to look for an intermediary like a broker, bank, notary, etc. to conclude and confirm transactions);
- reliability and security (a multiply duplicated contract remains in an encrypted form in a blockchain ledger);
- the system security is guaranteed by mathematical laws and brings down hacker attacks probability to a minimum, as well as makes retrospective data diddling unlikely;
- cost-effectiveness and time rate – blockchain technology utilization excludes multiple intermediaries and automates processes;
- accuracy – manual work minimization and automation reduce the probability of errors often appearing when filling out forms, during the reconciliation process, and while performing various transactions under the contract manually.
Do smart contracts have weaknesses?
Smart contracts are far from perfect: the blockchain environment is still underdeveloped and critical errors occur even in the code itself. Moreover, there are still multiple gaps in the legal and regulatory framework for smart contracts, and the oracle software, designed to ensure digital and real worlds interaction and provide the smart contracts with input data for execution, are poorly developed. All these downsides create certain obstacles hindering the integration of smart contracts into the companies’ and individuals’ daily activities.
In certain cases, smart contracts are less flexible compared to conventional ones. Once entered into a blockchain ledger, the data remains unchanged with no possibility to correct it in the future. That is why it is critical to observe the accuracy and reliability of the baseline information, as well as to avoid any mistakes while entering data.
Furthermore, openly distributed ledgers are not suitable for many banks and large corporations due to sensitive and confidential data which they cannot disclose. There are still some pressing issues connected with scaling and transactions processing speed as well.
Many developers focus their efforts to solve these and other issues and limitations, and at the moment, they are solved differently within various platforms. The progress forges ahead, and many issues and difficulties will be solved in the future anyway. Eventually, economic agents will completely switch from conventional contracts to their digital incarnation and will even implement them, resorting to artificial intelligence support.
Read more on Ethereum: