SVP can be well understood if you look at the purpose of having SVP. SVP is created for fast verification embedding of a transaction in the . This is useful when a user is only interested in knowing whether a transaction related to him/her is embedded in the and how much computation power the community has spent after it.

Each block in blockchain is of 1MByte size whereas the block header size is only 80bytes. The total size occupied by all the block header till date will few MBytes which can be easily stored on a mobile device.

In a block, the transactions are grouped in Merkle tree, where the existence of a transaction can be verified in O(log n) time if the to the transaction is known. So whenever an SVP is interested in knowing the existence of a txn it can download the corresponding block form a full node and then check it.

Now coming to your question

Well, some users have a fraction of the full chain, but some users only have block headers

It depends on whether an SVP has requested for the updated block header from a full node or not.

what does SPV user do with a block when he receives this?

Ideally, it should propagate the block to nodes it is to but an SVP can just decide to drop it and do nothing.

Just attach its block header to what the SPV user has at that time?

It can’t be done as the block header of the previous block will not match

Source link
Blockchain – Crypto – Currency infomation


Please enter your comment!
Please enter your name here