Draft BIP for Bloom filtering



Summary:

The writer suggests changing the order in which filtered blocks are sent before transaction data. This is because the current setup triggers callbacks in an unintuitive manner. To fix this, the program would have to buffer and wait for corresponding messages before passing them on to the wallet code. The writer also notes that unconfirmed transactions need to be downloaded along with their dependencies to analyze risks, but the process should not be started for transactions already in the chain. The justification for keeping the current setup was that it was simpler to integrate with the SPV client code, but the writer believes that the protocol needs tweaking now while they have the chance.In a separate email, Matt Corallo mentions algorithmic changes he wants to make to the hash function before it gets merged. Mike Hearn reports that Andreas has tested Matt's latest code, which seems to work correctly. Though the filter degrades into uselessness eventually, it does improve the situation quite a bit. Mike plans to request that the code be merged into 0.8 after profiling. Despite being a big performance improvement for SPV clients, there might be a bottleneck or missed optimization somewhere. This can come post-0.8.


Updated on: 2023-06-06T08:07:06.155673+00:00