There are two types of participants with different responsibilities on the Bitcoin network, miners and full nodes. All miners must run, or be connected to, a full node, but full nodes do not need to be miners. Miners are responsible for aggregating new batches of transactions, or blocks, and proposing them to others within the network, adding to the Bitcoin transaction history or blockchain. To propose valid blocks, miners must undergo a stringent process that expends both time and energy. This process results in the generation of a ‘Proof-of-Work’ which is attached as part of each block and can easily be verified by full nodes (other network participants).
Today, becoming an effective miner requires advanced hardware and software well above the level of other full nodes. Mining on the Bitcoin network has evolved into a fiercely competitive industry as miners compete to generate valid Proofs-of-Work most efficiently. Full nodes complement miners by receiving, validating and relaying proposed blocks and unvalidated transactions. More specifically, full nodes will listen for blocks proposed by miners, verify whether or not these blocks are valid and relay those blocks that meet their requirements. In this way, full nodes are responsible for enforcing the protocol rules and ensure only valid blocks are shared throughout the network.
In contrast to being a miner, running a full node on the Bitcoin network does not require advanced hardware and software. It requires only basic machinery and internet connectivity. This encourages users to run full nodes because it limits the costs incurred.