What are Smart Contracts?
Notes from the video ‘Diffusion Academy| Grammar |What are Smart Contracts?‘ :
Origin of the term Smart Contracts
Before we answer this question, let’s take a look where the term, smart contract, originated.
Back in 1996, Nick Szabo, a computer scientist, law scholar and cryptographer used the term, ‘smart contract’ in his paper, “Smart Contracts: Building Blocks for Digital Markets’. You can check out this paper in the link below.
Nick Szabo described a smart contract as ‘a set of promises, specified in digital form, including protocols within which the parties perform on these promises.’
Definition of ‘Smart Contracts’
To put it simply, smart contracts are just like the contracts in the real world, but they are written into lines of code and stored within a blockchain.
Properties of Smart Contracts
Smart contract has several properties:
Firstly, it is self-executory.
Smart contracts are lines of code and the code behind them contains specific terms that are executed when triggered by conditions agreed by parties in the contract.
Since smart contracts are designed and implemented within blockchains, they also inherit some of the blockchain’s properties.
For example, smart contracts are immutable, which means that they cannot be changed after it is created.
Smart contracts are distributed. This means that like every other transaction on a blockchain, the outcome of a smart contract is validated by everyone in the network. Distribution makes it impossible for any attacker to force a contract to perform a certain outcome because others on the network will spot this attempt and mark it as invalid.
Because of these properties, smart contracts permit transactions and agreements to be carried out between parties without the need of a trusted third party.
Illustration of how smart contract could be used in the sale of a house
Let’s look at how smart contracts could be used in the example of the sale of a house.
In the sale of a house, a trusted third party, like an escrow company, is employed.
The buyer and seller employ an escrow company because they do not trust each other. The seller does not trust that the buyer would hand over the funds after he transfer him the ownership of the house while the buyer does not trust the seller to transfer his house after the buyer transfers the seller the funds.
Thus, for this transaction to work, they need to have a third party that they both trust, in this case, the escrow company. The parties trust in the escrow company because of its reputation and branding.
So, after the parties agree to the terms of the sale and hire the escrow company, the buyer will send funds to the escrow company. After the ownership of the house is transferred to the buyer, the escrow company would send the funds to the seller. In this scenario, the escrow company acts as a source of trust and takes 1 to 2 percent cut from the sale for its role.
We can use a smart contract to perform the same transaction without the escrow company.
Here’s how it could work:
The parties can hire a programmer to program a smart contract to send the funds to the seller only after the seller transfers the house to the buyer.
After the seller transfers the house, the smart contract would be executed and transfer the funds to the seller.
In this example, the smart contract replaces the trusted third party, or the escrow company, and the parties can save a large sum of money that would otherwise be paid to the escrow company.
Other Use Cases
Other than replacing escrow companies in the sale of a house, there are many other use cases for smart contracts.
For example, insurance companies can use smart contract to streamline the compensation process.
In fact, some insurance companies like AXA are already using smart contracts. Just recently, AXA rolled out a new flight-delayed insurance product that will store and process payouts via a smart contract. This smart contract is connected to the global air traffic databases so when there is a delay of more than two hours, the smart contract would trigger an automatic compensation to its customers.
Smart contracts can also be used in other industries like healthcare to streamline processes for insurance trials or to increase access to cross-institutional data.
Or in banking, where payments and loans could be automated via smart contracts.
Blockchain networks using Smart Contracts
Right now, there are plenty of examples of how smart contracts are implemented within different blockchain networks and projects.
The most prominent one is Ethereum, Ethereum is a smart contract framework, designed specifically to support smart contracts. This framework, programmed in the Solidity language, is a decentralized platform that runs smart contracts.
Bitcoin also has a programming language that allows for smart contract programming as well though it is not as programmable and extensive compared to Ethereum.
Benefits of Using Smart Contracts
As illustrated from the previous examples, there are several benefits to smart contracts:
Firstly, it lowers costs for transactions. Smart contract eliminates intermediaries and allows businesses and customers to interact and transact directly and removes associated fees with hiring intermediaries.
Secondly, it builds trust between customers and businesses. Agreements are immutable, automatically executed and enforced so it eliminates any potential disputes between the customers and businesses.
Thirdly, it reduces fraud. As mentioned earlier, smart contracts are distributed, so their outcomes are validated by everyone in the network. This means that no one can force control of the contract to execute a certain outcome like releasing funds or data.
Disadvantages of Smart Contracts
There are some disadvantages of smart contracts too.
For example, you cannot make changes in the code after the smart contract is created because of its immutability. Errors in code can be extremely costly. A notable example is the DAO hack, in which some hackers exploited errors in its code and stole around $50 million.