bitcoindevkit / bitcoindevkit/bdk

More private sync using Electrum

Open
#176 0 comments 0 reactions 0 assignees View on GitHub
module-blockchain new feature
Dominant language
Rust
Stars
1.1k
Forks
483
Avg merge
20d 3h
Merged PRs (30d)
3

Description

The current syncing algorithm for Electrum (and Esplora) tries to minimize the number of requests made, with the disadvantage that the addresses are checked with the server sequentially, and the server could use that information to reduce the privacy of the user.

One mitigation could be to not ask for addresses sequentially and mix together both the external and internal addresses. This however makes it harder to find a sufficiently large gap without any utxo, which allows the sync to stop earlier, so it would probably translate to many more requests than what's necessary with the sequential process.

We could implement this with a flag that the user can switch to choose which "process" to use, the "fast" (but less private) one or the more private and slower one.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.