In a blockchain network, each block consists of a block header and a block body. The block header stores metadata including a witness (such as a PoW or a vote), while the block body includes transaction data.
Accordingly, there are two parts in one block validation:
1) Metadata validation in the block header (PoW for example), which determines if a producer is qualified to create a new block;
2) Transaction verification in the block body, that ensures each transaction.
A full node contains the current state and a full copy of the transaction history of the blockchain. It downloads and verify new transactions and blocks, broadcast the valid transactions and blocks to other nodes.
Full nodes secure a blockchain network. With full nodes’ validation, there is no need to have a trusted party.
Light nodes download and verify the block header of every new block without transactions in the block body. Light nodes accept headers of the blocks verified by full nodes.
PS: It is not entirely true for PoS chains, because it’s hard to know the newest validator set without having blockchain state first.
Light nodes are blind to transaction updates, they do not know the current state of the network so that they cannot check for double-spend attacks or state changes.
Block-producing nodes package transactions and generate new blocks in a blockchain network. Block-producing nodes refer to their previous valid block(s), which called parent ( uncle ) block. They validate their parent blocks before generating new blocks.
They are also regarded as full nodes with different names in blockchains as follows:
“Miner/Mining pool” in Bitcoin and Ethereum;
“Delegator” in Bitshares;
“Producer” in EOS;
“Stakeholder” in Cardano;
“Validator” in Casper;
“Consensus node” in CITA.
We do call it a block-producing node when it is a bitcoin miner mining in a pool with the “getblocktemplate” protocol. It chooses transactions and generates them into a block without verification.
Block-producing nodes require more resources compared with the other two types of nodes, including CPU for PoW hashing or voting, disk, and network bandwidth. Hence it is challenging to run block-producing nodes, which tends to centralize their distribution.
It is easy to run a light node on a laptop or mobile phone, which only requires simple verification and occupies minimal space in the block. It benefits from the trust built by full nodes and block-producing nodes in a blockchain network.