light node
A light node, also called an SPV client, downloads only block headers instead of the full blockchain. It can verify that a transaction is included in a confirmed block without storing the entire transaction history, making it practical for mobile wallets and everyday use.
A light node, formally known as an SPV client after the simplified payment verification method described in the Bitcoin whitepaper, is a type of Bitcoin software that does not download or store the full blockchain. Instead of keeping every transaction ever recorded, a light node downloads only block headers, which are small summaries of each block containing the hash of the previous block, a timestamp, and a few other fields. This reduces the storage and bandwidth requirements dramatically compared to running a full node, which currently requires storing hundreds of gigabytes of data.
To verify a payment, a light node uses a cryptographic proof called a Merkle proof. When a full node tells the light node that a particular transaction is in a block, it provides a compact chain of hashes that the light node can check against the block header it already has. This allows the light node to confirm that the transaction is part of a block without downloading the full block itself. However, this method relies on being connected to at least one honest full node. A light node cannot independently verify that the block it is checking follows all the consensus rules, only that it exists in the chain with a certain amount of proof of work behind it.
The trade-off is one of convenience versus security. Full nodes are self-sovereign: they verify every rule themselves and do not trust anyone. Light nodes are convenient: they work on phones and low-storage devices, sync quickly, and are practical for everyday payments. Most mobile wallets, including many popular bitcoin apps, operate as light clients. Users who want to transact without trusting a third party while accepting slightly reduced privacy and security can run a light node. Those who want complete trustlessness and to contribute to network resilience should run a full node.