Publisher avatar
LearnCrypto
10 min read

What is Ethereum's architecture?

What is Ethereum's architecture?

What you’ll learn:

  • What Ethereum does
  • An overview of its architecture
  • An outline of the core Ethereum components
  • Some of things you can build on Ethereum

What is Ethereum?


Ethereum is a blockchain-based system where anyone can build and securely deploy any digital service without going through a formal, centralised approval process - such as getting an App added to Apple's App Store. 

It is the brainchild of Vitalik Buterin, a Russian born computer programmer, who was an early Bitcoin advocate, but thought it lacked a scripting language to enable connected applications. 

Ethereum has been dubbed the ‘world computer’ as it enables permissionless access to a Turing Complete system that can process any request expressed in its bespoke programming language.

It uses a set of standards for creating tokens that allow value to be transferred within, and between, applications built on Ethereum, creating a vast interoperable ecosystem.

Applications built on Ethereum don’t need to trust a third party like a bank or the Google Play Store. These fundamental features have enabled Ethereum-based applications to quickly disrupt those industries which are hard for the average person to access, in the shape of:

  • Decentralised Finance (Defi) - disrupting financial services & investment
  • NFTs - disrupting the market for art and collectibles
  • Metaverse - Enabling the creation of virtual economies

Ethereum’s Architecture

  1. Overview of Ethereum
  2. The EVM - Ethereum Virtual Machine
  3. The Ethereum blockchain & consensus method
  4. ETH & its Tokenomics
  5. Smart Contracts, Gas & dApps
  6. Nodes 
  7. Clients & Networks
  8. Accounts & Transactions

1. Overview of Ethereum

Ethereum is a distributed computing network that rents out its processing power through something called the Ethereum Virtual Machine (often abbreviated to EVM). 

Given the analogy of Ethereum as a world computer, the EVM is the processor, providing a runtime environment for the execution of Smart Contracts, code based instructions called by digital applications - dApps - which pay for the service using the native currency of the Ethereum Network, Ether. The computational effort required is measured in something called Gas. 

The Ethereum network consists of Nodes following a set of rules, the Ethereum Protocol, with the sole purpose of maintaining the correct state of the EVM, which includes Accounts holding Ether and Smart Contracts.

2. The Ethereum Virtual Machine

The EVM isn’t part of a network or filesystem, it simply receives and executes Smart Contracts requests updating its state. That state is recorded in each block of the Ethereum blockchain, along with any changes to balances of Accounts holding Ether (ETH).

It is crucial that Ethereum has only one 'canonical' state, and the EVM provides the rules for computing a valid state for each new block depending on what Smart Contract changes, or Account transactions have been requested.

The EVM state is stored in blocks that are chained together using cryptography into a blockchain maintained by the Network of Nodes running the rules through an Ethereum Client.

Ethereum Clients are specific pieces of software that implement the instructions set out in the original blueprint written by Vitalik Biterin, known as the Ethereum yellow paper.

3. The Ethereum Blockchain

Agreement on the accuracy of transactions stored in the blockchain is reached through a consensus mechanism called Proof of Work, copying the general approach taken by Bitcoin, but with specific adaptations that make a significant difference to Ethereum’s tokenomics - how ETH is created, distributed and incentivises owners . 

Mining Nodes run a specific algorithm called EthHash, an arbitrary mathematical calculation that produces new blocks of the state changes every fifteen seconds, giving a reward of two Ethereum to the Miner that produces a ‘certificate of legitimacy’ proving the required work has been completed, along with the fees paid by Accounts and dApps for transactions and Smart Contract execution.

The new block will be broadcast to the rest of the Network, and once other Miners see the certificate of legitimacy they must accept it as being the latest block in the chain.

The timing of blocks is set by the Protocol and the difficulty adjusted programmatically to keep block production time consistent.

Blocks are limited in size based on the amount Gas required to execute all transactions. The upper limit is set at 30 million Gas, but block size will vary depending on demand.

