Blockchain Byte - Week 11: Nodes

Blockchain Byte - Week 11: Nodes

Table of Contents

  1. Recap
  2. Node Functions
  3. Node Types

Recap

To recap, last week we explored consensus and spoke a bit about nodes in a Blockchain network. Nodes perform various functions in a Blockchain. The main goal of a node is to provide reliable data storage in the Blockchain network. This means storage of the common ledger & other data.

Node Functions

At a high level, when a transaction is initiated (could be transfer of bitcoin from person A to B), the processing nodes within the Blockchain

a. take these transactions,

b. check their integrity and

c. record them on the ledger.

In addition to the above, they are also a point of communication in the Blockchain network which is called the network routing function. E.g., When you open up an application in your phone or laptop, your phone or laptop connects to the server of that application which is centralized at the company. For example, if you open up Facebook, the application in the phone connects to Facebook servers.

In a Blockchain, when a new node boots up, it must discover other nodes on the network in order to participate in the Blockchain network. To start this process, a new node must discover at least one existing node on the network and connect to it to be part of the decentralized network.

So in summary, a node does the below functions:

Node.jpg

The concept is so unique & beautiful that all the nodes collectively maintain & update the ledgers even though they do not know or trust each other. And they can trust the contents of the ledger in this scenario of trust less infrastructure.

Node Types

There are different types of nodes depending on the roles they are assigned within the Blockchain network. The different roles played by nodes in a Blockchain network are defined by the requirements of that network. The purpose of defining different roles is to allow the network to operate in a seamless fashion as each node performs the tasks assigned. In other words, although nodes in a Blockchain network are equal, they may take on different roles depending on the role assigned or functionality they are supporting.

This is similar to what happens in nature. Let us take the example of an ant colony. An ant colony is defined as the basic unit around which ants organize their lifecycle. The typical colony consists of one or more egg-laying queens, numerous sterile females (workers, soldiers) and, seasonally, many winged sexual males and females. (Source: wikipedia). Each type of ant have distinctive roles assigned to them by nature which helps to maintain the colony and keep it thriving.

brown and black ant on white surface
Photo by Marco Neri / Unsplash

It is to be noted that all nodes include the network routing function to participate in the Blockchain network. All nodes also validate and propagate transactions & blocks (more on this later!!), & discover and maintain connection to peers.

Depending on the functions carried out, there are two major types of nodes in a blockchain:

  1. Full Nodes
  2. Light Nodes

Full Nodes

Full Nodes maintain a complete and up-to date copy of the Blockchain. Since they maintain all the debits and credits from the initial or genesis transaction till the latest transaction, they do not need to refer to anyone else when checking or verifying a transaction. (So they can look backwards to see where the funds came from).
Full nodes can autonomously and authoritatively verify any transaction without external reference.
Since Full nodes are nodes that maintain a full Blockchain with all the transactions, each full node can be considered as equivalent to a server in a centralized application.

Light Nodes

Some nodes maintain only a subset of the Blockchain and verify transactions using a method called Simplified Payment Verification (SPV). These nodes are known as SPV Nodes or Light Nodes.

Many light nodes are designed to run on space & power constrained devices such as smartphones, tablets or embedded systems. For such devices, this method (SPV) allows them to operate without storing the full Blockchain. SPV nodes download only the block headers (which we will discuss later!!) and DO NOT download the full transactions included in each block which would take more space & power requirements than a smartphone or tablet.

There are some more node classifications as given below but we will get into more details at a later stage after we understand how transactions are processed in a Blockchain.