Infrastructure

A blockchain exists out of blocks of data. These blocks of data are stored on nodes (compare it to small servers). Nodes can be any kind of device (mostly computers, laptops or even bigger servers). Nodes form the infrastructure of a blockchain. All nodes on a blockchain are connected to each other and they constantly exchange the latest blockchain data with each other so all nodes stay up to date. They store, spread and preserve the blockchain data, so theoretically a blockchain exists on nodes. A full node is basically a device (like a computer) that contains a full copy of the transaction history of the blockchain.

7 nodes (servers/computers), all connected to each other, running a blockchain together.

What do nodes do?

When a miner attempts to add a new block of transactions to the blockchain, it broadcasts the block to all the nodes on the network. Based on the block’s legitimacy (validity of signature and transactions), nodes can accept or reject the block. When a node accepts a new block of transactions, it saves and stores it on top of the rest of the blocks it already has stored. In short, here is what nodes do:

Nodes check if a block of transactions is valid and accept or reject it.

Nodes save and store blocks of transactions (storing blockchain transaction history).

Nodes broadcast and spread this transaction history to other nodes that may need to synchronize with the blockchain (need to be updated on transaction history).

The difference between a miner and a node

A miner always needs to run a full node in order to select valid transactions to form a new block. Without a full node it cannot determine what proposed transactions are valid according to the current blockchain’s transaction history (aka if all balances involved in the transactions are sufficient enough to perform the proposed transactions), because it does not have access to the full blockchain history. Therefore, a miner is always also a full node. A node however, is not necessarily simultaneously a miner. A device can run a full node by receiving, storing and broadcasting all transaction data (much like a server) without actually creating new blocks of transactions itself. In this case it functions more like a pass point with a directory, whereas a miner is the same but simultaneously tries to create new blocks of transactions as well.

Definition of a node in blockchain: A full node is a full copy of the blockchain transaction history on any device.

How nodes secure the blockchain

Nodes can be online or offline. Online nodes are receiving, saving and broadcasting all the latest blocks of transactions from and to other nodes, while offline nodes do not. When an offline node comes back online, it will need to catch up with the rest of the blockchain first by downloading all blocks that were added to the blockchain ever since the node went offline. This process is often referred to as synchronizing with the blockchain.