Ethereum’s use of Proof of Work is planned to end in 2022, changing to Proof of Stake, in order to improve scalability and to address concerns around the environmental impact of Proof of Work mining. 

A separate Beacon Chain already exists, holding staked funds, which will eventually merge with the mainnet and apply a new consensus mechanism called Casper the Friendly Finality Gadget.

4. Ether & its tokenomics

Unlike Bitcoin, the supply of Ethereum is uncapped, growing via the reward of two ETH paid to Miners for producing new blocks. 

Transactions are paid for by the sender in something called Gas. By charging for the work done by the EVM it incentives the minimum amount of calculation and charges the sender.

Gas is paid for in Gwei, which as a micro-unit of Ether makes fees much easier to represent.

1 ETH = 1,000,000,000 Gwei.

In response to the concerns around Ethereum's inflationary tokenomics changes were made to the Mining process through an Ethereum Improvement Proposal, EIP1559, implemented on August 5th, 2021.

The changes mean that a portion of the fees which are included in newly mined blocks are burned, rather than going to Miners. The objective is to burn enough ETH on a regular basis to decrease the supply, and turn into a deflationary coin.

The imminent changes to the Consensus Method mentioned above are already impacting Ethereum’s tokenomics by providing tangible incentives for ETH holders to stake their funds and support the network. 

At present close to 8% of ETH’s circulating supply is locked in the ETH2 Deposit Contract, equivalent to 9.25 million tokens or about $23bn, making it the largest single ETH holder in existence.

$23bn
The value locked in Ethereum's Proof of Stake deposit contract

5. Smart Contracts, dApps & Gas

Smart Contracts are written in a programming language specific to Ethereum, called Solidity, which for anyone with a programming background (especially Javascript) shouldn’t present a huge challenge to learn.

“I call these new contracts “smart”, because they are far more functional than their inanimate paper-based ancestors. No use of artificial intelligence is implied. A smart contract is a set of promises, specified in digital form, including protocols within which the parties perform on these promises” — Nick Szabo, 1996

Smart Contracts are stored within the EVM, with their latest state reflected in the most recent block in the Ethereum blockchain.

A few lines of code within a Smart Contract can create a new cryptocurrency or financial service, so long as certain basic standards are followed. The standardisation within the Ethereum Protocol enables interoperability between dApps and is one of the reasons why the market for DEFI and NFTs has grown so rapidly in such a short period of time.

Thousands of dApps now run on Ethereum, while other blockchains are trying to imitate and improve on Ethereum’s design, offering similar Smart Contract functionality and providing EVM compatibility so that applications can be easily ported.

The increasing use of Smart Contracts has made Ethereum a victim of its own success as the execution fees users have to pay to engage with DEFI services or mint NFTs are pricing out the average user.

6. Ethereum Nodes

Like Bitcoin, Ethereum’s network features different types of Node fulfilling the required functions of the Ethereum Protocol. You can think of Node as a computer which requires Client Software to function.

We’ll summarise the basics of Nodes and Clients, then look at each in more detail in dedicated articles:

Full Nodes

  • Run the Ethereum client software
  • Store the entire blockchain record of transactions
  • Validate blocks & all states.
  • Propagate transactions & store them for miners to pick up
  • Can function as a Miner to verify blocks & issue new Ether

Miner

  • A Miner must be a Full Node but a Full Node doesn’t need to be a Miner
  • Runs the EthHash algorithm to show Proof of Work
  • Verifies transactions in new blocks
  • Gets rewarded with ETH for every block mined plus transaction fees

Light node

  • Stores a portion of the blockchain
  • Can validate transactions based on the portion of blockchain stored
  • Useful for low capacity devices like mobile phones not suited for storing Gigagytes of data

Archive node

  • Everything stored in the full node plus an archive of historical states
  • Can amount to Terabytes of data so only suitable for enterprise level users

Ethereum’s move to Proof of Stake will implement something called sharding, a method to improve the efficiency of transaction processing, and reduce the overall size of the Ethereum blockchain which is so much larger than Bitcoin given the requirement to store all state changes.

7. Ethereum Clients & Networks

