Get started
Get started
The Bitcoin protocol has rules that must be respected. However, there is no central authority to execute them. Since it is a peer-to-peer system, users oversee this task through their node.
In this article, we explain everything you need to know about Bitcoin nodes.
A Bitcoin node is a computer that runs the Bitcoin software. It stores its own version of the blockchain and distributes transaction information.
All the nodes therefore represent the Bitcoin network itself. Thus, when you want to interact with Bitcoin, whether to make a transaction or to participate in mining, you must establish a connection with a node. Among other things, your Bitcoin wallet must be able to connect to a node in order to consult the bitcoin balance associated with your addresses and in order to broadcast your transactions.
The number of nodes on Bitcoin is impossible to determine precisely since most of them work under Tor (“The Onion Router”, a communication network that anonymizes traffic). However, some estimates number between 40,000 and 150,000, spread across the world.
➤ Discover the difference between the Bitcoin network and the Bitcoin protocol.
Initially, the Bitcoin system was designed in such a way that each user had their own node. Moreover, if you download the Bitcoin Core client, you will simultaneously have a node and an integrated wallet.
Apart from this Bitcoin Core example, today, the node function is often differentiated from the wallet function. So we can ask ourselves what is the role of an independent node?
First, each node stores its own version of the blockchain. Indeed, there is no central authority on Bitcoin that could take care of maintaining transaction history. It is then the nodes that are responsible for downloading the blockchain from their peers, storing it, keeping it up to date over the new blocks, and distributing the information stored there.
To date, the total size of the Bitcoin blockchain is approximately 475 GB.
➤ Discover what the role of the blockchain on Bitcoin really is.
The second role of Bitcoin nodes is to verify and broadcast transactions. When a node receives a new transaction, it verifies that it complies with the rules it has established. In particular, he checks that the UTXO inputs belong to his UTXO set, in order to be sure that the coins spent are legitimate. It also verifies that the transaction meets the conditions for spending the bitcoins concerned. If everything suits him, he keeps this new transaction in his Mempool (Memory Pool), and he broadcasts it to the other nodes with which he is connected. This verification and dissemination process continues with the following nodes.
The third role of Bitcoin nodes is to check the validity of the blocks built by miners, and to distribute them to their peers. They ensure that each block is valid. In particular, they check that they meet the proof of work condition.
Finally, each Bitcoin node can choose its own rules, and weighs a certain amount of economic weight on changes in the Bitcoin protocol.
Bitcoin nodes and miners are often confused together. However, their nature and roles are very different.
Initially, Bitcoin was designed for each node to participate in the mining process. Indeed, when Bitcoin was downloaded in the early 2010s, the software was simultaneously a node, a wallet, and a miner.
With the gradual adoption of Bitcoin, mining has become increasingly competitive to the point where, today, the process has become almost entirely industrialized. Today, the mining difficulty is so great that it is almost impossible to mine a Bitcoin block with a conventional computer. Thus, the majority of mining is now done on special computers, called ASICS, specifically optimized for Bitcoin mining. All nodes therefore no longer engage in the mining process. From now on, it is then necessary to clearly differentiate between the role of the node and the role of the minor.
The role of the node is what we detailed in the previous part:
The role of the miner is to select transactions awaiting confirmation in the mempool, to build a candidate block with it, and to search for nonces allowing the block to be validated. Thus, the minor must be connected to a node, or else be one himself. In the latter case, we speak of a “mining node”.
➤ Learn more about how Proof-of-Work works.
In terms of hardware, a Bitcoin node requires some storage capacity, but it can run on lightweight machines. It is even possible to run a Bitcoin node on a microcomputer like a Raspberry Pi. It is therefore not necessary to invest in expensive computers to run your own node.
Moreover, unlike mining, running a Bitcoin node does not bring you any pecuniary advantage. I'll explain the benefits of spinning your own knot in next week's article.
Broadly speaking, there are two different types of Bitcoin nodes. Each one answers certain problems, and has its own advantages and disadvantages.
The first type of node is the full node (in English a “full node”). It verifies and maintains the entire Bitcoin blockchain since The genesis block. The full node allows all Bitcoin transactions to be verified independently. It thus provides all the guarantees of verification to its user.
The genesis block is the first block mined on Bitcoin. It was created on January 3, 2009 by Satoshi Nakamoto.
The second type of node is the lightweight node, which is called an SPV node for” Simplified Payment Verification ”. These systems only store block headers, but they don't store and verify transactions. Thus, they are much lighter than a full node and can be used on machines with even more limited power and storage space, such as a smartphone for example. A lightweight node is necessarily dependent on full knots. It is not completely independent and does not offer the same level of trust.
Some also differentiate between pruned nodes (in English “Pruned Node”). A pruned node is actually a complete node, with the difference that it only keeps the blockchain up to a certain storage size limit. Pruning is a parameter that can be determined to gradually remove old blocks, after having checked them, in order to keep only the most recent blocks. If you are really limited in terms of your storage capacity, this can be an attractive option that offers more guarantees than a simple SPV node.
The most famous Bitcoin node client is Bitcoin Core, software that is directly descended from the Bitcoin software provided by Satoshi Nakamoto in 2009. Bitcoin Core allows you to have a complete Bitcoin node and an integrated wallet, directly on your PC.
However, Bitcoin Core remains limited in the options it offers. So there are numerous other implementations that allow you to install and use your Bitcoin node simply, with additional options. Here are some examples of implementations:
Each of these implementations has its own characteristics. So I advise you to study their options before choosing yours.
Since a Bitcoin node should always stay online, it's often best to install your node on completely dedicated hardware. You can connect your various wallets to your node via Tor using an indexer like Electrs (Electrum Rust Server) or Fulcrum. These tools are generally integrated into the implementation.
Bitcoin nodes are computers that run the protocol. They need to store the blockchain, verify and broadcast Bitcoin transactions, and verify and broadcast the new blocks.
There are two main types of Bitcoin nodes:
In next week's article, we'll give you 6 reasons why you should run your own Bitcoin node. We'll look at what the incentives are for running your own node as a user.
➤ Discover the advantages of using your own Bitcoin node.