What Is a Bitcoin Node?
Table of Contents
- A Bitcoin node stores and verifies each block in the blockchain. Nodes form a network by connecting and sharing blocks and transactions with one another.
- A node allows a user to verify bitcoin balances without a trusted third party.
- By running a node, a user is capable of enforcing the rules of the network, ensuring that they are not being deceived and that other parties cannot maliciously change Bitcoin's ruleset.
Bitcoin is a peer-to-peer currency that is regulated by a network of nodes. A node is simply a computer that runs the Bitcoin software. Bitcoin nodes send and receive transactions with other nodes in the network and verify their validity. Bitcoin nodes cooperate with Bitcoin miners to maintain the integrity of the system.
First, nodes broadcast and relay transactions to other nodes and miners. Miners batch these transactions into blocks and publish those blocks to the blockchain, validating the transactions. Nodes receive these blocks, share them amongst one another, and verify that the miners are following the rules of the network. When a node receives a new transaction or block, it relays it to its peers, so that all nodes and miners can remain in sync and maintain identical blockchains.
We will limit our discussion to the two node types described in the Bitcoin whitepaper—full nodes and lightweight (SPV) clients.
Types of Bitcoin Nodes
A full node’s main function is to independently verify the state of the Bitcoin blockchain. It does so by downloading every block and transaction and checking them against Bitcoin’s consensus rules. If a transaction or block violates one of Bitcoin’s consensus rules, a full node will automatically reject it.
Lightweight / SPV client
A lightweight or Simplified Payment Verification client, are similar to full nodes in that they can verify whether transactions were included in a block. However, light nodes do not verify and validate all of the network’s transactions and do not store a copy of the blockchain.
Because light nodes don’t process large amounts of data through the network, they are much cheaper to maintain. For this reason, they were historically used in mobile Bitcoin wallet but are quite rare today.
Why Run a Full Node?
Users run a Bitcoin full node for many reasons. Primarily, it allows a user to independently verify the state of the Bitcoin network. As a result, a user can:
- Verify Bitcoin’s supply. Users can independently verify the state of the Bitcoin network.
- Prevent the double spending of bitcoin. A node will automatically reject bitcoin that has been spent before.
- Use Bitcoin without third parties. A node allows users to broadcast and verify their own transactions rather than relying on a third party.
Another motivation for running a full node is to make the Bitcoin network more robust. As more nodes exist to fully validate transactions, the network becomes more resistant to certain types of attacks. Distributed, fully-functioning nodes are central to Bitcoin’s decentralized, peer-to-peer architecture and help keep the network secure.
In short, Bitcoin nodes are the central nervous system of the Bitcoin network. They broadcast, verify, and store transactions. They act both as gateways to the network and an information superhighway to relay network data to all participants.