A SPV node have to work somethings to see whether his transaction is exist or not.

  1. Construct his filter with hash of transactions {his transactions, other1, other2, ..., otherN}
  2. filterload is filled to process his filter by full-node (by BIP-0037)
  3. Send to full-nodes

Okay, these are responsible for SPV node and let me take a view of full-node received the filter.

  1. Lookup chain to find transaction(K) with filterload

What...? hold on.. how can the full-node know that transaction(K) is what? filterload has no any information of transactions(K).
filterload = { filter, nHashFuncs, nTweak, nFalgs }
Nobody doesn't explain about this in the web, including BIP-0037. Just explains only what is a bloom filter.
I think that full-node must know what transactions(K) are to find on his ledger, otherwise full-node have to see entire chain and this doesn't make sense.

So.. I'd like to know the proper procedure on full-node received the filter by SPV node.

Sorry for my English.

  • bip37 is disabled in new releases so you shouldn’t build anything based on it.
    – Claris
    Sep 26 '19 at 20:11
  • I read some articles about your reply. Isn't disabling BIP37 optional, not required?
    – Hyunsoo
    Sep 27 '19 at 6:01
  • It’s default off and will likely be removed entirely in the future.
    – Claris
    Sep 27 '19 at 20:01
  • So, what is an alternative instead Bloom Filter?
    – Hyunsoo
    Sep 27 '19 at 21:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.