Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Nicolas Dorier on May 03, 2014, 09:40:45 AM



Title: Correct way to track wallet transactions ?
Post by: Nicolas Dorier on May 03, 2014, 09:40:45 AM
I noted that BIP32 talk about setting a filter to peer nodes to get notified if you are interested into a transaction.

I thought using that to track transaction relevant to my wallet. But does such method is weak transaction malleability ?
The only way to resist transaction malleability is to listening for every transaction, in a block or in mem pool, and check their input/output script to know if they are relevant to you.

Does such thing is too difficult to keep up with the flow of transaction ? Why companies like MtGox insists on using the transaction hash to track transactions ?


Title: Re: Correct way to track wallet transactions ?
Post by: telepatheic on May 03, 2014, 10:09:08 AM
You should read BIP37 (https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki) which is about bloom filtering. Filters can be used to match against inputs and outputs as well as transaction IDs.


Title: Re: Correct way to track wallet transactions ?
Post by: Nicolas Dorier on May 03, 2014, 04:18:27 PM
Thanks for the clarification.
Holy cow, I ported this code and tests, but forgot entirely the "Filter matching algorithm". (IsRelevantAndUpdate(Tx) method)
I was so sure I knew what the bloom filter was, I did not took time to scroll to the algorithm of the BIP, nor the methods.