- A Bitcoin node is a piece of software that enforces the network’s consensus rules by verifying new transactions sent by users and blocks added by miners.
- Running self-owned nodes can protect users’ privacy and prevents them from accepting fraudulent fork coins.
- All miners are Bitcoin nodes, but not all nodes are Bitcoin miners.
- A user can either run a full node, light-node, or pruned node based on their usage.
Bitcoin’s peer-to-peer strength lies in its vast network of nodes. The famous saying in crypto, “not your private keys, not your coins”, extends to crypto nodes as, “Not your node, not your rules”.
Bitcoin full nodes protect user privacy and strengthen the network’s distributed consensus. And just recently, the network hit an all-time high for active nodes, making the network all the more robust.
Setting one up is not only easy but incredibly important for the sustained health of the Bitcoin network. Moreover, the lightning network (LN) provides a way to incentivize Bitcoin node operators and channel liquidity providers (LPs).
In this guide, Crypto Briefing walks readers through why they should set up a Bitcoin node and how to do it on various devices.
What is a Bitcoin node?
A Bitcoin node is a program that validates transactions and blocks. There are different types of nodes ranging from a full node, a light node, and pruned full nodes. There are technical differences between each class, but Bitcoin nodes, no matter the format, assist in enforcing the network’s consensus rules.
Consensus rules are the set of conditions coded into the network.
A Bitcoin node enforces these rules by verifying the private address and balance when sending a BTC payment.
A full node is connected to a network of other nodes that form the distributed consensus network.
A node does not have to trust other nodes for verifying payments. It validates them itself before broadcasting across the network.
Bitcoin nodes’ network quickly disregards a node that tries to propagate incorrect information by banning it for at least 24 hours or even longer, depending on the number of incorrect propagations.
Bitcoin wallets and nodes
A Bitcoin wallet or address is a set of two numbers—a public key and a private key—encrypted together.
Bitcoin users send transactions using this pair of numbers, which constitute a wallet.
The wallet interacts with a Bitcoin node, which verifies and broadcasts the transaction across the network.
These wallets can be connected to online servers and nodes supported by the wallet or a user’s self-hosted node. A user can choose any of the following:
- Exchange Wallet: A third-party wallet where the wallet’s private key is often hidden from the user or shared with a third-party app. These wallets are vulnerable to security risks and exchange hacks, which have happened numerous times in Bitcoin’s history.
- Simplified Payment Verification (SPV) Wallets: These are software wallets that interact with full nodes via blockchain headers. The SPV wallet can confirm the addition of the transaction in a block using these block headers. Examples include Electrum, Blockstream’s Green Wallet, and several others.
- Self-Owned Nodes: Miners, businesses, and privacy-conscious users rely on self-owned full nodes, which connect directly to the blockchain without any third-party intermediary. Hence, ensuring the privacy and security of Bitcoin addresses.
If a transaction is invalid—wrong address, insufficient balance, or otherwise—then the node ignores the transaction.
Difference between full node and miner
Validators or nodes in the Bitcoin money network solve three primary issues: confirming the authenticity of a transaction, protecting the privacy of individuals, and avoiding double spends.
In the original Bitcoin Whitepaper, mining nodes were inseparable from full nodes. Satoshi Nakamoto wrote:
“The system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes”.
Due to stiff competition and growth of specialized mining machines, miners have become “specialized nodes”, which perform additional work beyond merely verifying the transactions.
All miners are Bitcoin nodes, but not all nodes are Bitcoin miners.
The miners work to solve the energy-intensive Proof of Work (PoW) problem to add blocks to the main blockchain. The mining software receives transactions from nodes, order them in a linear data set (a block), and finally, compete against other miners to add their block to the blockchain.
Double spend refers to when an address spends more Bitcoin than it holds by duplicating the tokens or sending transactions simultaneously. For instance, person A with one BTC sends two transactions of one BTC each to Person B and Person C.
Satoshi Nakamoto solved this issue by designing the network as a “timestamp server”.
The mining nodes order the transaction in a time-based data stack, constituting a block. Hence, as soon as the first transaction gets registered to a block, let’s say that A to B of one BTC is sent and recorded; then the second, insufficient transaction will be rejected.
When miners successfully add a block to the network, a full node independently and authoritatively verifies all the transactions in that block. Thus, if the miner adds an invalid transaction to the block, the nodes will reject that block.
A transaction receives its first confirmation only when the block containing the transaction gets ratified by a full node.
The number of confirmations of a transaction is a metric obtained by subtracting the block number that stores the payment from the current block height.
Moreover, one does not have to be a node if they’re doing proof-of-work (PoW) for a mining pool. In this case, the mining pool adds the block based on consensus rules for them.
In sum, miners are responsible for storing the transactions into a block, whereas nodes determine if transactions and blocks follow the consensus rules.
All information on Bitcoin is publicly logged, including the balance and a history of all transfers ever made using all addresses. A public record of credits makes a Bitcoin user vulnerable to a privacy breach, as an address can effectively tag individuals.
The fully validating Bitcoin node, on the other hand, receives and transmits data without any distinction, making it is not easy to ascertain the IP address of the incoming node.
Moreover, a fully validating user may want to consider hiding their IP address by implementing the Tor network. While there are only about 11,500 visible full nodes, experts have said that, in reality, many are operating behind the closed curtains of the Tor network.
Running a Bitcoin node also protects users from spending their coins on a forked network, as their node continues to abide by the rules of the unforked blockchain.
For instance, since Bitcoin Cash is a fork of Bitcoin, they share the same address. Hence, if a wallet does not support Bitcoin Cash or vice-versa, sending transactions to the wrong wallets may lead to loss of funds, especially if sent to an exchange or third-party wallet without a private key back up.
In the worst case, dubious apps and hackers may lead an informed user to believe that they are receiving Bitcoin when it might actually be a forked coin.
How to set up a Bitcoin node
A Bitcoin full node is a server that stores all the transactions ever made on the blockchain. The full node verifies the balance on a wallet using this history and validates transactions according to consensus rules.
Thus, owning a Bitcoin full node requires memory space. The size of the Bitcoin blockchain increases linearly in time; currently, it is around 320 GB.
Currently, the average BTC block size is 1.3 MB. The entire node space increases by a little more than one GB in a week at less than ten minutes per block.
Owners may choose the older version of HDD hard drives or the newer solid-state drives (SSD). The downloading and verification is faster on an SSD versus HDD.
The other requirements for running a full node are:
- A hardware device with an operating system, a desktop, wallet. There is also open-source software for stand-alone devices like a Raspberry Pi.
- Hard drive/Solid State Drive 500 GB.
- RAM at least 2 GB
- An internet connection with high limits for uploads and downloads.
Bitcoin Core is the most popular GUI for setting up a node. The Bitcoin core team, which comprises leading blockchain developers, releases new clients with bug fixes and protocol updates. Most recently, the community has been working on the significant Schnorr/Taproot update.
Users can find the instructions to set up a full node using Bitcoin Core here.
It may take days for the entire history to download for a full node, also called archival nodes. The software needs an internet connection to perform validating tasks and sending transactions.
Bitnodes has built a public repository of Bitcoin nodes worldwide. Users can find their nodes on this online library and also connect to other nodes worldwide.
There are other ways of running a node as well.
A pruned node is one in which the Bitcoin Core software keeps the complete data of the latest blocks only.
Pruning means removing the unwanted or superfluous part from the active components. A pruned node works similarly; it deletes a significant portion of the 350 GB information to five GB by replacing block data with index headers.
A user can specify disk space assigned to a pruned node. However, it must be greater than 288 MB, the minimum to keep at least two days worth of complete block data.
The block index holds all the metadata related to the entire blockchain.
A lightweight Bitcoin node or light node is an alternative that requires less space than full nodes. A light node only downloads the block headers instead of the entire history.
They depend on full nodes to validate transactions; the network of full nodes treats them as an extension of their work.
The instructions to set-up a BTCPayServer on a computer or microprocessor like Raspberry Pi can be found here.
Bitcoin nodes can also choose to participate in the lightning network (LN). All Bitcoin node software comes with the LN activation option.
The lightning network (LN) is developing into a way to incentivize these nodes. The lightning network is expanding using an associate relationship. If A and B have a lightning channel and B and C have one, A automatically gets connected to C.
The next step is building lightning payments and adding sufficient liquidity to Bitcoin’s second layer. An online marketplace like Lightning Pool pays LPs on the network to facilitate payments.