What are Smart Contracts?

BlockChain Expert 31/October/2017

With the advent of Blockchain technology, the application of internet and IT is rapidly expanding to other non-conventional areas. Asset management is one of them. Think of a situation where you buy an apartment from a seller without signing single paper agreements, Or you sell your apartment without writing lengthy legal agreements and without the involvement of a third party like registrar. Yes, it is possible and it is the future. Smart contracts are the digital version of contracts and it can be used to exchange the digital assets. Smart contracts are used to exchange anything of value in a more secure way without any middleman. Yes.. they are some lines of code that facilitate the same purpose of a written contract. 

So if there is no guaranteeing authority how the agreements are implemented? It is the most interesting part of the smart contract. As we mentioned earlier the transactions are totally completed via computer networks and the payment methods will also be compatible with it.  Generally, the payments are done through cryptocurrencies like Bitcoin and it is often self-executable.

Smart contracts are usually created with the help of contract development tools and written using programming languages such as Solidity, Java, Go, Python. Out of which Solidity is the most popular one.


The applications of smart contracts are many and some of them are:

Insurance Policies: Today it is taking a long period of time to claim an insurance after an accident or any other insured event has occurred. This process is manual and increases the administrative cost. This can be reduced by automating claims processing, verification, and payment. Thus the customer can claim the insurance shortly after an insurance event happens.

Property Sale: Using the smart contracts for buying and selling of a property decreases the auditing cost. This also improves the transaction efficiency and strengthen the confidence in the system.

Digital Identity: Digital identity like personal data and assets can be protected and shared to trusted channels more safely with smart contracts.

Personal Health Tracking: Tracks patients health-related action and automatically generate reports. It can share the data to trusted channels and same time protect it from unauthorized accessing.

Voting: Validates voter criteria, add votes to the blockchain and develop the result according to majority vote.

Smart contract codes and Smart legal contracts,  these are two terms which are often confused while talking about the smart contract. Actually, the smart contract can be classified into these two types. Let look them individually.

As you can see from our previous blogs, blockchain applied technologies are largely based on smart contracts. In the case of ‘Hyperledger’ or Ethereum there many internal check and balance conditions which regulates the working of such frameworks, these are smart contract codes. These are also self-executable codes which ensure the security and consistency of the framework.

Here is an example of smart contract code used in Ethereum Blockchain

contract token {
mapping (address => unit) public coinBalanceof ;
event coinTransfer(address sender, address receiver, uint amount) ;
/* initialize contrct with initial supply tokens to the creator of the contracts*/
function token(uint supply) {
if (supply == 0) supply = 1000 ;
coinBalanceOf[msg.sender] = supply ; 
/* very simple trade function */
function sendCoin(address receiver, uint amount) returns(bools sufficient) {
if (coinBalanceOf[msg.sender] < amount) return false ;
coinBalanceOf[msg.sender] -= amount ;
coinBalanceOf[receiver] += amount ;
CoinTransfer (msg.sender,receiver,amount);
return true;
Smart legal contracts are the real legal agreements used to manage the transaction of digital assets. Like the apartment rental case, we discussed first. It has a legal validity and its scope is often outside the blockchain.

There are mainly three steps involved in the working of a smart contract:

Coding: As mentioned earlier smart contracts are computer programs, coding is essential in it. Proper coding ensures that the contract will run exactly according to user needs and conditions. Thus it should automate “if this - then “part of the traditional agreement.

Distribution: Once the code is ready it is encrypted and sent to Blockchain network or the distributed ledgers for execution.

Execution:  When the contract arrives on the network, each node in the network will come to an agreement on the execution of the contract. After such an agreement is established by networks then manipulation is not possible.

Following are some advantages of Smart Contracts

1. Security: The control over the execution of smart contract codes is distributed over the network, it eliminates the risk of manipulation.

2. No intermediaries: Smart contracts allows the parties to enter the agreement without the intermediaries.

3. Lower cost: As it requires only less human intervention, and it reduces the cost.

4. Transparency: It creates an environment of trust as the conditions in the agreement are visible to all nodes in the network.

5. Faster settlements: Since settlements are done digitally, it happens instantly and will be faster


1. Rogue contracts: As smart contracts are anonymous and self-executing it has a chance of conducting illegal activities by terrorists, smugglers etc.

2. Errors in code: When bugs or errors get in the code it may lead to procedural difficulties related to identifying errors and the party who is responsible for the error.

3. Unreliable inputs: This may lead to the nonexecution of contract. In traditional contract, the parties can meet court for redressal. But here there is no legal validity.