This introduction to Bitcoin Nodes was originally published at Bruno’s Bitfalls website, and is reproduced here with permission.
You’ll often hear the word node thrown around in blockchain and cryptocurrency circles. If you’ve read our intro to blockchain (and we highly recommend you do that), one of the characters in the comic there that’s writing down transactions on a piece of paper is actually a node. That introduction is quite simplified, however — so let’s explain the concept of nodes in a bit more detail now.
Validation Nodes
One node is a computer running specific software. In the case of Bitcoin, one node is a Bitcoin program which connects to other Bitcoin nodes, i.e. other Bitcoin programs on the same machine, or on other machines which can be across the street or on the other side of the planet. There are several types and several versions of Bitcoin software. By picking a specific version of a specific Bitcoin program, a user “votes” for certain changes in the Bitcoin protocol. For example, if a bunch of users suggest the increase of 21 million total BTC to 42 million, the majority of the network is required to vote “yes” by installing the software implementing this change. Code changes are, thus, democratic.
Where this idea falls apart is in the fact that there are very few Bitcoin nodes out there — a mere 10000 currently.
In contrast, Ethereum — a cryptocurrency five years younger — already has twice as many:
Neither number is very impressive from a global perspective. According to some calculations, running a Bitcoin node on AWS (Amazon’s cloud service) costs around $10 per month. This means that taking over 10000 brand new nodes takes $100,000 per month, or only $1.2m per year — which is pocket change to any Bitcoin early adopter.
A list of node software you can install, along with their pros, cons, and special features, can be found here.
It’s important to note that validation nodes are purely an expense for the users running them. They give their users nothing. Bitcoin Core, for example, needs around 150GB of disk space, 2GB of RAM, and a fast and uncapped internet connection with at least 50KB of constant upload speed available just to run. It’s not uncommon to need to upload over 200GB of traffic per month when running a single node. Validation nodes are volunteer nodes and are useful for the system’s decentralization, but as they become ever more expensive to run, so too does the number of nodes drop. Add to that the mounting disillusion with Bitcoin’s theoretical decentralization due to the fact that bankers seem to have taken over the protocol’s development, and the fact that Bitcoin’s price is being pumped by crime syndicates, and it’s no surprise that the number of nodes dropped by 20% in a single month — from 12000 to 10000. As more nodes disappear, so does centralization. A hostile takeover becomes more and more probable.
Mining Nodes
A mining node is a validation node which also uses the hardware of your own or a rented machine to guess the combinations of numbers and letters needed to validate and verify a block. A mining node can team up with other nodes and send guesses to a common pool (pool mining) to increase chances of guessing, but then counts as only one node.
Because most new miners opt to join a powerful pool to maximize their chances of mining a block and getting rewards, we’re seeing a very serious technological centralization happening in which 20 of the most powerful pools are mining almost all the Bitcoin.
Here’s a list of the biggest mining pools. Notice that the first one mines 25% of all the Bitcoin in existence.
A mining node is the only bit of software which can “produce” new Bitcoin, and running one in a way that makes it worth your while requires either a very strong computer or free electricity. If you’d like to give mining a go, the list of BTC mining software can be found here.
Conclusion
A mining node is a node which contributes to the network by guessing the combinations needed to “seal” the blocks of transactions and thus confirm them, producing new Bitcoins in the process. A validation node is a node which validates this information, makes sure it’s true, and passes the information along to other nodes, thus enabling the transfer of monetary value from location A to location B. Mining nodes are a subset of validation nodes, because every mining node is also a validation node.
This difference is only manifested in the PoW consensus system and becomes technically unnecessary in PoS. With PoS, every node can be a validation node, and mining nodes as such no longer exist: new tokens are created based on another principle. For more about this, please read our PoW vs PoS article.
Frequently Asked Questions about Bitcoin Nodes, Mining, and Validation
What is the role of a Bitcoin node in the blockchain network?
A Bitcoin node, also known as a full node, plays a crucial role in the blockchain network. It stores, spreads, and preserves the entire blockchain data. It also validates all transactions and blocks in the network against Bitcoin’s consensus rules. This ensures the integrity and security of the blockchain network, making it difficult for anyone to cheat the system.
How does Bitcoin mining work?
Bitcoin mining involves solving complex mathematical problems using computational power. Miners compete to solve these problems, and the first one to do so gets the opportunity to add a new block of transactions to the blockchain. In return, they receive a reward in the form of newly minted bitcoins and transaction fees. This process not only creates new bitcoins but also secures the network by validating transactions.
What is the difference between a miner and a validator?
Miners and validators both play essential roles in maintaining a blockchain network, but their functions are different. Miners use computational power to solve complex mathematical problems and add new blocks to the blockchain. Validators, on the other hand, are responsible for verifying the transactions within those blocks to ensure they are legitimate. In some blockchain networks, validators are chosen through a process called Proof of Stake (PoS), where the probability of being chosen depends on the number of coins they hold and are willing to ‘stake’ as collateral.
What is Proof of Stake (PoS)?
Proof of Stake (PoS) is a consensus algorithm used in blockchain networks. Unlike Proof of Work (PoW), which requires miners to use computational power to solve complex problems, PoS chooses validators based on the number of coins they hold and are willing to ‘stake’ as collateral. The more coins a validator stakes, the higher their chances of being chosen to validate transactions and add new blocks to the blockchain.
How does a Bitcoin node validate transactions?
A Bitcoin node validates transactions by checking them against Bitcoin’s consensus rules. These rules include ensuring that the input and output amounts of a transaction are equal, verifying the digital signatures of the transactions, and making sure that the coins being spent have not been spent before. If a transaction violates any of these rules, the node will reject it.
What is the role of a mining pool in Bitcoin mining?
A mining pool is a group of miners who combine their computational power to increase their chances of solving the mathematical problems required to add a new block to the blockchain. The reward for mining a block is then split among the members of the pool, proportional to the amount of computational power they contributed.
What is the difference between Bitcoin nodes and mining nodes?
All mining nodes are Bitcoin nodes, but not all Bitcoin nodes are mining nodes. A Bitcoin node stores, spreads, and validates blockchain data. A mining node does all these things and also participates in the mining process, using computational power to solve complex mathematical problems and add new blocks to the blockchain.
How does the Bitcoin network prevent double-spending?
The Bitcoin network prevents double-spending by confirming each transaction with the consensus of all nodes in the network. Once a transaction is confirmed, it is included in a block and added to the blockchain. This makes it impossible to spend the same bitcoins twice, as any attempt to do so would be rejected by the nodes.
What is the reward for Bitcoin mining?
The reward for Bitcoin mining is twofold. First, miners receive a certain number of newly minted bitcoins. This number halves approximately every four years in an event known as the ‘halving’. Second, miners receive the transaction fees from all transactions included in the new block. This provides an incentive for miners to continue mining even as the block reward decreases over time.
How does the difficulty of Bitcoin mining change over time?
The difficulty of Bitcoin mining adjusts approximately every two weeks, or every 2016 blocks. The goal is to keep the time it takes to mine a block close to 10 minutes. If blocks are being mined too quickly, the difficulty increases. If blocks are being mined too slowly, the difficulty decreases. This ensures a steady rate of new bitcoins being created and keeps the blockchain secure.
Bruno is a blockchain developer and technical educator at the Web3 Foundation, the foundation that's building the next generation of the free people's internet. He runs two newsletters you should subscribe to if you're interested in Web3.0: Dot Leap covers ecosystem and tech development of Web3, and NFT Review covers the evolution of the non-fungible token (digital collectibles) ecosystem inside this emerging new web. His current passion project is RMRK.app, the most advanced NFT system in the world, which allows NFTs to own other NFTs, NFTs to react to emotion, NFTs to be governed democratically, and NFTs to be multiple things at once.