Understanding Ethereum—The Simple way

Ethereum is a state machine that executes programs called “smart contracts.” Think of it as a global computer where the “state” (or current status) is shared and accessible by everyone. This state can be changed by executing small programs that live on the Ethereum network.

Ethereum is open source and decentralized, meaning no single person or company controls it. It uses a blockchain to securely store all changes made to its state and a cryptocurrency called “Ether” to gauge execution costs. Ethereum can be said to be a platform where developers write smart contracts and build decentralized applications leveraging Ethereum’s inbuilt features. Ethereum shares many features with other blockchains, such as

  • A peer-to-peer (P2P) network connecting all participants

  • A consensus algorithm that ensures everyone agrees on the state of the blockchain (currently Proof-of-Work)

  • Use of cryptographic tools like digital signatures and hashing

  • A native digital currency (Ether)

How did it start?

Ethereum was born out of a desire to go beyond simple cryptocurrency transactions. Developers wanted a platform that could support a wide range of applications, not just sending money.

In December 2013, Vitalik Buterin published a whitepaper describing Ethereum, a Turing-complete, general-purpose blockchain. This meant a blockchain that could run any program, not just simple payment scripts.

At the time, developers faced a choice: build on Bitcoin’s blockchain, which had strict limitations, or create a new blockchain from scratch. The latter was challenging but necessary for more flexibility.

Vitalik, along with co-founder Gavin Wood and others, spent years refining this vision. On July 30, 2015, Ethereum’s first block was mined, launching what is often called the world computer: a decentralized platform where anyone can run programs globally.

Ethereum’s stages of development

Ethereum’s development has four major stages. The stages may contain subreleases that have changes that are not backward compatible, i.e., the functionality has changed in such a way that it’s not compatible with older releases. These kinds of subreleases are called “hard forks.”
Major stages mark the broad eras of Ethereum’s development, while hard forks are specific technical upgrades that often occur within or between these stages.

This is a summary table of the major changes and hard forks in Ethereum

Summary Table

Name/StageTypeBlock NumberMain Purpose/Change
FrontierMajor Stage0Initial launch of Ethereum
Ice AgeHard Fork200,000Exponential difficulty for PoS transition
HomesteadMajor Stage1,150,000Second stage; network improvements
DAOHard Fork1,192,000DAO hack response; chain split
Tangerine WhistleHard Fork2,463,000Gas cost changes; DoS state clearing
Spurious DragonHard Fork2,675,000DoS fixes; replay attack protection
Metropolis: ByzantiumMajor Stage4,370,000Third stage; new features, reward/difficulty changes
Metropolis: ConstantinopleMajor Stage7,280,000Planned upgrade; delayed and renamed St. Petersburg
IstanbulHard Fork9,069,000Further improvements and upgrades
Muir GlacierHard Fork9,200,000Adjusted mining difficulty
BerlinHard ForkAnnounced upgrade
LondonHard ForkAnnounced upgrade
Serenity (Ethereum 2.0)Major StageFinal stage: scalability, security, and sustainability

Comparing blockchain features to Ethereum’s

Component of BlockchainEthereum’s Implementation and Added Features
Block StructureBlocks contain transactions, timestamps, previous block hashes, and nonces, similar to other blockchains, but also include gas limits and fees for computation.
P2P NetworkEthereum runs a P2P network called ÐΞVp2p on TCP port 30303, enabling decentralized communication among nodes.
Consensus RulesDefined formally in the Yellow Paper; currently uses Proof-of-Work (Ethash) but transitioning to Proof-of-Stake (Casper) for better scalability and energy efficiency.
TransactionsTransactions include sender, recipient, value, and data payload, enabling execution of smart contracts, not just simple transfers.
State MachineEthereum uses the Ethereum Virtual Machine (EVM), a Turing-complete virtual machine that executes smart contract bytecode to process state transitions.
Data StructureStores state and transactions in a Merkle Patricia Tree, a complex cryptographic structure for efficient verification and state management.
Consensus AlgorithmCurrently uses Nakamoto Consensus with PoW (Ethash); plans to shift to PoS (Casper) for improved security and sustainability.
CryptographyUses cryptographic hashing and digital signatures for transaction security and block integrity, similar to other blockchains but integrated tightly with smart contract execution.

Turing-Completeness Feature of Ethereum.

The term ‘Turing’ is coined from the name of a famous mathematician, Alan Turing, who imagined a machine (called a Turing machine) that could, in theory, do any calculation or run any program. So, if a computer or system can do everything a Turing machine can, we say it’s Turing complete.

Ethereum is like a giant, shared computer that anyone can use. Ethereum’s computer is called the Ethereum Virtual Machine (EVM), and it can run any program you can write, just like a Turing machine. This means Ethereum can do way more than just send money; it can run games, financial apps, voting systems, and much more.

Ethereum’s Turing completeness is both cool and risky in the sense that because Ethereum can run any program, some programs might run forever or get stuck in loops, which is called the halting problem. If a program never stops, it could slow down or crash the whole network. To prevent this, Ethereum uses a system called gas:

  • Every instruction a program runs costs a little gas.

  • When you send a transaction, you pay for gas with Ether (Ethereum’s currency).

  • If your program uses up all its gas before finishing, it stops automatically.

This gas system stops programs from running forever and wasting resources.

Frequently Asked Questions (FAQ) about Ethereum

  1. What exactly is a smart contract?

    A smart contract is a self-executing program that runs on Ethereum’s blockchain. It automatically enforces rules and agreements without needing a middleman.

  2. How does Ethereum differ from Bitcoin?

    While Bitcoin is primarily a digital currency, Ethereum is a programmable platform that can run complex applications (dApps) using smart contracts.

  3. What does “Turing Complete” mean for Ethereum?

    It means Ethereum’s virtual machine can run any program or algorithm, making it a flexible and powerful platform for decentralized applications.

  4. What is gas, and why do I need it?

    Gas is a fee you pay in Ether to execute operations on Ethereum. It prevents programs from running forever and wasting network resources.

  5. What are Ethereum’s development stages?

    Ethereum’s development is divided into major stages like Frontier, Homestead, Metropolis, and Serenity, with intermediate upgrades called hard forks.

References

This article was inspired by and adapted from the excellent open-source resource, the Ethereum Book which provides a comprehensive and accessible explanation of Ethereum’s concepts and technology.

0
Subscribe to my newsletter

Read articles from Elizabeth Afolabi directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Elizabeth Afolabi
Elizabeth Afolabi