BTC is a P2P network made up of equal nodes which all function in the same way.
From a strictly technical point of view, a BTC full node is a piece of software that is built according to the BTC protocol and fully verifies all its rules.
The most widely used software is BTC Core, which is the latest version of the original software developed by Satoshi Nakamoto in 2008.
To date there are more than 10,000 public nodes with BTC Core, while the other software used for BTC network nodes are much fewer: 69 with Bitcore, 35 with BTC Knots, 21 with bcoin, 18 with BTC UASF, 7 with BTC Unlimited and one each for btc1 and BTC Classic.
However, these are the public nodes, i.e. those that can be reached online by anyone, but it is estimated that there are many more private ones, i.e. installed to be used only by the operator.
BTC nodes have a fundamental task: to store the blockchain.
The BTC blockchain is a file of about 410GB that contains all the BTC blocks with all the transactions that have been recorded on the blockchain since its inception on 3 January 2009.
All nodes keep the exact same file, though each one updates it independently by adding new blocks that are mined by miners.
When a miner succeeds in mining a block, he communicates it to all nodes, which verify it and, if correct, add it to their own blockchain file that they store. Sometimes, in rare cases, different nodes add different blocks, but only those that have more blocks concatenated afterwards are considered valid.
In theory, anyone can make their own software to manage a BTC node, as long as it is compatible with the protocol. The protocol is public, so anyone can download it and produce compatible software. However, it is much easier to download and install BTC Core.
Installing a BTC node is very easy, but it is also a lengthy process, both because once it is installed it has to download all 410GB of the blockchain, and more importantly because it has to verify, one by one, that the nearly 690,000 blocks conform to the protocol. The validation process is not very fast, and since there are many hundreds of thousands of blocks to verify, it can sometimes take days.
The task of BTC’s nodes is to verify and guard the blockchain.
In 2009, when the first block on the BTC blockchain was mined by Satoshi Nakamoto, there was a single piece of software, simply called BTC by Nakamoto, which acted as both a node and a wallet, and which was also used to mine blocks. Over time, however, mining became increasingly difficult, so special mining software was developed. At the same time, it became evident that wallets were needed that did not have to download and verify the entire blockchain, and so stand-alone wallet software was born.
The end result of this evolution was BTC Core, which is a software that only acts as a node, although it also integrates a wallet.
Those who do not need to verify the entire blockchain, and trust the verifications made by the other ten thousand nodes, can download a stand-alone wallet to carry out transactions. Miners, on the other hand, use different software to mine.
The post What are BTC nodes? appeared first on The Cryptonomist.