Skip to content

Ethereum_overview

Ethereum is the most widely-used blockchain for smart contracts and decentralized applications. Understanding Ethereum’s architecture is essential for any blockchain infrastructure engineer, as you’ll likely work with Ethereum nodes in production.


Ethereum is a programmable blockchain that allows developers to build and deploy smart contracts and decentralized applications (dApps).

AttributeValue
Launch DateJuly 30, 2015
TokenETH (Ether)
Block Time12 seconds (PoS)
ConsensusProof of Stake (after The Merge)
TPS~15-30 (current), 100,000+ (future via sharding)
Gas Limit30 million gas per block

┌─────────────────────────────────────────────────────────────────┐
│ ETHEREUM NETWORKS │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ MAINNET │ │
│ │ Production - Real value, real applications │ │
│ │ Chain ID: 1 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ TESTNETWORKS │ │
│ │ │ │
│ │ Sepolia ─── New testnet (2022) ─── Recommended │ │
│ │ Goerli ─── Old testnet (deprecated) │ │
│ │ Holesky ─── Validator testnet │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ LOCAL/PRIVATE NETWORKS │ │
│ │ │ │
│ │ Ganache, Hardhat, Besu (dev mode) │ │
│ │ For local development and testing │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│ ETHEREUM UPGRADE TIMELINE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 2015 2016 2017 2019 2020 2022 2023 2024+ │
│ │ │ │ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ │
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │Frontier│ │Homestead│ │Metropolis│ │Istanbul│ │Beacon│ │Merge │ │Shapella│ │ │
│ │ │ │ │ │ │ │ │ │Chain │ │ │ │ │ │Surge │ │
│ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │
│ │
│ Key Milestones: │
│ - Frontier (2015): Initial release │
│ - Homestead (2016): First upgrade │
│ - The Merge (2022): PoW → PoS │
│ - Shapella (2023): Staking withdrawals │
│ - Surge (2024+): Sharding for scalability │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ ETHEREUM POST-MERGE ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────────────────────────────────────────────────────────┐ │
│ │ EXECUTION CLIENT │ │
│ │ (Handles transactions, EVM, state) │ │
│ │ │ │
│ │ Geth / Erigon / Nethermind / Besu / Reth │ │
│ │ │ │
│ │ - Transaction Pool (Mempool) │ │
│ │ - State Database │ │
│ │ - EVM Execution │ │
│ │ - Block Building │ │
│ │ - JSON-RPC API │ │
│ └────────────────────────────────┬───────────────────────────────────┘ │
│ │ Engine API │
│ ▼ │
│ ┌────────────────────────────────────────────────────────────────────┐ │
│ │ CONSENSUS CLIENT │ │
│ │ (Handles PoS, Beacon Chain, validation) │ │
│ │ │ │
│ │ Lighthouse / Prysm / Teku / Nimbus / Lodestar │ │
│ │ │ │
│ │ - Beacon Chain │ │
│ │ - Validator Management │ │
│ │ - Fork Choice │ │
│ │ - Attestations & Proposals │ │
│ └────────────────────────────────────────────────────────────────────┘ │
│ │
│ Execution Client must connect to Consensus Client via Engine API │
│ │
└─────────────────────────────────────────────────────────────────────────────┘

ClientLanguageDevelopersStatus
GethGoEthereum FoundationStable
ErigonGoErigon TeamStable
NethermindC#/.NETNethermindStable
BesuJavaHyperledgerStable
RethRustParadigmBeta
ClientLanguageDevelopersStatus
LighthouseRustSigma PrimeStable
PrysmGoPrysmatic LabsStable
TekuJavaConsenSysStable
NimbusNimStatusStable
LodestarTypeScriptChainSafeStable

The EVM is a runtime environment for executing smart contracts on Ethereum.

