In a conventional enterprise computing network nodes are normally defined as:
– A ‘server’ which is a dedicated unit running 24/7/365 on purpose made hardware, and normally placed in a data center.
– A ‘Client’ which can be anything from a PC or laptop to a smartphone – basically anything that a user brings to the office and connects on the network.
Though both the server and the client can have multiple roles depending on what their purpose is, they are bound by being classified (read referred to as) either as a server or a client and are hosted in a dedicated infrastructure.
The blockchain was designed to not rely on dedicated hardware and or a dedicated infrastructure, but on a Peer-to-Peer (P2P) network infrastructure where anyone can participate, and be both a server and a client at the same time. However exceptions can be found, there are blockchains that is hosted in a dedicated enterprise computing infrastructure – Ripple is an example of this.
Rather than using the common server and client distinction, the blockchain talks about nodes. Nodes are then normally prefixed on a non-standard naming that indicates its role on the blockchain. To avoid causing more confusion, Bitcoins naming convention will be used to explain the role of each node.
Make up the backbone of the network. Their purpose is to collect, store, transmit, validate and enforce; all a part of the services they provide to the miner and lightweight nodes in the network.
You can think of these as ‘servers’, but unlike traditional servers, these can in theory run on anything you have at home that has enough space (a couple of hundreds gigabytes) to store the entire blockchain – that could be your home PC, laptop or NAS; and it is even possible to prune the blockchain database to the extent that it will fit on a USB key and can be run on a Raspberry Pi. Preferable a full node should run 24/7/365, but being online when you are is also fine – it will still contribute to the growth and stability of the network.
Make up the workforce that crunches the numbers. Their purpose is to create new blocks, and compete with other miner nodes for who creates the block first. Only the winners block is added to the chain. The winning miner node is then financially rewarded for the work it contributed.
Unlike a full node a miner node does not need storage space, but need computing power – and lots of it. The miner nodes today run on purpose build hardware, and use a special type of computer chip called an ASIC (Application Specific Integrated Circuit). Miner nodes in general consume a vast amount of electricity for computing and cooling.
A more comprehensive article about the whole mining process can be found here.
Think of these as clients that also serve as your digital wallet. They only store the block headers in order to authenticate transactions you make, or someone is making to you. They depend on the full node to validate that the transaction is authentic and has not been double spent.
Lightweight nodes can literally run on anything the software can be installed on. Most commonly though is your PC, laptop, tablet/iPad and phone.