Blockchain Nodes

Short Definition of a Node
  • Refer to a network’s stakeholders and/or their devices, keeping a copy of the distributed ledger serving as points that execute network functions
  • Purpose is to verify the validity of each succeeding batch of network transactions, called blocks
What does a Blockchain Node consist of?

In a blockchain, each block consists of two pieces:

  • A block header. This is the meta-data for the block, which consists of some basic information about the block, including the Merkle root of transactions.
  • The transaction data. This makes up the majority of the block, and consists of the actual transactions.
Types of nodes
  • Full nodes (also known as fully validating nodes): These are nodes that download and check that every transaction in the blockchain is valid. This requires a lot of resources and hundreds of gigabytes of disk space, but these are the most secure nodes as they can’t be tricked into accepting blocks that have invalid transactions.
  • Light clients: If your computer doesn’t have the resources to run a full node, then you can run a light client. A light client doesn’t download or validate any transactions. Instead, they only download the block header, and assume that the block only contains valid transactions, so light clients are less secure than full nodes.
  • Archive Nodes: Stores everything kept in the full node and builds an archive of historical states. Needed if you want to query something like an account balance at block #4,000,000, or simply and reliably test your own transactions set without mining them using OpenEthereum. These data represent units of terabytes which makes archive nodes less attractive for average users but can be handy for services like block explorers, wallet vendors, and chain analytics. Syncing clients in any mode other than archive will result in pruned blockchain data. This means, there is no archive of all historical states but the full node is able to build them on demand.