Blockchain security

What are smart contracts?

Nitesh Malviya
December 16, 2020 by
Nitesh Malviya

What are Smart Contracts

Let’s understand what Smart Contracts are using a simple example. Consider the purchase of cookies from a vending machine. The one who wants to buy the cookie deposits the change into the machine and presses the button. The button when pressed activates a lever and throws out the cookie. The whole transaction took place without a cashier/clerk.

Smart contracts play the role of a vending machine. Smart Contract automatically eliminates the role of an intermediary. In the example taken above, the vending machine replaces the seller and allows the consumer to make a purchase. Thus, there is no middleman involved in this transaction.

Smart contracts are basically programs which eliminates the need of intermediary and runs on blockchain. Smart contracts are implemented as code associated with a blockchain account and can execute contracts with terms and conditions written into the agreement and agreed upon by both the parties. 

Smart contract runs on Ethereum blockchain's platform. It eases the exchange of shares, property, money or any assets. Ethereum smart contracts can be written in two programming languages – Solidity and Serpent. Solidity is more widely adopted than Serpent and is a high-level programming language used for running and implementing smart contracts on Ethereum blockchain. Solidity facilitates developers to check the smart contracts program at runtime rather than compile-time.

Learn Blockchain Security

Learn Blockchain Security

Build your blockchain security skills with five courses covering blockchain structure, blockchain attacks, smart contract security and more.

Characteristics of Smart Contracts

Smart Contracts have 3 main characteristics which makes it fit to conduct roles of intermediary. They are as follows - 

  • Immutable - Once an entry is made into the smart contract then it is practically not possible to modify the existing entry. Thus, the entries cannot be modified and altered unilaterally, making smart contracts more accurate, reliable and transparent. 
  • Self Execution - Self Execution means if one of the parties performs its legal duties then the smart contracts will automatically perform legal duty and assignments for other parties involved in the transaction. 
  • Self-Verification - Self verification is the ability to verify and check whether contractual agreements between involved parties have occurred or not. Smart contracts are capable of doing this on their own and execute contracts accordingly.
  • Time Saving - Given the involvement of a number of middlemen and intermediaries, traditional contracts often take days for execution. This is not the case with Smart Contracts. Since they are programmable and automated they take a few minutes for execution.
  • Secure - Privacy and security are a big concern with traditional contracts. Involvement of so many intermediary poses a high risk of security getting compromised at any stage though this is not the case with Smart Contracts. 

In smart contracts security is maintained through cryptography(public key and private keys). Also as discussed, the data is practically not possible to modify. Each and every transaction in Smart contracts is digitally signed using private keys and it can be decoded only by the public keys shared by involved parties.

  • Cost - Traditional contracts are expensive and involve huge cost due to the involvement of intermediary parties. In Smart contracts there are no intermediaries and charges incurred are of the underlying infrastructure of the running the smart contract.

Applications of Smart Contract

Now we have read about smart contract,let’s take a look at top use cases where smart contract can be used - 

  • Trading and Finance - Trading and Finance industry is labour intensive and it is expected that smart contracts will save around $20 billion by 2022.
  • Records and Data - Smart contracts are the best way to store, keep and access the records and data saved on the blockchain.
  • Property and Asset Ownership - Smart contracts can be used to record ownership of all types of property and assets owned by individuals.
  • Mortgages - For keeping mortgage and Loan records.
  • Insurance - For saving insurance data and claim records.
  • Medical data and Research 
  • Voting and Election - For validating voters identity and recording their vote.
  • Peer to Peer Transactions
  • Product Development - keeping records of the various stages and milestones in product development.
  • Supply Chain and Logistics - For tracing and tracking products.

Learn Blockchain Security

Learn Blockchain Security

Build your blockchain security skills with five courses covering blockchain structure, blockchain attacks, smart contract security and more.

Conclusion

Other than cryptocurrencies, Smart Contract is one of the most promising blockchain applications everyone should have a look at. With smart contracts it is possible to have every record, every transaction, every task to be stored digitally and can be verified, validated and stored. 

 

Sources

  1. https://www.simplilearn.com/tutorials/blockchain-tutorial/what-is-smart-contract 
  2. https://blockchainhub.net/smart-contracts/ 
  3. https://www.computerworld.com/article/3412140/whats-a-smart-contract-and-how-does-it-work.html 
  4. https://www.devteam.space/blog/10-uses-for-smart-contracts/ 
Nitesh Malviya
Nitesh Malviya

Nitesh Malviya is a Security Consultant. He has prior experience in Web Appsec, Mobile Appsec and VAPT. At present he works on IoT, Radio and Cloud Security and open to explore various domains of CyberSecurity. He can be reached on his personal blog - https://nitmalviya03.wordpress.com/ and Linkedin - https://www.linkedin.com/in/nitmalviya03/.