A blockchain node is one of numerous devices that run the blockchain protocol software and usually store the history of transactions. Nodes connect to each other in a decentralized peer-to-peer network.
Full nodes ensure that all transactions and blocks follow the protocol rules. They continuously verify that everyone on the network adheres to the same rules. This ensures that the database is trustworthy and that the network stays honest.
For the sake of simplicity, this article will focus on Bitcoin nodes. Most blockchain networks use the same principles, so understanding Bitcoin nodes will give you an idea about how blockchain nodes work in general.
Blockchain Node Essentials
- Broadcast transactions to the network (to all other nodes).
- Enforce the consensus rules of the blockchain.
- Full nodes store the record of confirmed and unconfirmed bitcoin transactions.
- Lightweight nodes connect to full nodes and are used as wallets.
- Mining nodes are used by miners.
The three types of Bitcoin nodes
There are three types of nodes that perform different functions:
Full nodes store the complete blockchain. Every block, from the first to the most recent, is stored in full nodes. Their all-encompassing knowledge makes them ideal for verifying crypto transactions. However, storing the entire blockchain requires a lot of hard-disk space. Because of this, Bitcoin nodes can be pruned. Pruning a node means removing redundant information about fully spent transactions, which saves disk space.
Lightweight nodes function as wallets, but don’t store the entire blockchain. They must connect to full nodes to broadcast their transactions to the network. Many users find light nodes an easy way to send and receive bitcoin.
Mining nodes confirm transactions by including them in blocks. In the early days of blockchain, each crypto miner operated a mining node. Today, many miners work together in mining pools. These pools take advantage of teamwork by concentrating the efforts of several miners into a single mining node. This gives them a better chance to score the mining reward.
Full vs light nodes
If you have enough free disk space and a good internet connection, running a full node on your computer is considered the most independent way to send and receive bitcoins. The programs used to set up nodes are called clients. Clients usually feature built-in wallet functionality. For Bitcoin, the most popular full node client is Bitcoin Core.
Running your own full node is the only way to be truly pseudonymous. If you rely on another person’s node to broadcast your transactions, they will always have some information about the transactions that are coming from your address.
Nevertheless, most users will have more trouble than benefits, if they run a full node. For these users, any of the many available lightweight wallets will do the job. Businesses that accept cryptocurrency payments or people who regularly send huge amounts of cryptocurrency are a different story.
Businesses that work with cryptocurrency payments should always run a full node. That way, they do not need to trust anyone else to keep the network honest. They directly broadcast their transactions to the network and check all traffic against the protocol’s consensus rules. This is true for Bitcoin, as well as most other cryptocurrencies.
Full nodes vs miners
Before a Bitcoin transaction can be processed, it needs to be broadcast to the network. A lightweight node functioning as a wallet sends a new transaction through full nodes, which spread the information across the network. Full nodes store unconfirmed transactions in their memory pool, or mempool, and check whether transactions are valid according to Bitcoin’s consensus rules.
Miners take transactions from the mempool to confirm them. They do so by including transactions into blocks through the process of mining. Miners are rewarded for their work with mining rewards and transaction fees, while full nodes act as assistants to keep the Bitcoin network decentralized and honest.
Bitcoin nodes must be honest
Every device that wishes to participate in the Bitcoin network must run a client that follows the Bitcoin protocol (such as Bitcoin Core). Each node continuously demands that the other nodes follow the same rules.
Since full nodes store the entire database of Bitcoin transactions, they can check whether a recently added transaction has already taken place in the past. They block any previously spent transactions in order to prevent double spending.
Full nodes are, therefore, essential for maintaining the honesty of the entire network.
Keeping Bitcoin decentralized
The Bitcoin network depends on the many random, unconnected users who run full nodes on their computers and thus keep Bitcoin decentralized. There are currently over 10,000 reachable full nodes distributed across the world. It is likely that the actual number of nodes is much higher. These are just those that can be reached by any node. Many nodes are inaccessible for several reasons. They might have gone offline or their owners might have chosen to disable incoming connections and, therefore, can’t be reached.
If you own a significant amount of bitcoin, or want to support decentralization for ideological reasons, you might be interested in contributing to the network by running a full node, as well.
However, running a full node is the realm of advanced Bitcoin users. For the average user, there is an easier way to buy, sell and manage bitcoin and other cryptocurrencies through an exchange like Bitstamp.