What_is_node
Chapter 2: What is a Blockchain Node?
Section titled “Chapter 2: What is a Blockchain Node?”Overview
Section titled “Overview”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.
2.1 Definition of a Blockchain Node
Section titled “2.1 Definition of a Blockchain Node”A blockchain node is:
- A device (computer/server) that runs blockchain software
- Connects to other nodes in the P2P network
- Stores a copy of the blockchain (or partial copy)
- Validates and relays transactions and blocks
- Participates in the consensus mechanism
Simple Analogy
Section titled “Simple Analogy”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
2.2 What Does a Node Do?
Section titled “2.2 What Does a Node Do?”Primary Functions
Section titled “Primary Functions”┌─────────────────────────────────────────────────────────────────┐│ NODE FUNCTIONS │├─────────────────────────────────────────────────────────────────┤│ ││ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ││ │ Transaction│ │ Block │ │ Consensus │ ││ │ Validation │ │ Validation │ │ Participation ││ └─────────────┘ └─────────────┘ └─────────────┘ ││ ││ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ││ │ Network │ │ Data │ │ State │ ││ │ Propagation│ │ Storage │ │ Management │ ││ └─────────────┘ └─────────────┘ └─────────────┘ ││ │└─────────────────────────────────────────────────────────────────┘Transaction Validation
Section titled “Transaction Validation”When a node receives a transaction, it:
- Syntax Check: Validates the transaction format
- Signature Verification: Ensures the sender signed it
- Balance Check: Verifies sender has sufficient balance
- Nonce Verification: Checks transaction ordering
- Gas Calculation: Ensures sufficient gas for execution
- Contract Code: Runs any smart contract code
Block Validation
Section titled “Block Validation”When receiving a new block, a node:
- Header Validation: Checks timestamp, difficulty, hash
- Transaction Root: Verifies Merkle root
- State Root: Validates state changes
- Signatures: Verifies block producer signatures
- Consensus Rules: Ensures compliance with protocol rules
2.3 Node Communication
Section titled “2.3 Node Communication”P2P Network Architecture
Section titled “P2P Network Architecture” ┌─────────────┐ │ Client │ │ (Wallet) │ └──────┬──────┘ │ Submit Transaction ▼ ┌─────────────────────────────────────────────────────┐ │ P2P NETWORK │ │ │ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │ │ │Node1│◀───▶│Node2│◀───▶│Node3│◀───▶│Node4│ │ │ └─────┘ └─────┘ └─────┘ └─────┘ │ │ │ │ │ │ └──────────────┬────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────┐ │ │ │ Validator │ │ │ │ Node │ │ │ └─────────────┘ │ │ │ └──────────────────────────────────────────────────────┘Communication Protocols
Section titled “Communication Protocols”| Protocol | Description | Usage |
|---|---|---|
| libp2p | Modular P2P networking | Ethereum, Cosmos, Polkadot |
| DevP2P | Ethereum’s P2P protocol | Legacy Ethereum |
| Bitcoin P2P | Bitcoin’s native protocol | Bitcoin |
| Yamux | Multiplexing protocol | Cosmos/Tendermint |
2.4 Node Software
Section titled “2.4 Node Software”Different blockchains have different client software:
Ethereum Clients
Section titled “Ethereum Clients”| Client | Language | Developers | Status |
|---|---|---|---|
| Geth | Go | Ethereum Foundation | Production |
| Erigon | Go | Erigon Team | Production |
| Besu | Java | Hyperledger | Production |
| Nethermind | C#/.NET | Nethermind | Production |
| Reth | Rust | Paradigm | Beta |
Cosmos Clients
Section titled “Cosmos Clients”| Client | Description |
|---|---|
| Gaia | Cosmos Hub reference implementation |
| CometBFT | Consensus engine (formerly Tendermint) |
| Cosmos SDK | Framework for building Cosmos chains |
Bitcoin Clients
Section titled “Bitcoin Clients”| Client | Description |
|---|---|
| Bitcoin Core | Reference implementation |
| btcd | Go implementation |
| Libbitcoin | C++ implementation |
2.5 Running a Node
Section titled “2.5 Running a Node”Why Run a Node?
Section titled “Why Run a Node?”- Privacy: Don’t rely on third-party nodes
- Security: Verify transactions yourself
- Network Contribution: Help decentralize the network
- Development: Build dApps with direct access
- Business: Require reliable RPC access
Hardware Requirements
Section titled “Hardware Requirements”| Network Type | CPU | RAM | Storage | Bandwidth |
|---|---|---|---|---|
| Ethereum (Full) | 4+ cores | 16GB+ | 2TB+ SSD | 25+ Mbps |
| Ethereum (Light) | 2 cores | 4GB | 100GB | 10 Mbps |
| Cosmos | 4 cores | 8GB | 1TB SSD | 20 Mbps |
| Bitcoin | 4 cores | 8GB | 500GB SSD | 20 Mbps |
2.6 Node Types Overview
Section titled “2.6 Node Types Overview”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 │ │ │ │ │ ││ └───────────┘ └───────────┘ └───────────┘ ││ │└─────────────────────────────────────────────────────────────────────┘2.7 Node Data Flow
Section titled “2.7 Node Data Flow”┌─────────────────────────────────────────────────────────────────────┐│ 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 │ ││ └──────────────┘ └──────────────┘ ││ │└──────────────────────────────────────────────────────────────────────┘2.8 Interview Questions
Section titled “2.8 Interview Questions”| Question | Answer |
|---|---|
| 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 |
Summary
Section titled “Summary”- 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
Next Chapter
Section titled “Next Chapter”In Chapter 3: Types of Blockchain Nodes, we’ll explore the different types of nodes in detail.
Last Updated: 2026-02-20