Blockchain Semantics Insights
Business Case | Deep Tech | Announcements | Blockchain Glossary |
Bitcoin Blockchain Nodes – TypesJuly 31, 2018, 9:57 a.m. GMT
Bitcoin Blockchain nodes are majorly of two types:
1) Full nodes
2) Lightweight or partial nodes
- A full node stores the complete Bitcoin Blockchain ledger locally. Here, the size of the Bitcoin Blockchain is a problem because the full node will have to store all the Bitcoin transactions that ever happened on the Bitcoin Blockchain.
- The lightweight nodes or partial nodes don’t store the complete ledger. Instead, they use a simplified payment verification (SPV) mode which only requires them to download a part of the Bitcoin Blockchain. They will connect to full node clients and use bloom filters to ensure that they only receive Bitcoin transactions which are necessary and relevant to their operation.
So, for them, size is not a problem because they don’t have to store a huge amount of data.
Most full nodes serve lightweight clients by allowing them to refer their Bitcoin transactions to the network and by notifying them when a Bitcoin transaction affects their Bitcoin wallet. Many people and organizations volunteer to run full nodes using spare computing and bandwidth resources.
That said, we should understand that having full nodes is important as well or it may create many problems. How?
Let's take an example. My friend Moneybag decides one day that he wants to try his luck in Bitcoin mining with a modest system and an average bandwidth connection. Now the Bitcoin mining software gives him two options. One- he downloads the entire pile of Bitcoin transactions locally and behaves as a full node. Or else he chooses to save himself some bandwidth and downloads only a part of the Bitcoin Blockchain locally to become a partial node. He would be an eligible miner in both the cases. So why should Moneybag congest his local storage if he can mine with lesser data usage as well? We cannot expect every average miner with a modest system for Bitcoin mining to simply keep a record of all Bitcoin transactions that have ever been added to the Bitcoin Blockchain. Everyone loves saving money- especially Moneybag!
Now, if every miner chooses to save on his bandwidth and hardware bills, we may in the future be left with very few full nodes. They can exercise an undue influence on the Bitcoin network what with partial nodes having to refer to them for a complete repository of Bitcoin Blockchain data. Makes you wonder if this will lead to centralizing the one technology that built trust among people on the concept of decentralization. Paradoxical, eh?