What is node and the role of node — HKToken Course 22
In the Bitcoin network, nodes fulfill a very important role. You can imagine them as ‘guardians’, who are constantly monitoring the Bitcoin blockchain to distinguish legitimate Bitcoin transactions from non-legitimate ones. Their basic job is to prevent attempts to double-spend bitcoins that have already been spent elsewhere.
What is defined as a ‘full node’?
The terms ‘node’ and ‘full node’ are often used synonymously, but there actually is a difference between these two.
According to Bitcoin Core documentation, “a full node is a program that fully validates transactions and blocks. Almost all full nodes also support the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.”
What is a ‘light node’?
There are also “light nodes” or “lightweight nodes” that depend on full nodes for functioning. They require significantly less download and storage capacities than full nodes since they only download blockheaders from the Bitcoin blockchain and thus do not store the entire blockchain. Their only task is to verify transactions in the blockchain using simplified payment verification (SPV).
Consensus in the blockchain
Consensus in a decentralised network is defined by the rules based on which the network operates and confirms the validity of the information contained in the blocks. Maintaining the consensus between nodes, verification of transactions and voting on proposals are all among the main tasks of full nodes.
Types of full nodes
One type of full node is the pruned full node, that downloads blocks from the beginning of the chain until it reaches a certain limit and then deletes the oldest blocks. It is called a “pruned” node because the subtree of the decision tree has been removed, thus the pruned node takes up less space on the hard-drive.
Archival full nodes, on the other hand, host the entire blockchain, taking up a lot more hard-drive space than the pruned full node. Archival nodes are classified into further subcategories.
Further division of archival full nodes
Archival full nodes include mining nodes, staking nodes and authority nodes. Masternodes are another special type of node.
Commonly referred to as miners, these nodes solve complex cryptographic puzzles in a process referred to as “mining”. Each miner aims to be the first node to create a new block in the blockchain and to prove that it is the one that has performed the required work (hence Proof of Work). Once the entire network verifies a transaction, a new block is added to the existing blockchain and the miner receives a reward.
In the Bitcoin whitepaper, Satoshi used the word “node” as a synonym for “miner” but over the years these two definitions branched out somewhat. While technically “nodes”, “miners” use specialised ASIC hardware to add blocks to the Bitcoin blockchain and receive rewards for doing so. The letters ASIC stand for “application-specific integrated circuits” which have been designed for a particular use, such as Bitcoin mining.
The consensus principle underlying validation of transactions of staking nodes is Proof of Stake. In order to participate in creation, approval and validation of blocks, stakers are required to hold certain amounts of coins. Besides invested coins, staking algorithms also consider time in the blockchain, the total number of stakers in the blockchain, as well as a random factor in determining who validates a block.
Yet another consensus model is Proof of Authority, which is more popular in private chain setups. Nodes called “authorities” are designated for creating and validating new blocks in the blockchain. The majority of authorities is required for validation.
Finally, masternodes are another type of full nodes. Besides storing the entire blockchain and validating transactions, masternodes stabilise and secure their entire ecosystem and may offer services such as private transactions, instant transactions, treasury management and funding and governance voting.