Skip to content

What_is_node

A blockchain node is a computer or server that participates in a blockchain network by running the blockchain’s software. Nodes are the fundamental building blocks that maintain the network’s functionality, security, and decentralization.


A blockchain node is:

  1. A device (computer/server) that runs blockchain software
  2. Connects to other nodes in the P2P network
  3. Stores a copy of the blockchain (or partial copy)
  4. Validates and relays transactions and blocks
  5. Participates in the consensus mechanism

Think of a blockchain node like a bank branch in a distributed banking system:

  • Each branch has a copy of all transactions
  • Branches communicate with each other
  • They validate transactions before recording
  • No single branch controls the entire system

┌─────────────────────────────────────────────────────────────────┐
│ NODE FUNCTIONS │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Transaction│ │ Block │ │ Consensus │ │
│ │ Validation │ │ Validation │ │ Participation │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Network │ │ Data │ │ State │ │
│ │ Propagation│ │ Storage │ │ Management │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

When a node receives a transaction, it:

  1. Syntax Check: Validates the transaction format
  2. Signature Verification: Ensures the sender signed it
  3. Balance Check: Verifies sender has sufficient balance
  4. Nonce Verification: Checks transaction ordering
  5. Gas Calculation: Ensures sufficient gas for execution
  6. Contract Code: Runs any smart contract code

When receiving a new block, a node:

  1. Header Validation: Checks timestamp, difficulty, hash
  2. Transaction Root: Verifies Merkle root
  3. State Root: Validates state changes
  4. Signatures: Verifies block producer signatures
  5. Consensus Rules: Ensures compliance with protocol rules

┌─────────────┐
│ Client │
│ (Wallet) │
└──────┬──────┘
│ Submit Transaction
┌─────────────────────────────────────────────────────┐
│ P2P NETWORK │
│ │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │Node1│◀───▶│Node2│◀───▶│Node3│◀───▶│Node4│ │
│ └─────┘ └─────┘ └─────┘ └─────┘ │
│ │ │ │
│ └──────────────┬────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Validator │ │
│ │ Node │ │
│ └─────────────┘ │
│ │
└──────────────────────────────────────────────────────┘
ProtocolDescriptionUsage
libp2pModular P2P networkingEthereum, Cosmos, Polkadot
DevP2PEthereum’s P2P protocolLegacy Ethereum
Bitcoin P2PBitcoin’s native protocolBitcoin
YamuxMultiplexing protocolCosmos/Tendermint

Different blockchains have different client software:

ClientLanguageDevelopersStatus
GethGoEthereum FoundationProduction
ErigonGoErigon TeamProduction
BesuJavaHyperledgerProduction
NethermindC#/.NETNethermindProduction
RethRustParadigmBeta
ClientDescription
GaiaCosmos Hub reference implementation
CometBFTConsensus engine (formerly Tendermint)
Cosmos SDKFramework for building Cosmos chains
ClientDescription
Bitcoin CoreReference implementation
btcdGo implementation
LibbitcoinC++ implementation

  1. Privacy: Don’t rely on third-party nodes
  2. Security: Verify transactions yourself
  3. Network Contribution: Help decentralize the network
  4. Development: Build dApps with direct access
  5. Business: Require reliable RPC access
Network TypeCPURAMStorageBandwidth
Ethereum (Full)4+ cores16GB+2TB+ SSD25+ Mbps
Ethereum (Light)2 cores4GB100GB10 Mbps
Cosmos4 cores8GB1TB SSD20 Mbps
Bitcoin4 cores8GB500GB SSD20 Mbps

We’ll cover different node types in detail in Chapter 3, but here’s a quick overview:

┌─────────────────────────────────────────────────────────────────────┐
│ NODE TYPES HIERARCHY │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ BLOCKCHAIN │
│ │ │
│ ┌───────────────┼───────────────┐ │
│ ▼ ▼ ▼ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │FULL NODE│ │LIGHT │ │ARCHIVE │ │
│ │ │ │NODE │ │NODE │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Miner/ │ │ RPC Node │ │ Validator │ │
│ │ Validator │ │ │ │ │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────┐
│ NODE DATA FLOW │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ External Transaction │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ Receive TX │────── Validate Signature │
│ └──────┬───────┘────── Verify Balance │
│ │ Check Nonce │
│ │ Validate Gas │
│ ▼ │
│ ┌──────────────┐ │
│ │ Mempool │────── Pending Transactions Pool │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Block │────▶│ Validator │────── Sign & Propose │
│ │ Producer │ │ / Miner │ │
│ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │
│ │ ┌──────────────┴──────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ New Block │──────────Broadcast────▶│ Other Nodes │ │
│ │ Received │ │ Verify & Add │ │
│ └──────────────┘ └──────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────┘

QuestionAnswer
What is a blockchain node?A computer that runs blockchain software, validates transactions, and maintains the network
Why run a node?Privacy, security, network contribution, dApp development, business needs
What does a node validate?Transaction format, signatures, balances, nonces, gas, consensus rules
How do nodes communicate?Through P2P protocols like libp2p, DevP2P, or Bitcoin P2P

  • A blockchain node is a computer running blockchain software
  • Nodes validate transactions and blocks
  • They communicate through P2P networks
  • Multiple client implementations exist for each blockchain
  • Hardware requirements vary by network and node type

In Chapter 3: Types of Blockchain Nodes, we’ll explore the different types of nodes in detail.


Last Updated: 2026-02-20