A node, in the world of blockchain, is a computer, not necessarily a supercomputer, but some connection to a cryptocurrency network that can execute certain functions with the blockchain. I.E. creating, receiving or transferring information. Think of a node as a small server. I can be said that the blockchain exists on top of nodes.
A node is a part of blockchain that provides functionality to a token. It’s a fundamental part of the blockchain ledger that maintains a cryptocurrency. A blockchain exists out of blocks of data stored on nodes. Nodes form the infrastructure of a blockchain. Nodes communicate with each other within the network and transfer information about transactions and new blocks. Nodes provide validated accessibility to the blockchain and the new blocks being created.
The function of a node depends on the project. Nodes download a blockchain’s history to observe and enforce its rules. Generally, nodes help maintain the security and integrity of the network supporting the blockchain. A blockchain node’s purpose may be to verify each batch of blocks. Each node is distinguished from others by a unique identifier. Nodes allow for multiple versions of the blockchain transaction history to exist at once without differentiating.
There are four types of nodes: full nodes, lightweight nodes, miner nodes and listening nodes. Full nodes provide support and security by storing a full copy of the transaction history of the blockchain. Lightweight nodes are the users of the blockchain, which require connection to a full node to be able to participate within the blockchain. Miners are classified as nodes. A miner may work alone (solo miner), and use their own full node, or in groups (pool miner), who utilize a mining pool where only the administrator can run a full node, which can be referred to as a pool miner’s full node. A miner always needs to run a full node in order to select valid transactions to form a new block, therefore, a miner is always also a full node. However, a node, is not necessarily simultaneously a miner. A listening node, essentially, is a publicly visible full node that communicates with any node that decides to establish a connection with it.
Blockchain doesn’t run on it’s own, it requires nodes to support it’s network. As of now, there are 10000 public nodes running the Bitcoin network. This requires substantial computer power and storage to keep the blockchain running. Some of these nodes are public nodes, while others are private and operate behind a firewall. The more full nodes a blockchain is running on, the better its resilience against such catastrophes is. A single node can theoretically keep an entire blockchain operational and even if all nodes go offline, it only takes one node with the full blockchain history to come back online to make all the data accessible again. 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 the transaction history to other nodes that may need to synchronize with the blockchain (need to be updated on transaction history).
Some blockchains now contain such a large number of transaction data that it actually requires substantial memory on a device to run a full node. Many crypto users who just want to utilize a blockchain use wallet applications. These applications allow them to broadcast transactions from their wallet without being required to download the entire blockchain history on their own device.
Nodes form an active dynamic ecosystem. All blockchains start with a full node which verifies and stores the blockchain while increasing in size. Then there are miners, some of which could be full nodes other are not, who use computer power to create new blocks and collect transaction fees. Then there are partial nodes, such as wallets, which store a portion of the blocks, but do not store the entire blockchain like a full node.
Some blockchains also feature masternodes. Master nodes require heavier equipment than normal nodes. Next to validating, saving and broadcasting transactions, masternodes sometimes also facilitate other events on the blockchain dependent on their nature. For example, masternodes are known to enforce the laws of the according blockchain, govern voting events and provide execution of protocol operations. Masternodes are generally online 24/7, and facilitate much more memory than normal nodes.
Similar to everything else in blockchain, it feels like we have only just begun to realize the breadth and capacity of nodes.