Nodes
Bitcoin is a peer-to-peer network. Instead of a centralized server, Bitcoin lives on the devices of users who voluntarily opt to run the software. These devices are known as nodes.
Nodes speak the Bitcoin protocol language and propagate transactions and blocks throughout the system. They determine what transactions are valid and what blocks will be added to the chain. Thus, it is the nodes that ultimately decide what Bitcoin's rules are and will be. Simply put, nodes are the network.
It might be surprising then that such a crucial piece of infrastructure doesn't require specialized hardware. Many people repurpose old laptops or use simple Raspberry Pi computers to link up with the network. Whatever they use, running a node allows users to interact with Bitcoin in its purest form. With a node, users can transact without using a third party and independently verify the blockchain while simultaneously helping to secure the network.
Bitcoin Nodes Role
Nodes serve two main functions. First, they maintain a history of all bitcoin transactions. However, there are exceptions to this that we'll discuss below. In this sense, nodes are accountants. Nodes keep tabs on who owns what bitcoin. Second, nodes maintain the rules of the Bitcoin network. They are autonomous authorities that verify transactions and blocks that conform to Bitcoin's rules and reject those that don't. Miners must follow the rules upheld by the dominant share of nodes or else their work will go to waste.
When a person sends bitcoin from one address to another, nodes jump into action. They check that the transaction data is formatted correctly, is less than the block limit of 4 million weight units, and conforms to a host of other technical parameters.
Nodes are gossipers. They're regularly gabbing about who is sending and receiving bitcoin. But as any sensible chatterbox knows, you can't always trust what you hear. So when a node hears that Alice is sending bitcoin to Bob, it doesn't take the rumor as gospel. Instead, the node will validate the transaction on its own, ensuring that Alice isn't trying to double-spend bitcoin. In this way, every node acts as an independent arbiter of Bitcoin’s rules.
Spreading false information has consequences. Nodes that pass along incorrect information, as determined by other nodes, can be relegated from the network.1
If the transaction passes this initial test, nodes add the transaction to what is known as the mempool. The mempool is simply a repository of valid transactions not yet included on the Bitcoin ledger. From there, miners take over by aggregating transactions into blocks and then searching for a proof-of-work solution.2
Once a miner finds what they think is a valid block, they broadcast their solution to the network. Nodes then verify the miner’s work and signal if the block can be added to the chain. If the block is approved, nodes update their ledger copy and then pass along the change to their connected peers.
Types of Nodes
All nodes aren’t the same. Some nodes maintain a full copy of the bitcoin ledger dating back to the first block ever mined. Others keep pared-down versions of the blockchain to minimize memory requirements. Still, other nodes only track a portion of the blockchain and do not verify transactions. Below we list the primary flavors of nodes:
- Full Nodes - A full node keeps a complete copy of the Bitcoin blockchain and validates all ransactions and blocks. A full node requires more than 350 gigabytes of storage. It can take days to initially download, depending on the user's internet connection speed and the number of peer connections. Because full nodes share the whole history of the blockchain, they can upload about 5 gigabytes of data each day. Full nodes can be impractical for users who have bandwidth restrictions on their internet connection.3
- Pruned Nodes - As the name suggests, these nodes cut off some of the blockchain's history to minimize the storage space required. Pruned nodes can still validate all transactions and blocks, but they just keep an abridged record. It's worth reiterating that pruned nodes don't take away from a node's ability to interact with or secure the network. Pruned nodes download a full copy of the blockchain. After seeing the blocks that have already been verified, they throw away older data to free up storage space. For every new block a pruned node records, it removes an older one from its records. A pruned node takes up about 7 gigabytes of storage.
- Simplified Payment Verification (SPV) Nodes - These are lightweight implementations that don't take up nearly as much memory as full or pruned nodes. That's because SPVs don't store the history of the blockchain in either its complete or abridged form. Instead, SPVs only download the headers for each block, which is equivalent to recording the chapter titles of a book rather than all the text. The drawback is that SPVs don't function like full or pruned nodes. They don't verify all Bitcoin transactions or blocks, but they allow users to authenticate their own transactions. SPV nodes are only around 50 megabytes in size.
Reasons For Running A Node
As of October 2021, there are nearly 11,000 reachable Bitcoin nodes. These nodes are paid for by users who incur the expense of setting them up and keeping them active. Unlike miners, nodes don’t receive any form of compensation. So then, why do thousands of people run their own nodes? Here are a few reasons.
First, running a node is the most private way to interact with Bitcoin. With a node, you can transact without using third-party software. Second, a node can be used to verify bitcoin's supply. Countless websites show bitcoin transactions and the issuance of new coins, but with a node, you can see it all for yourself. Third, running a node contributes to network security. The more healthy nodes on the network, the harder it becomes for a bad actor to break the rules.
Bitcoin has more than enough nodes to function globally, but the more nodes, the better. For many people, running a node is a way of giving back to Bitcoin.