The different kinds of nodes that exist on the Bitcoin network and how miners fit into it all
A node is a device or data point in a larger network, or more simply, a piece of computer equipment attached to a network. In the context of the internet and your household, your phone is a node, your laptop is a node, your router is a node, and that smart lightbulb is a node too.
Nodes can take many shapes, sizes, and forms. Each one plays a different role in the functioning of your household.
In the case of the Bitcoin blockchain, there are four main types of nodes: full nodes, super nodes, light nodes, and mining nodes. Full, super, and light nodes perform similar functions, while mining nodes perform a different function entirely.
Before diving in, it’s best to think of the blockchain as a ledger or list of transactions. All types of nodes contribute in someway to building or maintaining that list.
Mining Nodes
There’s plenty written about what mining is and how it works, simply think of mining nodes as the nodes that produce the blocks for the blockchain. Mining nodes confirm the blocks that should be put into that “list,” in a process known as “mining.”
Mining nodes aren’t actually responsible for maintaining the blockchain, they are only responsible for creating blocks to add to it. After these blocks are created, they are sent over the network to full nodes which validate them and add them to the blockchain.
Full and Super Nodes
As their name suggests, full nodes are responsible for holding and distributing copies of the entire blockchain ledger. As such, they play a vital role in the network as they are the go-to point for validating the history of the blockchain.
The full node is able to validate transactions all the way back to the genesis block, at the time of publishing, the entire blockchain is getting about 242GB in size. Estimates claim there are over 10,000 operational full nodes on the Bitcoin network.
These nodes propagate the blockchain to all other nodes on the network to ensure the most trusted blockchain is maintained. The more nodes, the more decentralized the network, and the harder it is to hack.
Depending on the number of incoming and outgoing connections a full node has, it can also be referred to as a super node or listening nodes.
Super nodes are a type of full node that generally operate around the clock to help connect other full nodes to each other and spread the blockchain across the entire network. They serve as information or redistribution relays to ensure everyone has the right copy of the blockchain.
Light Nodes
Light nodes — or thin nodes — perform a similar function to full nodes, but rather than holding an entire copy of the blockchain, they only contain a portion of it.
Light nodes only download the block header of previous transactions, to confirm the validity of the blockchain, and to pass this information on to other nodes. The block header is a summary of a block, it includes information about the previous block to which it is hashed, the time it was mined, and a unique identifying number, called a nonce.
Light nodes connect to a parent node, usually a full node; which maintains a complete copy of the blockchain. As light nodes process less of the blockchain and aren’t helping propagate large volumes of data through the network, they don’t need to be as powerful and are much cheaper to own and maintain than full or super nodes.
That said, if a full node is hacked and holds an incorrect copy of the blockchain, the light nodes can serve to dismiss this blockchain as false, and confirm to the full node the correct blockchain it should be maintaining. Think of a group of light nodes as a group of supportive friends helping keep a full node on the straight and narrow.
Using light nodes helps to further decentralize the blockchain network, and spread the true ledger across a greater distance for a lower cost compared to full nodes.
Validation vs Consensus
Nodes validate the blockchain by following a number of rules. When the entire network follows these rules, all nodes should help to produce the same blockchain. Validation actually occurs before a block is mined; validation is not the same as consensus. Consensus is reached when the mining nodes agree on the order of transactions, not on what transactions are valid.
Imagine I have 1BTC and transfer 0.25BTC to my friend Amy. She currently has 0.25BTC in her wallet. To confirm this is valid, the Bitcoin network will “ask” the full nodes to confirm I have enough coins and how much Amy will have after the transaction. Once valid, the transaction is grabbed by miners to add to a block and verify through Proof-of-Work. How that happens is worth another chapter, but good news is we have it releasing soon!