SPV-Nodes (Simplified Payment Verification)

What is it about?

The term is used in connection with the Bitcoin whitepaper. This is about the fact that not all nodes can hold the entire blockchain. This refers to clients for devices with limited storage space and low performance. Smartphones, tablets, and others belong to this group. In order to be able to perform payment verification on such devices, the SPV is used.

These tasks can be accomplished through SPV without having to store a full blockchain on the device.

 

How do SPV-Nodes Work?

Only the block headers are downloaded by the SPV nodes and not the transactions contained in a block. The resulting transaction chain is 1000 times smaller than the complete blockchain.

Verification of transactions

Peers provide a partial overview of relevant parts of the blockchain and thus allow the verification of transactions. SPV verifies the chain of all blocks and links them to the relevant transaction. Thus, the chain of all transactions is not verified.

To clarify the difference between a full node again. If one would want to examine a transaction via a full node, a full node would link all blocks down to the genesis block and build a complete database of all UTXOs.

In contrast, the SPV node uses the Merkle path to establish the link between the transaction and the associated block.

The SPV node makes use of the approach that a transaction is definitely confirmed within 6 blocks. It should be mentioned here that a block is normally created every 10 minutes. If now other nodes take the effort and the transaction is confirmed in the next 6 blocks, this serves the SPV node as proof that there is no double-spending.

Important note

An SPV node can prove that a transaction exists, but it cannot verify if a transaction exists that wants to re-issue the same UTXO. This is due to the fact that an SPV node keeps all transactions. Exactly this fact can be used for Denial of Service or Double Spending attacks on the nodes.

To prevent this, the SPV node makes random connections to different nodes. This increases the probability of communicating with at least one honest node.

The next problem is that this step makes the SPV node vulnerable to network partitioning or Sybil attacks.

Conclusion

SPV nodes represent a good balance between resources, practicality and security. However, only a full node can ensure full security.
A full node verifies a transaction by traversing the entire chain of underlying blocks. An SPV node only verifies how many blocks are above the transaction in question.

 

What are your feelings

Share This Article: