Ethereum from Zero to Deep Understanding · Part II / Chapter 02 / Lesson 01

Without a central server,how does everyone keep the same ledger?

A distributed ledger is not simply “an Excel sheet copied many times.” The real challenge is this: when nodes are independent, messages are delayed, and some participants may lie, how can the network still reach verifiable agreement on which history is valid?

  • 02 · 01Chapter 02 · Lesson 01
  • ≈ 65 MINSuggested study time
  • BEGINNER → DEEPFrom intuition to protocol structure

Remember this first

Agreement does not come from one machine holding the final answer. It comes from each fully validating node independently checking the same public rules.
Lesson contents · 11 learning units
  1. 01What a ledger really is
  2. 02Why replicas diverge
  3. 03How agreement emerges
  4. 04How Ethereum divides the work
  5. 05Multi-node consensus lab
  6. 06Why order determines outcomes
  7. 07How it differs from a database
  8. 08Six common misconceptions
  9. 09The whole lesson in one model
  10. 10Check your understanding
  11. 11Terms and primary sources
01 / MORE THAN A COPY

Before we discuss blocks: what is a ledger?

The word “ledger” easily brings to mind a table of balances. In Ethereum, it encompasses at least three things at once: history, current state, and the rules that change that state.

A traditional bank ledger has a natural center: whatever the bank’s database says you own is the authoritative business record. A distributed ledger removes that single authoritative machine, yet it must still let strangers answer: Who submitted what, in what order, and what is the valid state now?

A distributed ledger therefore cannot be merely a static table. It is closer to a replicated state machine maintained collectively by many computers: nodes store protocol data, receive inputs, validate and execute them under the same rules, then use consensus to decide which ordered history is canonical.

In Ethereum, “ledger” is also an incomplete but useful introductory metaphor. It records more than ETH transfers: it maintains accounts, contract code, and contract storage. The official EVM documentation describes Ethereum as a state transition machine: given an old state and a set of valid transactions, the rules produce a new state.[1]

01 · HISTORY

Ordered history

Blocks and transactions that have entered the canonical chain. It answers: “What happened, and in what order?”

B102 → B103 → B104
Tx A before Tx B
02 · STATE

Current state

The result of executing the canonical history. It answers: “What are the accounts, balances, and contract data now?”

Alice · 2 ETH · nonce 8
Vault · locked = true
03 · RULES

Public rules

The validity conditions for transactions, blocks, and state transitions. Nodes need not trust the sender; they can verify for themselves.

valid signature
correct nonce · valid gas / fee fields
Figure 01 · Ledger = history + state + rules Copying data is not enough. Nodes must also know how to validate it, derive state from history, and choose among competing histories.
S + T₁…Tₙ rules → S′ Old state S + an ordered set of inputs T, processed by deterministic protocol rules, produces new state S′. With the same starting point, order, and rules, honest nodes should obtain the same result.

“Distributed” describes deployment; “ledger” describes shared facts

Distributed means data and computation exist across multiple interconnected machines; it does not automatically imply decentralization. A company can run a hundred database servers around the world and still place them all under one administrator. A blockchain must additionally handle open participation, mutual distrust, adversarial behavior, and authority over rule changes.

A more precise definition is therefore: a distributed ledger is a record-keeping system whose replicas are held or verified by multiple independent participants, with a shared protocol determining valid updates and canonical history. Ethereum extends this record-keeping system into a programmable shared state machine.

02 / WHY COPIES DIVERGE

Replication is easy. Staying consistent is hard.

A network is not a meeting room where everyone hears each speaker at once. Messages take time to propagate, machines go offline, and participants may deliberately send conflicting information.

Suppose Alice sends two conflicting requests at nearly the same time: one transfers the same funds to Bob, the other to Carol. A node in New York may see the first request before the second, while a node in Singapore may see the second first. Neither machine is broken; they simply have different views of the network.

NODE · A
B102 · 7fa9
B103 · 21cd
Tx → Bob first

Transaction A received; B not yet received.

NODE · B
B102 · 7fa9
B103 · 21cd
Tx → Carol first

Messages arrived in the opposite order from Node A.

NODE · C
B102 · 7fa9
B103 · 21cd
waiting for peer…

Network delay: neither transaction is visible yet.

NODE · X
B102 · 7fa9
B103 · 21cd
forged signature

A malicious node broadcast a forged input.

Figure 02 · Different local views at the same moment The pool of unconfirmed transactions is each node’s local candidate set, not a ledger the whole network has already agreed on. Temporary divergence is normal; the protocol’s job is to make honest nodes converge eventually.
01 · LATENCY

Messages do not arrive instantly

Nodes may be far apart, with different bandwidth and routes. “I have not received it” cannot tell you whether a message does not exist or is still in transit.

02 · ORDER

Arrival order is not global order

If one node receives A before B, another need not receive them in that order. For balances, auctions, or contract state, order can change the outcome.

03 · FAILURE

Machines fail and recover

A node may crash, disconnect, or fall thousands of blocks behind. The system cannot stop whenever one machine disappears, nor can it unconditionally trust that machine’s claims when it returns.

04 · ADVERSARY

Some participants actively deceive

An open network must assume participants may forge signatures, propose invalid blocks, vote twice, or try to make different nodes accept different histories.

Consistency does not mean “every replica is identical every millisecond”

Distributed systems generally distinguish safety from liveness. Safety asks whether the system avoids finalizing conflicting histories; liveness asks whether it can continue making progress and eventually finalizing new checkpoints once network conditions return to normal. A design may temporarily halt finalization to avoid conflicting finalization, or accept weaker certainty in exchange for faster progress.

Ethereum allows nodes to see different candidate blocks near the chain head briefly, then converge through the fork-choice rule. For checkpoints that have reached finality, it offers a stronger guarantee against reversal. Thus “transaction seen,” “included in a block,” “on the current chain head,” and “finalized” are four distinct states.

03 / FROM MESSAGE TO SHARED HISTORY

How does a record go from “someone claims” to “the network accepts”?

Without a central bookkeeper, trustworthiness comes from an auditable processing chain: signing, propagation, independent validation, ordering, re-execution, and finality.

Imagine Alice’s wallet submitting a transfer. Any node may hear the request, but no node changes a balance simply because “the wallet said so.” Each receiving node first checks basic conditions such as encoding and signature. Once the transaction enters a candidate block, other fully validating nodes re-execute the entire block to verify the resulting state.

01 Sign the intent

The wallet creates a signed transaction. A signature proves authorization; it does not prove that the transaction will succeed.

02 Peer-to-peer propagation

Execution clients forward the transaction to neighboring nodes, and the message spreads gradually.

03 Local prechecks

Each node checks encoding, signatures, nonce, and fee conditions for itself, then maintains a local transaction pool.

04 Propose a block

A local execution client or external builder orders transactions into a candidate execution payload; the slot’s proposer incorporates the selected candidate into its Beacon-block proposal.

05 Re-execute

Other fully validating nodes recompute every transaction and reject any block that breaks protocol rules or produces an incorrect state root.

06 Choose the head

Validator attestations carry stake weight; fork choice uses the current latest-attestation set to select the head among valid branches.

07 Reach finality

A valid supermajority link from a justified source checkpoint justifies its target; later Casper FFG link conditions finalize an earlier justified checkpoint.

Figure 03 · From request to shared fact Entering one node’s transaction pool is not the same as being on-chain; entering a block is not the same as immediate finality. User interfaces often collapse these stages into a single “processing” state.
VALIDITY

Does it obey the rules?

Signatures, transaction fields, balances, gas, EVM execution, and the state root must all satisfy the protocol. An invalid candidate does not become valid because many people support it.

Output: valid / invalid
FORK CHOICE

Which chain should we follow now?

When multiple valid candidates appear near the chain head, nodes apply fork choice to validators’ latest stake-weighted attestations and select the current canonical head.

Output: current head
FINALITY

When does reversal become extremely difficult?

A valid supermajority link from a justified source checkpoint justifies its target; later Casper FFG link conditions finalize an earlier justified checkpoint.

Output: justified → finalized

Consensus is not majority rule over computation

This boundary is crucial. If a block contains a forged signature or an incorrect state transition, your node can declare it invalid directly under the rules; even if many nodes claim it is valid, your node should not accept it. Fork choice uses attestation weight to select a current head among multiple valid candidates; it cannot vote 2 + 2 into equaling 5.

This is the engineering meaning of “don’t trust, verify”: a node relies on the public specification and the checks it performs itself, not on the reputation of an API, block explorer, block proposer, or neighboring node. One value of running a full node is precisely the ability to verify transactions and blocks yourself. [2]

04 / ETHEREUM'S TWO-CLIENT NODE

Who handles each step in Ethereum today?

A full Ethereum node normally combines an execution client and a consensus client. To propose blocks and attest, it also connects validator software.

Since The Merge, Ethereum has split transaction and state computation from proof-of-stake consensus across two tightly coordinated clients. These layers are not two separate chains; they divide responsibilities inside one Ethereum node. The official node documentation is explicit: a node needs both an execution client and a consensus client.[2]

EXECUTION LAYER · EL

Execution client

Answers “is this transaction valid, and what state results from executing it?” It maintains the EVM, execution state, receipts, and a local transaction pool.

  1. 01Receives and propagates transactions over the execution-layer P2P network
  2. 02Checks transactions and maintains a local transaction pool
  3. 03Executes or re-executes transactions to validate state changes
  4. 04Builds candidate execution payloads locally; an external builder may also supply a candidate through the Builder API
CONSENSUS LAYER · CL

Consensus client

Answers “which block is the current head, and which checkpoints are justified or finalized?” It maintains the Beacon state.

  1. 01Propagates blocks and attestations over the consensus-layer P2P network
  2. 02Runs fork choice and tracks the canonical head
  3. 03Processes attestations, rewards, penalties, and slashing rules
  4. 04Tracks justified and finalized checkpoints
Figure 04 · One node, two network responsibilities The execution client propagates transactions; the consensus client propagates Beacon blocks and attestations. They form one logical node and normally connect through the authenticated Engine API.[3]

The proposer supplies a candidate; other nodes still recompute it

Each slot selects one validator as block proposer. A local execution client or an external builder through the Builder API may assemble a candidate execution payload; the proposer incorporates the selected candidate into its Beacon-block proposal. When other full Ethereum nodes receive the resulting block, they pass its execution payload to their own execution clients for re-execution. Only after it passes do they treat it as a valid candidate. Of these nodes, only validators running validator software and assigned a duty for that slot publish attestations.

A validator is therefore not a “central bookkeeper” in the traditional sense. It may propose what goes on the next page, but it cannot rewrite the validation rules unilaterally. If it includes an invalid transaction or incorrect state root, protocol-compliant nodes reject the block.

Gasper: chain-head selection plus checkpoint finality

Ethereum’s consensus mechanism today is commonly called Gasper. It combines LMD-GHOST for chain-head selection with Casper FFG for checkpoint finality. When several valid branches exist near the head, fork choice considers the stake weight represented by validators’ latest attestations. When a valid source → target checkpoint link from a justified source receives attestation weight from at least two-thirds of active validators’ total effective balance, the target becomes justified. Only after a later link satisfies Casper FFG’s conditions does an earlier justified checkpoint become finalized. [4]

12s slot
32 slots = 1 epoch

Ethereum mainnet currently uses a protocol parameter of 12 seconds per slot. Exactly 32 slots form one epoch: 384 seconds, or 6.4 minutes. A slot is an opportunity to propose a block, not a guarantee that a block will exist; finality forms through checkpoints and epochs. These are current protocol parameters, not timeless properties of the concept “blockchain.” [5]

“Two-thirds” means effective-balance weight, not node count

Beginners often read “66% agreement” as 66% of computers on the internet clicking yes. The formal denominator is active validators’ total effective balance. Full nodes that do not operate validators do not produce stake-weighted attestations, but they still validate blocks independently. A validator is a role that adds proposing and attesting duties on top of full-node capabilities; the validator’s node must validate blocks too.

To create conflicting finalized histories, at least one-third of active effective balance must violate accountable-safety conditions by issuing slashable conflicting attestations. Those validators face slashing, and actually reverting history that clients have already finalized may also require social-layer coordination. This is “cryptoeconomic finality”: it does not claim that no failure is physically possible. It makes a finality violation provable, attributable, and extremely costly. [6]

05 / INTERACTIVE CONSENSUS LAB

Guide four nodes from divergence to agreement

Move through the stages in order. Observe why “seeing a message,” “accepting a candidate,” “following the head,” and “finalizing” are not the same event.

Multi-node agreement lab

This teaching model does not simulate real network speed; it preserves the essential causal relationships.

Interactive 01
network view HEAD · B103 All nodes start from the same shared valid history
NODE · A
B103 · 21cd Synced · shared head
NODE · B
B103 · 21cd Synced · shared head
NODE · C
B103 · 21cd Synced · shared head
NODE · D
B103 · 21cd Synced · shared head
Figure 05 · Agreement is a process, not an instant “Fault · Forged block” shows a different path: independent validation should reject an invalid candidate before it ever enters fork-choice competition among valid branches.

Physically: many different replicas

Nodes may differ in disks, software implementations, sync progress, peers, and local transaction pools. Some retain more history; others perform only light verification.

Logically: one canonical state

For the same canonical head, protocol-compliant execution clients should derive the same state. What agrees is the verifiable conclusion, not every byte inside every machine.

Why can different teams implement clients in different languages?

Ethereum has multiple execution-client and consensus-client implementations. Their internal database structures, performance strategies, and programming languages may differ, but every implementation must follow the same protocol specification. Multiple implementations reduce the risk of the entire network depending on one codebase. They also impose a stricter requirement: the specification must be precise, and different implementations must reach the same result at consensus boundaries.

If one client produces an incorrect result because of a bug, independent implementations do not accept it merely because it is “well-known software.” Client diversity is therefore both an engineering ecosystem and part of removing single points of failure.

06 / ORDER CREATES OUTCOMES

Why must everyone agree on more than which transactions exist?

State transitions are not freely reorderable. The same set of transactions can produce different final states in different orders.

Suppose Alice has 3 ETH and her account nonce is 7. She signs two conflicting transactions that both use nonce 7: X sends 2 ETH to Bob; Y sends 2 ETH to Carol. To isolate the nonce conflict, this example omits transaction fees.

Both signatures may be genuine authorization, and either transaction may satisfy the balance requirement on its own; but an account can use a given nonce only once in canonical history. Whichever transaction is included in the valid block that becomes canonical updates Alice’s nonce from 7 to 8. The other has a stale nonce on descendants of that branch and cannot be included there. If both are forced into one execution sequence, the block becomes invalid at the second transaction. The network must therefore agree on both the set of valid transactions and their deterministic order.

Conflicting-transaction selection lab

Switch between two valid candidate blocks to see why only one transaction from the conflicting pair can enter canonical history.

Interactive 02
Initial state
Alice
Bob
Carol
S₀fees omitted
3 ETHnonce · 7
0 ETHnonce · 0
0 ETHnonce · 0
TX · X Alice → Bob · 2 ETH sender nonce = 7 · valid signature
TX · Y Alice → Carol · 2 ETH sender nonce = 7 · valid signature

Candidate block A: includes X and updates Alice’s nonce to 8. Y is not included and would be stale against this candidate’s post-state.

# 01Tx X · Alice → Bob · 2 ETHACCEPTED
CAND.Tx Y · Alice → Carol · 2 ETHNOT INCLUDED
STATEAlice 1 · Bob 2 · Carol 0 · nonce 8S₁
Figure 06 · Candidate selection and order jointly determine state The same conflicting pair can produce two different valid candidate blocks; each candidate here contains only one transaction, rather than executing both in a different order. Canonical history ultimately contains only one of them. Real Ethereum also checks fees, gas, account balances, and the complete execution rules.

A block provides a “batch”; the chain orders the batches

A block organizes transactions and metadata into a verifiable unit. Each block points to its parent, creating an ordered history. The next lesson will unpack block headers, timestamps, transaction data, and hashes. For now, hold on to the most important point: blocks are not file-compression bundles; they let a distributed network share a reference for the boundary and order of a batch of state transitions.

Near the chain head, a proposer may make two proposals, or proposers in different slots may build on different parents because of network delay, creating a temporary fork. Nodes use fork choice to select the current head, while additional attestations and eventual finality strengthen certainty over time. Applications therefore distinguish “broadcast,” “included,” “confirmed,” and “finalized.”

07 / TRUST MODEL & TRADE-OFFS

How does it differ from an ordinary distributed database?

Both can replicate data and tolerate machine failures. The essential difference is not whether many servers exist, but who may write, who defines the rules, and whom participants must trust.

A company’s distributed database normally knows the identities of its servers and has administrators, access controls, and a legal chain of responsibility. A public blockchain operates in an open environment: anyone may submit a transaction, while nodes and validators are run by unrelated parties. The system cannot treat one administrator’s word as the final answer.

Keep three terms distinct: a distributed database emphasizes storing and coordinating data across multiple machines; a distributed ledger emphasizes multiple parties maintaining a verifiable record under a shared protocol; a blockchain is one distributed-ledger structure that organizes records into blocks and links them in a chain. Not every distributed database is decentralized, and not every distributed ledger must be a blockchain. Ethereum has features of all three, but its trust model is that of an open public blockchain.

Dimension Ordinary distributed database Public blockchain / Ethereum
Control boundary Usually managed by one organization or a defined consortium. Nodes, validators, and users may be operated by unrelated parties.
Write access Accounts, roles, and server permissions determine who may write. Anyone may submit a request; protocol rules, authorization signatures, and state determine whether it is valid.
Authoritative answer A primary database, administrator, or organizational governance can issue a final decision. Public rules determine validity; consensus establishes canonical order.
Failure model Primarily addresses machine outages, network partitions, and operational errors. Must also address economically motivated adversaries and conflicting messages.
Audit model Relies on organizational logs, permissions, and external audits. Independent nodes can inspect and verify protocol data and state commitments.
Performance priority Can prioritize throughput, low latency, and internal efficiency. Trades repeated propagation, execution, and validation for verifiable agreement in an open environment.
Table 01 · Technical choices follow trust boundaries If every participant already trusts one administrator, a blockchain is usually not the most efficient choice. Its value appears when multiple parties need shared rules but do not want to give one party final control.

Why does a blockchain look “redundant and expensive”?

Because redundancy is part of the security model. Many nodes propagating the same data, re-executing the same transactions, and retaining verifiable commitments is slower and more resource-intensive than letting one trusted server write directly to a database. Ethereum does not optimize for single-machine efficiency; it optimizes for any participant being able to verify the result without a shared administrator.

This also explains the enduring trade-offs among decentralization, security, and throughput, and why Ethereum needs Layer 2. Later scaling chapters will examine how much execution can move off-chain or to Layer 2 while settlement and data-availability security remain anchored to Ethereum.

Different nodes need not store the same amount of data

Full nodes validate blocks and transactions but may prune older state data to save disk space. Archive nodes retain queryable historical states; light clients verify key commitments with less data. It is therefore inaccurate to say that “every node permanently stores every detail since genesis.” What matters is that each node type reaches protocol-based, verifiable conclusions appropriate to its security model. [2]

08 / SIX CALIBRATIONS

Six common misconceptions, corrected

Defining the boundaries precisely matters more than memorizing the phrase “decentralized ledger.”

MYTH 01

“Distributed always means decentralized”

One company’s servers can be distributed around the world. Decentralization also depends on whether control, validation, participation, and authority to change the rules are concentrated.

MYTH 02

“All nodes are always identical”

Local transaction pools, sync progress, and retained data may differ. After executing canonical history, nodes should converge on the same valid state—not match every byte at every instant.

MYTH 03

“Consensus means unanimous agreement”

The network does not wait for every participant to respond. Under explicit failure assumptions, the protocol uses stake weight, fork choice, and finality to form sufficiently strong agreement.

MYTH 04

“A majority vote can make an invalid transaction valid”

Nodes first validate independently under the protocol. Votes choose among valid candidate histories; forged authorization signatures and incorrect state transitions should be rejected outright.

MYTH 05

“An on-chain record is real-world truth”

Consensus can determine on-chain inputs and order; it cannot know whether weather reports, property claims, or identities are true. Off-chain facts still require oracles, law, or other trust mechanisms.

MYTH 06

“Finality means change is mathematically impossible”

Ethereum provides cryptoeconomic finality. A conflicting reversion would require large-scale punishable violations and may trigger social-layer coordination; the guarantee comes from cost and accountability.

Consensus cannot decide whether something is worthwhile

The network can agree that a contract executed successfully, but that says nothing about whether the contract is well designed, a token has value, lending risk is manageable, or you understood an authorization when you signed it. A distributed ledger guarantees verifiable agreement within the protocol’s scope, not investment quality, legal validity, or real-world truth.

09 / THE COMPLETE MODEL

The entire lesson in a seven-layer mental model

If you can explain these seven layers in order, you genuinely understand how independent nodes maintain a consistent record.

REPLICA
The ledger physically has many independent replicas.No central server naturally possesses the final answer.
GOSSIP
Transactions, blocks, and attestations propagate over peer-to-peer networks.Propagation takes time, so nodes may have different momentary views.
VALIDATE
Each fully validating node checks the public rules independently.Authorization signatures, transactions, execution results, and state commitments cannot rest on trust in someone else.
ORDER
Consensus establishes canonical order for valid inputs.Executing the same transactions in different orders may produce different states.
EXECUTE
Execution clients derive canonical state from canonical history.The same starting point, inputs, and rules should produce the same result.
CHOOSE
Fork choice selects the current head across temporary forks.Ethereum evaluates the stake weight represented by validators’ latest attestations.
FINALIZE
A sequence of valid supermajority links finalizes an earlier justified checkpoint.Conflicting finalized histories require large-scale, attributable, slashable violations of accountable safety.
10 / CHECK YOUR MODEL

Now check your understanding

