Simplified Payment Verification Meaning
What is Simplified Payment Verification?
Just as fiat transactions are first verified against certain parameters before they are finalized, blockchain transactions are no different – nodes must verify them before including them in a block and recording them to the network. This is achieved by either running a full node that downloads the entire blockchain data or using SPV clients. Simplified payment verification (SPV) is a form of lightweight (light) client that confirms blockchain transactions.
To clarify, a light client are a type of software that interacts with the blockchain without having to run constantly, nor do they read and write mass amounts of data to the blockchain. Satoshi Nakamoto described the SPV concept in the Bitcoin whitepaper, touting the possibility of verifying Bitcoin transactions without becoming a miner or running a full node.
SPVs provide a minimized way of engaging with the blockchain. Instead of downloading the list of transactions in a block, they download the block headers only to save on storage and computing resources. A block header is the part of the block that contains the metadata about the block and a summary of block transactions. It allows SPVs to query nodes regarding specific transactions.
The SPV client can request evidence of inclusion or Merkle proof to the blockchain’s Merkle tree. Technically, SPV proofs only need the Merkle root of every root to confirm that a transaction has been executed. This also means that the user only needs to have a copy of the longest blockchain’s block headers. However, malicious actors can trick SPV proofs to confirm invalid transactions if they maintain network dominance, such as in the event of a 51% attack.
SPV vs FPV
While SPV wallets don’t require storing the entire blockchain to verify transactions on a blockchain, full payment verification (FPV) wallets must download the complete blockchain copy. It is also called a heavyweight or thick wallet.
Furthermore, SPV wallets can run on low-end systems, such as smartphones and laptops. All they have to do is request proof that a transaction is included in a block in a Merkle tree. Heavyweight wallets, on the contrary, operate on high-end systems. This is because FPVs run full nodes that scan transaction by transaction in a mined block, until the transaction’s origin is determined.