Smart Contracts

What Are Smart Contracts?

CYCE
5 min readJul 31, 2021

Nick Szabo was the first person to introduce and explain smart contracts in the 1990s. Smart contracts are contracts that run on computer protocols, and these contracts can be tracked through a Blockchain network. These processes are transparent, secure and fast. Szabo defined smart contracts as “a tool to formalize and secure computer networks by combining protocols with user interfaces.” (BINANCE, 2021)

A smart contract is a piece of self-implementing software managed by a P2P computer network. Smart contracts are effective rights management tools that provide a coordination and implementation framework for agreements between network participants without the need for traditional legal agreements. They can use the simple agreements between two parties to formalize an organization’s charter, or create marks.

Smart contracts can be thought as an application or program that runs on a Blockchain system. It is a system of digital code lines that have to apply certain rules. These rules are determined earlier through programmable systems.

Smart contracts allow transactions that are not based on trust. For instance, let’s assume that we will buy a car. We don’t know who we’re going to buy the car from. They don’t know us either. Thus, we have this trading agreement between us certified to third parties. We certify the trading through a notary; we approve the sending and receiving of money through a bank. But assuming that we do this with a smart contract, we will neither need a notary nor a bank. With a specially prepared smart contract, the seller’s vehicle will be transferred to us; the asset we own will be transferred to their account. Smart contracts do not require mutual trust. Codes are written in “if” code. In other words, it can be made sure that the contract will not be implemented until certain conditions are met. On the other hand, using smart contracts reduces operational costs by eliminating the need for intermediaries.

Although Bitcoin’s protocols have supported smart contracts for many years, it is Ethereum and its co-founder Vitalik Buterin who popularized smart contracts.

Features Of Smart Contracts

Smart contracts have all the features that blockchain brings.

· It has a distributed structure and is transparent, meaning that transactions can be tracked by anyone.

· Transactions have a deterministic structure. Contracts only perform the operations they are programmed to, and no matter who executes the operation, the result is always the same.

· Smart contracts have an automatic structure. They execute the given process on their own. They don’t need an intermediary.

· Smart contracts cannot be changed after they are implemented. They can only be deleted if a code is specifically added for this to the smart contract. It’s hard to secretly make changes to smart contracts.

· During the development phase smart contracts can be customized as you wish. It is suitable for many different decentralized applications (DApps).

· Smart contracts are not based on trust. Meaning, parties that will use the smart contract do not have to know or trust each other. In addition, blockchain technology proves the accuracy of the data.

· It is not possible to add new functions after smart contracts are implemented. As mentioned above, if a special code is added for only this, the contract can delete and destroy itself and create a new one. If the code is not added beforehand, it is also not possible to delete the contract.

After implementing Ethereum smart contracts, it is not possible to add a new function or whole of functions. If the programmer who prepares the contract adds a “SELF-DESTROY” function to the code, the contract can be deleted and be replaced with a new contract. If, on the contrary, this code is not added beforehand, it is not possible to delete the contract.

Since some contracts are updatable, it gives developers more flexibility about the fact that the contract cannot be changed.

There are many ways to create updatable smart contracts. If we are to explain this with a simple example, a contract can be divided into many smaller contracts when preparing contracts. Let’s assume that this division has been made. While some of these contracts have been created as unalterable, some have been activated the “Delete” function. This means that while some of the smart contracts can be deleted and changed, some will remain as they are.

Because smart contracts are generated from programmable code lines, they are highly customizable and they can be designed in many different ways and offer different types of services and solutions.

Smart contracts are decentralized and self-running programs. While smart contracts offer a high level of transparancy, they reduce operational costs and increase efficiency and reduce bureaucratic costs and burdens depending on the application created.

Tokens created on the Ethereum Blockchain base are created with the ERC-20 standard. This standard is a set of codes that determine the basic functions of all Ethereum-based tokens.

Smart contracts consist of code lines written by humans. This makes smart contracts vulnerable to errors and weaknesses. In cases where sensitive information and high amounts of money are involved in sensitive issues, Smart Contracts should be created by experienced programmers who have worked hard enough on this regard. Since smart contracts are based on Blockchain system, they cannot be changed or are very difficult to change. While this is quite useful in some cases, in some cases it is very challenging. Because transactions in the Blockchain system are irreversible. For example, the Decentralized Autonomous Organization (DAO) known as “the DAO” went through a hacking incident in 2016. Millions of (ETH) were stolen due to problems with the smart contract code. Since smart contracts cannot be changed, developers could not change the code. As a result, a hard fork[1] was carried out and a second Ethereum chain was created. Eventually one of the chains reversed the hacking incident and returned the funds to their owners. The other chain argued that what happens on the Blockchain should never be changed. And there was no interference to the hack (this chain became Ethereum Classic).

It is important to understand that the problem here is not related to Ethereum or the Blockchain system itself. The problem is caused by an incorrectly created smart contract.

Potential application areas where smart contracts can be used are increasing day by day. They are mainly used in the banking and finance world since they are developed together with cryptocurrencies. Apart from that, it can be used in many more areas such as supply chains, real estate, health care, taxes, insurance, etc.

Although our world is not yet fully ready for the world of smart contracts, it is obvious that smart contracts will be in every aspect of our lives in the near future.

References

BINANCE. (2021, Ocak). BINANCE Academy. BINANCE Academy: https://academy.binance.com/tr/articles/what-are-smart-contracts adresinden alındı

ICRYPEX. (no date). ICRYPEX. ICRYPEX: icrypex.com/tr/yardim-destek/hard-fork-nedir adresinden alındı

[1] It is a bifurcation of Hard Fork Blockchain. It is a radical change to a network protocol that validates previously invalid blocks and operations. Hard Fork requires that all nodes or users be upgraded to the latest version of the protocol software. Hard Fork is that new versions of Blockchain nodes accept older versions, which creates a permanent deviation from the previous version of blockchain. Adding a new rule to the code basically creates a fork in the blockchain: one path follows the new, upgraded blockchain, and the other path continues along the old path. (ICRYPEX, no date)

--

--