danielmcclure / bitcoinj

Automatically exported from code.google.com/p/bitcoinj
Apache License 2.0
0 stars 1 forks source link

Force update Bloom filter due to high false positive rate #577

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
On bitcoinj master mainnet, when my wallet catches up with the blockchain, I get

I/PeerGroup(20064): [NioClientManager] Force update Bloom filter due to high 
false positive rate (0.0024388518413731154 vs 0.001)
I/PeerGroup(20064): [NioClientManager] Recalculating filter in mode 
FORCE_SEND_FOR_REFRESH

every couple of seconds in the log. It looks to me as if this is done too often.

Original issue reported on code.google.com by andreas....@gmail.com on 9 Sep 2014 at 9:46

GoogleCodeExporter commented 9 years ago
It should stop printing that once you're fully caught up, right?

Original comment by mh.in.en...@gmail.com on 9 Sep 2014 at 11:02

GoogleCodeExporter commented 9 years ago
Yes, that's right.

Original comment by andreas....@gmail.com on 9 Sep 2014 at 11:25

GoogleCodeExporter commented 9 years ago
Then it's normal. The chain is syncing as fast as possible, hundreds of blocks 
per second, and Bloom filters get dirtier as they're used. So the FP rate goes 
up, we recalculate a new one (which has privacy problems, see the other bug on 
this) and then send it to get the FP rate back down.

How often did you expect this process to occur? Unfortunately the nature of 
getting FPs from the remote server means that they can explode quite quickly as 
we end up following chains of transactions that aren't ours, so we must be able 
to clean the filter and get bandwidth usage back down. Currently bitcoinj 
doesn't do a great job of keeping a consistent lying story going though so 
these "force update" messages imply privacy leaks.

Original comment by mh.in.en...@gmail.com on 9 Sep 2014 at 11:27

GoogleCodeExporter commented 9 years ago
I expected it to be adjusted only now and then (maybe once per sync if I sync 
every couple of hours).

Anyway, thanks for the explanation.

Original comment by andreas....@gmail.com on 9 Sep 2014 at 12:44