Skip to main content

What is a smart contract?

10 Feb, 2021 Martin Petkov
smart contract

Humanity is well acquainted with the concept of contracts. A contract is an oral or written agreement with a set of conditions. In the modern world, the contract terms' fulfilment is ensured by a third party - the state. Moreover, to draw up the text of the contract, a lawyer is needed. Otherwise, gaps and inaccuracies may remain in terms of the agreement. And if one of the parties violates the terms of the contract, you need to go to court, and court proceedings usually cost a lot of time and money. But in the foreseeable future, this situation may change - thanks to smart contracts.

Traditional contracts

What are smart contracts, and how do they work? What advantages and disadvantages do they have over traditional contracts? What are their applications? We explain the answers to these frequently asked questions in the rest of this article.

We can code wills, escrows, trusts, notaries, revocable chargebacks, proof of contracts, intellectual property enforcement. What Wall Street does can be done in code by Bitcoin. - Naval Ravikant, entrepreneur, investor, and co-founder of AngelList

Smart contracts explained

A smart contract is a computer programme that monitors and enforces the performance of contractual obligations. The parties prescribe the terms of the agreement and sanctions for their failure in it and sign it digitally. The smart contract independently determines whether the terms have been fulfilled and decides whether to complete the transaction and transfer what is required (money, shares, real estate property titles), impose a fine on participants or close access to assets.

The history of smart contracts

The principle of smart contracts was first described by the American cryptographer and computer scientist Nick Szabo in the early 1990s, long before the advent of blockchain technology. According to Szabo's concept, smart contracts are digital protocols for transmitting information that use mathematical algorithms to execute a transaction automatically after conditions are met and to control the process fully. However, in the 1990s, this concept could not be implemented. At that time, the necessary technologies — blockchain— didn't exist.

In 2008, Bitcoin, the first cryptocurrency created on blockchain technology, appeared. However, the Bitcoin blockchain's ability to create smart contracts are very limited. Smart contract development really began with the emergence of the Ethereum network in 2013. Today, while the market offers many platforms that enable smart contracts, Ethereum remains one of the most prevalent.

How a smart contract works

Unlike traditional contracts, a smart contract independently monitors the fulfilment of the conditions specified in it and makes decisions based on them. Smart contracts function in a specific decentralised network that stores them and ensures they function properly. They are written in a programming language, so only an IT specialist can read them.

To sign smart contracts, parties use electronic signatures presented as encryption keys. If all the prescribed terms of the agreement are met, the smart contract completes the transaction by distributing assets between the parties. If the conditions are not met, the smart contract imposes fines or closes parties' access to assets. As you might guess, to do that, a smart contract must have access to control over the assets specified in it.

An example of a smart contract

It should be kept in mind that the smart contract code is in the blockchain and has no contact with the outside world. However, for a smart contract to make decisions, it needs to contact the outside world and receive the necessary information. That's why there are so-called 'oracles', mechanisms that detect and confirm real-world events and transfer data about them to the blockchain for a smart contract to use.

The function of oracles can be performed by:

  • Measuring instruments, such as a thermometer or light sensor
  • Specific network participants who provide services to the blockchain system
  • Additional blockchains built on top of the main one.

RFID chips are sometimes used as oracles.

The advantages and disadvantages of smart contracts

Smart contracts… guarantee a very, very specific set of outcomes. There's never any confusion, and there's never any need for litigation. - Jeff Garzik, co-founder and CEO of Bloq

Among smart contracts' main advantages are:

  1. Transparency. Each participant in the arrangement has access to tracking the course of events through the blockchain.
  2. None of the participants can add, change or delete entries without other participants' consent.
  3. The automated system for executing transactions removes the human factor and ensures high accuracy in contract execution.
  4. Smart contracts do not rely on any third parties for their execution.
  5. Significant savings by eliminating intermediary costs and reducing operating costs.
  6. Reduced time spent on processing documents.

However, despite all the advantages, smart contracts have several significant weaknesses.

  1. It's very difficult for a layperson to understand and create a smart contract without help from an IT specialist.
  2. The contract's immutability leads to a lack of flexibility. Since all conditions are clearly pre-programmed, an error can't be corrected if one is made when entering data.
  3. The legal status of smart contracts is still unclear. Although legislators in many countries are already working on this issue, smart contracts' recognition by governments is currently the exception rather than the rule.
  4. Smart contracts' transparency also has its downside, as it makes all the contract's bugs and vulnerabilities visible to everyone.
  5. The dependence on oracles makes smart contracts vulnerable to abuse.

The advantages and disadvantages of smart contracts

Advantages

Disadvantages

Transparency

Difficulty

Immutability

Lack of flexibility

Removal of the human factor

Unclear legal status

Removal of third parties

Safety issues

Lower transaction costs

Dependence on oracles

Time efficiency

 

Smart contract applications

Smart contracts can be used anywhere, but doing so is expensive and pointless. The most reasonable use for them is for standardised, repetitive transactions whose execution is easy to track.

  • Perhaps one of the most promising applications for blockchain and smart contracts is supply chain management. Modern logistics is a very complex process that comes with huge volumes of documentation and, as a result, high transaction costs. Using smart contracts can solve many of the problems facing modern logistics.
  • Smart contracts in the insurance industry can optimise the document flow in insurance business processes and the processing of insurance claims and compensation payments in typical insurance cases.
  • Banking services. Smart contracts can reduce banking costs, primarily by automating the procedure for concluding and executing loan agreements.
  • Internet of Things. The security and immutability of blockchains, together with smart contracts' capabilities, make them quite promising for the Internet of Things. Smart contracts can allow transparent mechanisms for interaction and exchange of values to be established between smart gadgets.
  • Securing copyrighted content. Copyright holders and content creators can use smart contracts to charge for the use of their intellectual property transparently.
  • Smart contracts can also be applied in governance, real estate, healthcare, employment contracts and other areas.

Most popular platforms for smart contracts

There are already several platforms on the market that allow you to create smart contracts. Let's take a look at the most well-known among them.

Ethereum smart contracts

The Ethereum blockchain platform was originally designed to create smart contracts. It's also the undisputed leader in terms of the number of users. The flexibility of the contract creation system allows users to design the most complex smart contracts. The programming of smart contracts and decentralised applications on the Ethereum platform is carried out using the Solidity language.

This platform's disadvantage is the use of an ERC-20 standard token, which is prone to an error: a user who sends tokens to a smart contract using the "transfer ()" command irrevocably loses his money.

Ethereum's website

Neo smart contracts

Neo is a blockchain platform for digitising and managing assets using smart contracts. Neo supports several different programming languages for creating smart contracts (C#, VB.Net, JavaScript, F#, Java, Kotlin, Python) that make it easier for programmers to develop decentralised applications on it.

Neo's website

Other notable smart contract platforms

NEM's website

Exchange BTC

Mining icon
Want Bitcoin for free?

Try our Bitcoin Cloud Miner and get additional crypto rewards based on your trading volume. It's immediately available upon registration.

Start mining

Mining icon
Want Bitcoin for free?

Try our Bitcoin Cloud Miner and get additional crypto rewards based on your trading volume. It's immediately available upon registration.

Start mining

Welcome to StormGain — crypto trading platform!

Trade with 200× multiplier.