What are smart contracts?

Difference between smart contracts and conventional ones

Why are smart contracts considered as "contracts?" How do they differ from traditional ones? Here we'll study about cryptocurrency's hottest innovation: programs that can automate a monetary relationship based on code.

Conventional contracts

Conventional contracts are agreements that define stakeholder relationships, be it related to a transaction, inheritance or consumption.

Typically, valid standard contracts are enforceable by law, meaning if you decide not to honour the terms of a contract, you are vulnerable to legal recourse.

However, you are not physically forced: there is always a trust factor to consider before entering a contractual relationship with a peer.

Going legal is at the end of the day an inefficient and resource draining exercise that (most) people would like to avoid. The current legal and judiciary system may take years to resolve a litigation, and sometimes decades in some jurisdictions.

Smart contracts

Smart contracts try to solve this issue by automating the terms of an agreement with a few lines of code.
They are computer programs that execute pre-defined contractual conditions, at a certain point of time, to ensure an agreement is ultimately honoured.

In other words, a smart contract is a programmed transaction protocol that runs desired operations depending on pre-defined scenarios.
It does not have to be a legal contract per se, rather, it aims to minimise the risks of bad faith, make sure an agreement is honoured and automate tasks.

Here’s a quick recap of the difference between both.

  • Smart contract agreements are always honoured. Since it is a computer program, the outcome will be automated as per the initial terms and conditions.
  • If a formal agreement is not honoured, parties may remind each other, send follow-ups, renegotiate the terms or undertake legal action.

Ethereum allows developers to smart code contracts on top of its blockchain using its programming language, Solidity.

Rather than “smart contracts” which is a term introduced in the 1990s, Ethereum refers to them as “automated agents” in its white paper, because it enables the issuance of large-scale computing operations between users and other smart contracts.

Smart contract case study

It might be hard to conceptualise at first so let’s have a look at a real-life smart contract use-case:

  1. Alice and Bob decide to bet a fraction of their savings on the occurrence of an event.
  2. Alice wins the bet if the S&P 500 reaches its lowest 10-year performance in the next month.
  3. If the condition isn’t met within 15 days, Bob loses.

Conventional agreement

  1. Alice and Bob enter an agreement (handshake, contract).
  2. Both track the S&P performance manually.
  3. Alice wins the bet.

At this point, there are 3 possible outcomes:

  • Bob pays up
  • Bob delays payment
  • Bob refuses to pay up

In a conventional agreement, we can therefore affirm that:

  • Alice and Bob have to track the event manually.
  • Bob might breach the agreement.

Smart contract automate interactions

  1. Alice and Bob create a smart contract that automates the terms of the agreement and tracks S&P performance.
  2. Both send the money to the smart contract that will release the funds, either at the end of the month, or when S&P reaches the predefined metric.
  3. Alice wins the bet.

Here, the smart contract releases the funds automatically to Alice.
Programming the bet on a smart contract offers two tangible benefits:

  • Alice and Bob do not need to track the S&P 500. A smart contract automates this task and rewards the winner accordingly.
  • They send the money to the smart contract, which disburses the funds directly to the winner. It reduces any risk of bad faith in an agreement and avoids any disputes because it is automated.

Creating such interactions would typically require multiple steps:

  • Set the conditions of the bet (deadline, participants, etc.)
  • Check S&P 500 performance.
  • Hold the money and disburse to the winner based on the above.

Running smart contracts on the network has a cost, and it depends on the computing power required to execute it: this is when Ether transaction fees come in the picture.

The same way ERP and CRM automate supply chain and client communication, smart contracts can automate any real-life interaction.