A guide to Smart Contracts

A guide to Smart Contracts

By Ruma | Blockchains Projects | 26 May 2020


We all have heard the term Smart Contract. When Satoshi invented Blockchain, it was meant to perform transactions only. Ethereum smart contracts made it the prime choice to build Dapps over it. Smart contract enhanced Ethereum’s functionality and makes it different from the traditional blockchain (Bitcoin). This functionality was replicated by other newer Blockchains.

 What are Smart Contracts?

Smart contracts can be defined as self-executing applications that run on a blockchain. It is an agreement between two or more parties in the form of a computer code that runs on a decentralized network in a blockchain. It consists of a set of defined rules which are agreed upon by the involved parties. The contract automatically gets activated whenever certain conditions are met.

This idea will remove the involvement of any trusted third-party companies (such as banks) and will be controlled by computers on a trusted network.

Ethereum is one of the most popular blockchain platforms for creating smart contracts. It supports a feature called Turing-completeness that enables the developers to build customized smart contracts. Solidity, Ethereum’s original coding language is used to develop smart contracts. Ethereum blockchain's ERC-20 and ERC-721 tokens are smart contract standards.

Who created it?

Nick Szabo, a computer scientist, and cryptographer, first described the idea of Smart contracts in the ‘90s. He worked on the concept of defining contract laws in businesses between parties by maintaining an electronic commerce protocol on the Internet.

He further designed Bit Gold, a mechanism for a decentralized digital currency in 1998. Though the idea was never implemented it created a base that led to the popularity of Bitcoin after 10 years.

Properties:

  • Self-verifiable
  • Self-executable
  • Tamper Proof

 Benefits of using Smart Contract

  • The removal of third-party or middleman leads to direct and transparent communication between involving parties
  • Helps in maintaining trust as the agreement rules were predefined and agreed by the parties involved
  • Helps in reducing error and frauds
  • Time and cost-efficient
  • No single point of failure or data loss as data is distributed across the network

Different objects of Smart contracts

There are three essential and main objects of Smart Contracts

  • Signatories- The parties who use the smart contract.
  • Agreement subject
  • Terms and Condition-. Details like rules, obligations, and associated punishments, etc are mentioned as terms and conditions as appropriate.

96174c201b3d909723cd83b570971f2674d5d4da90f5f8b56584ed8ca0e703e2.png

 How Smart Contract works

Ethereum has 2 types of accounts

  • External accounts (user account) - Controlled by public-private key pairs
  • Contract accounts- Controlled by the code stored together with the account

 These accounts contain four fields:

  • The nonce, which ensures that each transaction can only be processed once
  • The current ether balance of the account
  • The contract code of the account
  • The storage of the account

Model steps

  1. External account executes a function:
    1. The user initiates the process by signing the transaction using his private key corresponding to the account.
    2. Local validation of the transaction happens. It is broadcasted to the network.
    3. The transaction is added to the transaction pool. The miner/s maintains such pools.
  2. Generate EVM bytecode through compiling
  3. EVM
    1. EVM is a powerful, virtual sandbox embedded within each full Ethereum node
    2. The job of the EVM is to update the Ethereum state by computing valid state transitions as a result of smart contact code execution
    3. The EVM should not run into any exceptions during the execution
  4. Get contract address from that transaction's receipt
  5. Trigger contract address to invoke methods of that deployed smart contract
  6. Upon receiving a newly created block, the local node executes all the transactions in the block.

 The accuracy and quality of a smart contract depends on the following things

  • Open and decentralized database
  • The environment needs to support the use of public-key cryptography
  • Quality programming is crucial.
  • Data should be reliable.
  • Robust rules should be used while automating the process.

 Features

Smart contracts automatically support the features of underlying blockchain technology.

  • Autonomy – Complete control of the involving parties. No need of middleman as in the case of traditional contractual system
  • Speed– Automated computer code runs as soon as the input criteria fulfill, thereby eliminating the delays caused by manual paperwork activity
  • Safety– Network encryption guarantees safety against data theft or hacking
  • Savings– No doubt that the removal of middleman saves a lot of overall cost and time
  • Accuracy– Since these smart contracts are automated software codes so they ensure accurate output as long as the data fed into the system as input is accurate
  • Trust– Helps in building trust as the documents are encrypted in a shared ledger
  • Backup– Since in Blockchain network, each node has a complete backup of data which ensures protection over data loss

 Potential Use cases

Smart contracts can be used to exchange money, property, shares, or anything without any intervention of middleman. They are now gaining popularity and adaption in various sectors. Some of the main sectors are as follows:-

  • Insurance Companies
  • Health Systems
  • Government’s administrative work.
  • Business Management

I will cover each of the potential use cases in detail in my future articles separately.

Conclusion

Smart Contract is the greatest innovation built on Blockchain technology. We can say it as a cherry over the pie. It has given a new dimension to technology and is one of the biggest reasons behind the popularity of Ethereum.

We can say without any second thought that very soon we will be entering into the era where there will be no intervention of any third party. In this way, it can help us in saving a lot of money, time, and effort. Also we don’t need to be dependent or trust anyone while taking any crucial transactions. This will surely help in reducing fraud, unnecessary delays, and the overall cost of transactions. Smart Contracts will make many transactional jobs redundant. We can be hopeful that further development in technology will open sources for many other new jobs.

 

Read More: Understanding different Consensus Mechanisms

 

Register in Crypto.com and get $ 50. Link here.

Create a Binance account using my referral link.

 

How do you rate this article?


79

1

Ruma
Ruma

Blockchain researcher and content writer | Voice| altcoinbuzz.io| writer.io | tulip311bit@gmail.com | Twitter: @rumadas123 | Telegram: @RumaDas


Blockchains Projects
Blockchains Projects

My reviews on various blockchain projects.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.