┌─────────────────────────────────────────────────────────────────┐
│ ETHEREUM VIRTUAL MACHINE │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Smart Contract Bytecode │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ PUSH1 0x60 PUSH1 0x60 ADD PUSH1 0x00 SSTORE │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ OPCODES │ │
│ │ │ │
│ │ Stack Operations: PUSH, POP, DUP, SWAP │ │
│ │ Arithmetic: ADD, SUB, MUL, DIV, MOD │ │
│ │ Comparison: LT, GT, EQ, ISZERO │ │
│ │ Storage: SLOAD, SSTORE │ │
│ │ Memory: MLOAD, MSTORE, MSIZE │ │
│ │ Control: JUMP, JUMPI, JUMPDEST │ │
│ │ Logging: LOG0, LOG1, LOG2, LOG3, LOG4 │ │
│ │ System: CREATE, CALL, DELEGATECALL, STATICCALL │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ GAS CALCULATION │ │
│ │ │ │
│ │ Each opcode has a gas cost: │ │
│ │ - ADD: 3 gas │ │
│ │ - SLOAD: 2100 gas (cold) / 100 gas (warm) │ │
│ │ - SSTORE: 20000 gas (set) / 5000 gas (modify) │ │
│ │ - CALL: 2600 gas + value transfer │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Gas is the unit of computation on Ethereum. Each operation requires a specific amount of gas.

┌─────────────────────────────────────────────────────────────────┐
│ GAS MECHANICS │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Transaction Fee = Gas Used × Gas Price │
│ │
│ Components: │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Gas Limit: Maximum gas you're willing to spend │ │
│ │ (e.g., 21,000 for simple ETH transfer) │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ Gas Used: Actual gas consumed by execution │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ Gas Price: Price per unit of gas │ │
│ │ - Base fee (network determined) + Priority fee │ │
│ │ - Measured in Gwei (1 Gwei = 10^-9 ETH) │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ Max Fee: Maximum you're willing to pay │ │
│ │ - 2 * (base + priority) typically │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ EIP-1559 (London Upgrade): │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Base Fee: Burned, adjusts dynamically │ │
│ │ Priority Fee: Goes to validator (tips) │ │
│ │ │ │
│ │ Formula: │ │
│ │ total_fee = gas_limit * (base_fee + priority_fee) │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
OperationGas Cost
Simple Transfer21,000
ERC-20 Transfer~65,000
Swap (Uniswap)~150,000-300,000
Deploy Contract~1,000,000+
Storage Write20,000+

Ethereum has two types of accounts:

┌─────────────────────────────────────────────────────────────────┐
│ ETHEREUM ACCOUNTS │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ EXTERNALLY OWNED ACCOUNT (EOA) │ │
│ │ │ │
│ │ - Controlled by private key │ │
│ │ - Can send transactions │ │
│ │ - Can hold ETH and tokens │ │
│ │ - Has nonce (transaction counter) │ │
│ │ │ │
│ │ Address: 0x742d35Cc6634C0532925a3b844Bc9e7595f1e3E4 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ SMART CONTRACT ACCOUNT │ │
│ │ │ │
│ │ - Controlled by code (smart contract) │ │
│ │ - Has executable code │ │
│ │ - Has storage │ │
│ │ - Can hold ETH and tokens │ │
│ │ - Can be called by EOAs or other contracts │ │
│ │ │ │
│ │ Address: 0x... (created via CREATE/CREATE2) │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Both types have: balance, nonce, codeHash, storageRoot │
│ │
└─────────────────────────────────────────────────────────────────┘

QuestionAnswer
What is The Merge?Transition from PoW to PoS on Ethereum
What are execution vs consensus clients?Execution handles transactions/EVM; consensus handles PoS
What is gas in Ethereum?Unit of computation for transaction fees
What is EIP-1559?London upgrade that burns base fees

  • Ethereum is the leading smart contract platform
  • Uses dual-client architecture (execution + consensus)
  • Multiple client implementations exist for diversity
  • Gas fees are paid in ETH (Gwei)
  • Post-Merge uses Proof of Stake

In Chapter 7: Geth Client - Setup & Configuration, we’ll dive into the most popular Ethereum client - Geth.


Last Updated: 2026-02-20