The cool thing with synchronizing via bloom filter is that it is the fastest and consume almost no bandwidth when you don't care about privacy.
This is exactly the case when connecting to your own node via Tor!
I have been working on this PR in bitcoin core https://github.com/bitcoin/bitcoin/pull/16248 to allow bloom filter only for whitelisted peer so that BIP37 can be disabled for untrusted peer, but not for your wasabi wallet!
But isn't this how it is already working?
Wasabi server hands out block filters, and Wasabi wallet checks for hits, if yes, then that block is pulled from the local node?
@MaxHillebrand my point is that the filters are redundant when you have your own node with bloom filters.
Ah, so you want to connect wasabi wallet to the local full node with BIP37 bloom filters, and not download BIP158 block filters from wasabi server if a full node is connected?
Yes, that seems to be more bandwith efficient, and since it's your own full node, then there is no privacy concerns.
@lontivero, you are tinkering on the full node integration, what do you say?
yes, also it will make wasabi usable even if the coordinator is down.
Ah and last, in theory, you don't need to download blocks at all either with bloom filters.
Does there need to be any change or addition to the full node?
Does it have to have the xpub of the wallet, similar to Electrum Personal Server?
Aside from activating bloom filter, no change. (on by default until 0.19)
Why even use bloom filters? Why not just query the exact addresses/txs?
@benthecarman because Bitcoin P2P protocol don't support it, and we should not need a middleware.
@benthecarman there is no way to configure RPC connection in wasabi.
Even if it was, it should be avoided as exposing RPC over internet is dangerous.
I think this is a good idea. BIP37 is the most efficient when you don't care for privacy (in the sole context of pulling from your own node)
I really don't feel like maintaining another syncing mechanism. However this could eliminate the need to add RPC in the future when proper full node integration will happen, so it's an interesting idea.
@lontivero, you are tinkering on the full node integration, what do you say?
The full node integration PR was rejected because it was too much ambitious. Basically the requirements were to integrate Wasabi and bitcoin core node in a transparent way, what is not so easy. Next time we will do it in a more simple way.
Grats to @NicolasDorier for getting https://github.com/bitcoin/bitcoin/pull/16248 merged, this could be implemented now
Most helpful comment
Grats to @NicolasDorier for getting https://github.com/bitcoin/bitcoin/pull/16248 merged, this could be implemented now