The Client Software is an implementation of the Ethereum Protocol, providing a formal specification for how the Ethereum network and blockchain functions. It is available in a variety of different languages and with different approaches to how it syncs with the rest of the network.

Ethereum ClientLanguageOperating SystemNetworkSync Strategy
GethGoLinux, Windows, macOSMainnet,Görli, Rinkeby, Ropsten
Snap, Full
NethermindC#, .NETLinux, Windows, macOSMainnet, Görli, Rinkeby, RopstenFast, Beam
BesuJavaLinux, Windows, macOSMainnet, Görli, Rinkeby, RopstenFast, Full
ErigonGoLinux, Windows, macOSMainnet, Görli, Rinkeby, RopstenFull
OpenEthereum (Deprecated)RustLinux, Windows, macOSMainnet, Görli, Rinkeby, RopstenWarp, Full

At present running an Archive or Full Node takes several days for a full synchronisation and requires significant storage capacity. This can put running a node outside the reach of someone with technical abilities and resources, which some people argue compromises Ethereum’s decentralisation. You can get around that issue by using Node Client Services that run the infrastructure for you and simply provide an API .

Different Ethereum Networks

The Ethereum Protocol is open source software so it doesn’t necessarily need to apply to the main the Ethereum network which is known as the Mainnet. 

There are different implementations for testing - Ropsten - or bespoke product applications (as shown in the table above).

Each network operates independently so the balance and transaction history of an Ethereum account on the Mainnet will not apply to other networks. Users simply need to connect to the different networks within their wallets, such as MetaMask.

Different Sync Strategies

One of the reasons why there are different Ethereum Clients is that each takes a slightly different approach to syncing with the rest of the network to download the latest version of the blockchain. They will offer different features and be lighter or heavier in terms of their application size.

8.Types of Ethereum account

Though the Bitcoin blockchain supports a monetary system individual users don’t have accounts, balances are represented through Unspent Transactions (UTXOs). Ethereum differs on this point as it does operate a distinct Account structure:

  • External Account - A user with a public address/key stored in a wallet
  • Contract Account - Created when a Smart Contract is created, using the address of the creator and the number of transactions sent, and controlled by the code within the Smart Contract.

All accounts have a balance, displayed in Ether which simply send Ether back and forth, or a specific payload (binary data), which is sent to a contract account with code, and provides an input for executions.

9. Ethereum Standards

One of the most forward thinking aspects of the Ethereum Protocol are the clearly defined standards which enable interoperability across all the dApps that the EVM supports. These standards have been replicated across layer 1 networks that seek to replicate its function.

These are some of the most common:

  • ERC-20 - A standard for fungible (interchangeable) tokens, like virtual currencies, which can also be used to give holders voting rights in DAOs.
  • ERC-721 - A standard interface for non-fungible (unique) tokens, like a collectible, one-off digital asset or deed of ownership.
  • ERC-777 - A standard that enables you to build additional functionality on top of tokens such as creating more transaction privacy or a recovery tool if you lose your private keys.
  • ERC-1155 - A multi-token standard that can do the same things as an ERC-20, or ERC-721 token, but additionally enables movement of batches of tokens, calling balances of collections or approving a group of tokens to a single address.

What are the opportunities to build within Ethereum?

The genius of Vitalik Buterin was recognising that for a trustless cryptocurrency ecosystem to grow it needed a common language and a common set of economic standards. By providing this Ethereum does all the heavy lifting for supporting creators of digital applications, you just have to come up with a problem that will benefit from a decentralised solution, and use Solidity to express it mathematically within a Smart Contract, which includes:

  • Creating your own Currency
  • Creating a dApp

If you aren’t a creator but would rather help maintain the Ethereum ecosystem there are several clear options:

  • Becoming a validator in the new Proof of Stake Ethereum blockchain
  • Staking Ethereum to a pool run by a validator
  • Running an Ethereum Node

If you don’t want to run a Node you can use one of the existing APIs and build value-added services for Ethereum users:

  • Wallets, block explorers, analytics tools, fee estimators