In previous articles, we’ve explained the fundamentals of blockchain, cryptocurrency and Bitcoin in simple terms. These could help you to better understand this explainer piece on Ethereum.
When Bitcoin (BTC) was launched in 2009 by pseudonymous creator Satoshi Nakamoto, it became the first cryptocurrency, and one of the earliest use cases of blockchain technology.
As BTC was the first blockchain, it is often seen as the first generation. It employed a fairly rigid system that maximised security of transactions.
The second generation of blockchains, however, are far more flexible and capable of more than just performing financial transactions.
Ethereum is the earliest and most important of this second generation, and has, so far, remained the most popular one.
Besides performing financial transactions, Ethereum also allows users a greater degree of programmability. It allows developers the ability to experiment with code and build decentralised applications (DApps) on the Ethereum blockchain.
Before explaining how the Ethereum blockchain allows DApps to run on it, let’s first look at how Ethereum came to be.
Origins of Ethereum
In 2013, a young Canadian-Russian programmer named Vitalik Buterin came up with a way to take the Bitcoin idea to the next level and apply blockchain tech to multiple types of applications.
He published a blog post titled ‘Ethereum: The Ultimate Smart Contract and Decentralized Application Platform’, which described Ethereum as a “Turing-complete blockchain – a decentralised computer that, given enough time and resources, could run any application.”
Vitalik believed that multiple types of apps could be deployed on blockchain, and wanted to build Ethereum to explore the use cases of blockchain beyond the limitations of Bitcoin.
He was joined by a long list of co-founders who worked to deploy Ethereum, namely, Charles Hoskinson, Anthony Di Liorio, Mihai Alisie and Amir Chetrit. Joseph Lubin, Gavin Wood, and Jeffrey Wilcke came onboard in 2014.
Image: Daisy Mahadevan
What are smart contracts?
It must be noted that a blockchain is merely a decentralised, distributed ledger of public transactions. As such, DApps don’t run directly on Ethereum, but they interact and communicate with the blockchain using smart contracts, which are Ethereum’s USP.
A smart contract, in simple terms, is code that self-executes when certain conditions are met. It is essentially a contract that enforces agreements between parties. In the case of DApps, smart contracts are coded by developers so they can be read by the Ethereum Virtual Machine (EVM).
The EVM is a runtime environment for every smart contract on Ethereum, and enables the execution of code as intended. Consensus is maintained across the Ethereum blockchain since every node runs on the EVM.
So when individuals use DApps built on Ethereum, they interact with smart contracts by submitting transactions that execute functions of the DApps.
In other words, when a user sends a transaction request to a contract, every node on the network runs the code and records the output using the EVM, which converts smart contracts into code that is readable by computers.
To update the transaction across nodes, mining is currently done using a proof-of-work algorithm similar to that of Bitcoin.
(Ethereum is in the process of moving away from proof-of-work and adopting proof-of-stake consensus. This is explained later in the article under the Ethereum 2.0 subhead.)
Golem: an example of a DApp
Golem is an example of a DApp built on Ethereum, and is an open-source, decentralised supercomputer that anyone can access. The supercomputer is a combination of all the computational power of all the devices (nodes) that power it.
Users can rent out their computing power via Golem to other users, allowing the network to create a global market for computing power.
In the case of Golem, the agreements between nodes (all the parties involved) on computing time, payments etc are inserted as smart contracts which get executed and recorded on the Ethereum blockchain.
DApps like Golem and others built on the Ethereum blockchain can’t be removed, owing to their decentralised nature.
The team behind building the DApps can update them, but they cannot take them down or censor them. Anyone in the world can use the DApps built on the Ethereum blockchain even if the team or startup behind these apps shuts down.
What is the ETH token?
Ethereum is the blockchain on which DApps run through smart contracts. But it is not the currency that powers the blockchain. The currency is known as Ether (ETH).
ETH is the token that facilitates transactions and operations on the Ethereum network.
As with all DApps and programmes, services linked with the network require computing power (which is not free), ETH acts as a form of payment. The ETH token thus allows network participants to execute their requested operations on the Ethereum blockchain network.
The ETH token, which is a cryptocurrency that can be bought, sold and traded, reached an all-time high of $4,356.99 on May 12, 2021.
Gas fees on the Ethereum network
Just as a motorbike with an internal combustion engine requires fuel to run, smart contracts require certain amounts of fees to successfully run. These fees are known as ‘gas’ or ‘gas fees’.
In essence, gas fees are paid for in ETH by users who want to transact on the Ethereum network.
Gas fees prevent users from running infinite loops of code on Ethereum, which would strain the blockchain since all transactions need to be updated and run by all nodes across the network.
More complex contracts require more gas fees than simple ones. And if there isn’t enough gas, a smart contract gets halted. If there is congestion in the Ethereum network and several users are trying to transact concurrently, the average gas price rises.
Scalability challenges and Ethereum 2.0
High gas fees are considered one of the primary challenges of using Ethereum. Users have been known to pay several hundred dollars in gas fees for transactions with small ticket-sizes at times when the network was more congested than usual.
And like Bitcoin, Ethereum has a scalability problem. It usually maxes out at processing upto ten transactions per second (TPS), which is quite low for a platform hosting DApps that seek to attract millions of global users.
Further, its proof-of-work model is energy-intensive, as miners utilise large amounts of electricity to create blocks.
To understand more about how mining works on a blockchain using a proof-of-work system, refer to this article on Bitcoin.
Addressing the above limitations and challenges is Ethereum 2.0, a set of network upgrades (currently underway) which seek to improve Ethereum’s performance.
These include sharding (dividing the network into subsets of nodes), Ethereum Plasma and rollups (off-chain scalability solutions) and proof-of-stake (a system where nodes stake ETH and are accordingly chosen at random to validate blocks).
More about Ethereum 2.0, proof-of-stake and various types of DApps (such as Decentralised Finance [DeFi] apps) will be explained in future articles.