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 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 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.
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.
It might be hard to conceptualise at first so let’s have a look at a real-life smart contract use-case:
At this point, there are 3 possible outcomes:
In a conventional agreement, we can therefore affirm that:
Here, the smart contract releases the funds automatically to Alice.
Programming the bet on a smart contract offers two tangible benefits:
Creating such interactions would typically require multiple steps:
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.