Shrimpy helps thousands of crypto investors manage their entire portfolio in one place.

Learn More ➜
7

×

What Is a Smart Contract?

October 8, 2021

4m

Read Time

In the previous lesson, we briefly touched upon Ethereum’s most important feature: smart contracts. Since smart contracts represent a crucial part of not only Ethereum but of the blockchain industry as a whole, it is desirable to inspect their importance and function in-depth.

After this lesson, we will demystify gas fees, an important part of smart contracts, and venture into decentralized applications, another important Ethereum feature running on smart contracts.

What is a Smart Contract?

The idea of a smart contract dates back to 1994 when Nick Szabo, a famous computer scientist and crypto figure from the U.S., proposed the concept of self-executable digital contracts.

At the time, Szabo described these contracts as digital transaction protocols that execute specific terms which two or more parties agree upon, just like in a traditional contract.

Szabo’s proposal of implementing digital contracts and using them to replace legacy systems was more than ambitious at the time. In his mind, smart contracts would vastly extend the capabilities of electronics transaction models and introduce an innovative economy to the internet.

Almost 30 years later, smart contracts managed to reach a state beyond the computer scientist’s imagination. Today’s blockchain industry has come far thanks to this piece of technology, and it would be nowhere close to its current state of efficiency if it was not for Ethereum.

Nick Szabo’s original paper proposed smart contracts for the utilization of derivatives and bonds, which we already have. Furthermore, he also predicted a number of ideas that are now present and have preceded blockchain tech. With the entrance of decentralized finance (DeFi) to the stage, the market progressed even further - but that is a story for another time.

For now, we will focus on the historical background of smart contracts and explain how they work. But before doing so, let us once again define smart contracts:

Quote: A smart contract is a self-executable computer program that processes predefined agreements set between two or more parties

Why do we Need Smart Contracts?

The need for smart contracts is apparent when exploring the fundamentals of blockchain technology.

Each blockchain network processes and hosts transactions. These transactions are issued by individuals, but they are clearly one-sided. Two individuals can agree to exchange two tokens, but they have to trust each other and play fair in order for the overall transaction to succeed. Since there is no external party that monitors the transaction, it is impossible to sanction malicious actors. One party can simply receive the tokens in question and walk away without fulfilling their part of the deal.

We say that blockchains are trustless, but that is not the case. At least with first-generation blockchain networks. As we see, any transaction on a network like Bitcoin requires a certain level of trust. While the removal of intermediaries does, in fact, bring a level of trustlessness, we cannot claim that blockchains are 100% trustless.

Smart Contracts on Ethereum

It is incredibly hard to even consider using blockchain technology for transactions and payments without having the ability to rely on self-executable smart contracts.

Smart contracts retain all the basic and fundamental features of blockchain networks, but they also take a step further by providing a real trustless environment. Because of that, many believe that Ethereum introduced an important piece of technology that Bitcoin does not have.

The main tool for creating smart contracts is Ethereum’s decentralized virtual computer, the

Ethereum Virtual Machine (EVM). With it, developers can build applications that host numerous smart contracts. The VM itself hosts all of the network’s smart contracts and is often referred to as ‘the world computer’ by the community.

Via EVM, developers can create a smart contract that is defined by computer code. The EVM then executes the contract based on the rules and agreements that the developer programmed into the smart contract.

All smart contracts are written in Solidity, the main programming language that Ethereum employs. You can think of Solidity as a crypto version of the Javascript language.

Solidity is by far the most widely used crypto computer language in the industry, although developers are now working on creating far more efficient versions since Ethereum consumes a lot of gas and charges up to $100 per transaction when demand is high.

Gas is an important aspect of smart contracts, and to better understand them and why they can be expensive at times, we will explain gas fees in the next lesson.

About The Author:  

More Lessons in

Ethereum Fundamentals