SPV steht für Simplified Payment Verification und ist ein Lightweight Client zur Verifizierung von Blockchain-Transaktionen, der nur Block-Header herunterlädt und einen Nachweis für die Aufnahme in die Blockchain im Merkle-Baum verlangt.
Ein Merkle-Baum ist eine Baumstruktur in der Kryptographie, bei der jeder Leaf Node mit dem Hash eines Datenblocks und jeder Non-Leaf-Node mit dem kryptographischen Hash der Labels seiner untergeordneten Nodes gekennzeichnet ist.
Mit SPVs können Light Clients feststellen, ob eine Transaktion in BTC enthalten ist. Als Light-Clients werden Wallets bezeichnet, die auf Low-End-Systemen laufen. SPVs überprüfen daher, ob eine Transaktion ausgeführt wurde. Um einen vollständigen Node mit einem Merkle Tree zu betreiben, muss die gesamte Blockchain heruntergeladen werden.
An dieser Stelle kann die Rolle der SPV den Prozess stark vereinfachen. Denn SPV-Beweise erfordern nur die Merkle-Wurzel jeder Wurzel, um die Authentizität der Transaktionen zu überprüfen. Das bedeutet, dass nur 80 Byte pro Block gespeichert werden müssen, im Gegensatz zu der deutlich grösseren Größe pro Block, die bei größeren Nodes erforderlich ist.
SPVs haben jedoch auch Nachteile. Diese beziehen sich auf die Cybersicherheit. Im Falle eines 51%igen Angriffs auf eine Kryptowährung könnte es den Hackern gelingen, die SPV-Proofs dazu zu bringen, unrechtmäßige Transaktionen zu validieren. Es wird jedoch daran geforscht, wie die Bedrohung durch solche Szenarien gemildert werden kann. In Nakamotos Whitepaper heisst es, dass Bitcoin-Transaktionen verifiziert werden können, ohne dass das gesamte Node-Netzwerk läuft.