The Bitcoin network brought cryptocurrencies to the masses back in 2009. It used blockchain architecture that became the blueprint spawning countless other blockchain networks. Bitcoin’s decentralized ledger is supported by a globally distributed network of connected computers, otherwise known as nodes.
There are several different types of Bitcoin nodes with each one playing a different role in helping to maintain the blockchain network. Let's break down the different types of Bitcoin nodes and what they do.
In non-blockchain terms, a node is a device attached to a network that communicates with other devices in the network.
You have your own communication network at home - your internet router is a node, your phone connected to the Wi-Fi is a node, your laptop is another node, your Alexa speaker is another, and your Smart TV is also a node. They are all different in shape, size, form and purpose, but all have a unique and vital role in your household network.
Blockchain nodes can be viewed in the same way. They can be different in size and play different roles within the network, but each is vital to ensuring the correct functionality of the blockchain.
READ MORE: Blockchain Nodes Explained
A Bitcoin node is basically any computer that runs Bitcoin software that supports the key functions of the blockchain— to build or maintain its distributed ledger.
The Bitcoin nodes are the “network”, and they connect and communicate to each other using a peer-to-peer protocol. Depending on the type of node, they may act as a communication endpoint or as a redistribution point sharing information on transactions and blocks.
At the time of publishing, there are over 12,000 reachable Bitcoin nodes distributed throughout the world.
There are four main types of Bitcoin nodes: full nodes, super nodes, light nodes, and mining nodes. The first three have similar functions, but the odd one out is the mining nodes. Miners perform an entirely different function on the Bitcoin blockchain which we will explain below.
Full nodes are the most common and the most talked about, but again, there are different types of full nodes with different functions. Let’s explore.
Bitcoin full nodes or fully validating nodes are the backbone of the Bitcoin blockchain. Bitcoin full nodes are responsible for ensuring that every block follows the Bitcoin protocol rules. They enable consensus, help maintain consistency across the network, and provide security.
Full nodes download every Bitcoin block and transaction and check them against Bitcoin's protocol rules, which include:
- making sure that every transaction in a block is valid;
- that the sender has enough funds to complete the transaction;
- that the money has not already been spent;
- the signature matches the sender’s public key;
- every block has the required amount of work performed by miners;
- and ensuring that blocks don’t exceed the max block weight limit or the max block size.
Of course, the exact role a full node performs within the network depends on the type. Full nodes can be pruned, archival, or a super node which we go into later.
A full node can be run in a “pruned” state. You set a size limit, and then the node begins downloading the ledger from the genesis block until it reaches that limit. It then starts to delete the oldest blocks, retaining their headers and chain placement. It basically ‘prunes’ the data.
A full node run in a pruned state can still verify transactions and take part in achieving consensus on the blockchain. However, a pruned node doesn’t upload data to the network, it only downloads and validates.
A Bitcoin full node in archival mode stores a complete copy of the entire history of the Bitcoin blockchain from the genesis block. It can be used to make queries regarding particular transactions or addresses in past blocks. For example, say you run a crypto exchange and need to know the exchange rate for Bitcoin at a certain period in time, or perhaps you want to query the balance of a Bitcoin address at block 3,000,000. In both cases you would need a full node run in archival mode.
A Bitcoin super node is also known as a listening node. They are a full node, but as the name suggests, a “super” version. They are publicly connectable full nodes which have a large number of incoming and outgoing connections and operate 24/7.
Bitcoin super nodes act as a relay station and redistribution point to ensure every other node it is connected to has the right copy of the blockchain. They generally require more bandwidth and CPU than your run of the mill full node because of the extra work they perform.
Bitcoin light nodes, also known as lightweight nodes, have a similar role as pruned full nodes. Light nodes don’t hold a copy of the complete blockchain. To confirm the validity of the transaction, they only download the block headers (the metadata providing a summary of the entire block). Bitcoin lightweight nodes use a method called Simplified payment verification (SPV) to verify transactions. Because light nodes aren’t sharing large volumes of data, they don’t have to be as powerful as full nodes which makes them cheaper to run and maintain.
Blockchain purists say miners aren’t “nodes” while other sources maintain that miners are nodes (but not all nodes are miners). If we consider the generic term of a node as being any device that communicates with the other devices in a network, then miners do classify as nodes.
Whatever your position, it is impossible to talk about the Bitcoin network without mentioning the role of Bitcoin miners. While mining nodes don’t maintain the blockchain, they do have a huge role to play in the functioning of the distributed ledger.
Bitcoin full nodes receive transactions which they check, if valid, they are added to the mempool. This is when a transaction shows as “pending”.
From the mempool, miners select the transactions that are the most attractive to them (with the most fees attached). The miners use their computational power, competing to be the first to solve the block hash.
The miner who solves the hash and provides Proof of Work (PoW), gets the right to “mine” the block, by adding it to the chain and gaining the transaction fees within the block. The miners then feed these new blocks to the full nodes who verify them as all correct.
So, mining nodes are responsible for creating the blocks to add to the Bitcoin blockchain. They communicate these blocks to the network of nodes, who also send them new transactions.
Bitcoin full nodes are the most useful type of nodes for dApps and applications needing Bitcoin data. But running a full Bitcoin node needs certain equipment with a particular set of specs in order for it to work properly.
Trying to run a full node on weak hardware will only result in more time spent dealing with issues that it's worth. For a smooth-running Bitcoin full node, you’ll need to meet the following minimum requirements:
- 7 gigabytes of free disk space, accessible at a minimum read/write speed of 100 MB/s
- 2 gigabytes of RAM
- An unmetered connection with high upload limits. Full nodes on high-speed connections can use more than 200GB upload a month and download usage of about 20BGB a month. Plus, you need to factor in about 340GB the first time you sync your node.
- 6 hours a day that your full node can be left running. Of course, more is better, and continuously is best!
For any businesses wishing to integrate the Bitcoin blockchain to their services or solutions, they need a way to talk to the Bitcoin node network. Setting up, running and maintaining Bitcoin nodes by yourself can be a labor-intensive and expensive headache. One that most start-ups and even established businesses can’t afford, in terms of time or budget. That’s where Crypto APIs Node as a Service can help.
We provide access to full nodes for Bitcoin testnet and mainnet. Our shared and dedicated node services allow you to make JSON-RPC requests directly to bitcoin nodes and can handle large volumes of data with a quick processing time.
To find out more about our Node as a Service, contact the team today.