Blockchain nodes are also referred to as blockchain clients, as the software they run is referred to as client software for the specific blockchain they make up.
Broadly there are two types of nodes, those reading data about the blockchain, and those both reading from and writing to the blockchain.
In What is a block in a blockchain?, we covered how nodes are responsible for selecting transactions that are included in a new block on the blockchain. These nodes are labelled validators or miners as they can effectively write new data to the blockchain. The specific label they have depends on the design of the blockchain network and the consensus mechanism it uses.
Those clients which write to the blockchain are responsible for executing transactions on the blockchain and providing consensus or agreement between nodes. As blockchains are massively distributed, decentralised networks, having consensus is very important, as those nodes that are executing transactions need to be in sync with each other.
Different blockchains have different client software, examples for Ethereum include Geth, Hyperledger Besu, Teku and Lighthouse. The former two are known as execution clients, responsible for executing smart contracts and transactions on the network, the latter two are consensus clients responsible for the overall consensus of the network.
In order to achieve the decentralization inherent in blockchain networks, blockchain nodes need to be physically distributed around different geographical locations, in different data centres and managed by different people or companies.
If you don’t have this diversity, then there is a risk that one type of entity could exert undue influence and control on the blockchain network, which would lose the benefits of decentralisation.
The below images illustrate the geographic distribution of Ethereum nodes back in 2020.
Source: https://twitter.com/peter_szilagyi/status/1233104665602031627
Typically those users who run blockchain nodes are blockchain infrastructure providers and companies wishing to have their own dedicated blockchain nodes.
However, end users should never need to run them themselves, unless they want control over exactly how they access blockchain networks. Most users will make use of connectivity embedded in the decentralised applications they use.
Summary
Nodes are the computers that make up a blockchain network. They are sometimes referred to as blockchain clients as they run client software for a specific blockchain.
They are physically distributed in different locations and managed by different individuals and companies so no party can exert control over the network.
Some nodes are used solely for reading data from the blockchain, while others are used for reading and writing data via transactions.