Each question tests a boundary that is easy to blur. Answer first, then read the explanation.

1. What is the most important difference between a distributed ledger and “copying one spreadsheet onto four computers”?

Answer: B. Copying creates replicas, but the protocol must also define valid updates, determine order, and select which history to follow when a fork appears.

2. What does it mean when two honest nodes briefly see different transaction pools?

Answer: C. A transaction pool is not the canonical ledger. The protocol makes honest nodes converge after they obtain the data, validate blocks, and apply fork choice.

3. If many validators vote for a block containing a forged authorization signature, what should your full node do?

Answer: A. Nodes check validity independently first. Fork choice selects the current canonical head only among valid candidates.

4. Which statement best describes the division of work between execution and consensus clients?

Answer: C. The execution client maintains the EVM, state, and transaction pool; the consensus client handles blocks, attestations, fork choice, and checkpoint finality.

5. What does the “two-thirds” required for Ethereum finality primarily refer to?

Answer: B. Finality depends on supermajority links weighted by active validators’ total effective balance, not one vote per IP address or computer.

6. Why must the network agree on both the set of valid transactions and their order?

Answer: A. Contention over shared contract state or balances makes order affect the result; with a same-nonce conflict, at most one transaction can enter a valid block. Both selection and order are necessary inputs to shared state.

11 / TERMS & PRIMARY SOURCES

Terms and primary sources

The definitions below make this lesson’s vocabulary precise enough to restate, followed by official sources for checking Ethereum’s current mechanisms.

Node NODE

An instance of client software connected to Ethereum’s peer-to-peer networks. A full Ethereum node normally runs both an execution client and a consensus client; validator software adds the separate role of participating in PoS proposals and attestations.

Replica REPLICA

Protocol data and derived state held locally by a node. Different node types may retain different ranges of data, but each evaluates canonical chain and state under its validation model.

Transaction pool TRANSACTION POOL

A local, policy-dependent set of candidate transactions maintained by an execution client. Pools may differ across nodes because of propagation, fee policy, and local configuration; pool admission does not mean block inclusion.

Canonical chain CANONICAL CHAIN

The block history a node currently recognizes under validity and fork-choice rules. The region near the head may change temporarily; finalized checkpoints provide stronger stability.

Fork choice FORK CHOICE

The rule that determines the current head when multiple valid candidate branches exist. Ethereum PoS head selection uses the stake weight represented by validators’ latest attestations; it does not itself provide finality.

Attestation ATTESTATION

A validator’s signed attestation containing consensus information such as the head it sees and source / target checkpoints. Attestations are aggregated and affect both fork choice and finality.

Finality FINALITY

The guarantee that a block has entered the portion of canonical history that is extraordinarily difficult to revert. In Ethereum, a valid supermajority link from a justified source to a target, carrying at least two-thirds of active validators’ total effective balance, justifies the target. Later Casper FFG link conditions finalize an earlier justified checkpoint. Conflicting finalized histories require large-scale, attributable, slashable violations.

Safety and liveness SAFETY / LIVENESS

Safety requires the system not to finalize conflicting histories; liveness requires it to continue making progress and eventually finalizing new checkpoints under reasonable network and participation conditions.

Continue reading

  1. 01
    ethereum.org — Ethereum Virtual MachineOfficial technical introduction to Ethereum state, the state-transition function, and the EVM.
  2. 02
    ethereum.org — Nodes and clientsResponsibilities and differences among nodes, execution clients, consensus clients, full nodes, and archive nodes.
  3. 03
    ethereum.org — Node architectureExecution- and consensus-layer P2P networks, the Engine API, transaction propagation, block proposal, and re-execution.
  4. 04
    ethereum.org — Consensus mechanismsOfficial overview of consensus mechanisms, validator attestations, fork choice, and Gasper.
  5. 05
    ethereum.org — Proof-of-stakeSlots, epochs, block proposals, attestations, checkpoints, supermajority links, and finality.
  6. 06
    ethereum.org — Proof-of-stake FAQ: finalityThe two-thirds active-effective-balance threshold and the cryptoeconomic cost of conflicting finalized histories.
  7. 07
    ethereum.org — Networking layerDiscovery, connection, and message-propagation networks for the execution and consensus layers.
  8. 08
    Ethereum Consensus Specs — Beacon Chain fork choiceFormal specification of LMD-GHOST store, justified / finalized checkpoints, and canonical fork choice.
  9. 09
    Ethereum Execution SpecsExecutable Python specifications for execution-layer blocks, transactions, and state-transition rules.