cryptoadvance / cryptoadvance/specter-desktop

Fetch Block Explorer data over Tor

Open
#408 4 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
847
Forks
259
Avg merge
6d 18h
Merged PRs (30d)
2

Description

#344 added the ability for users connected to pruned nodes to fetch missing data from blockstream.info.

This leaks IP to blockstream in addition to allowing blockstream to link the utxo's (should they wish).

If you connect via tor to blockstream's [onion address](http://explorerzydxu5ecjrkwceayqybizmpjjznk5izmitf2modhcusuqlid.onion/) this will stop leaking the IP address.

If you refresh the tor connection between requests this may stop linking the utxo's based off a common tor circuit.

Timing analysis would still be an issue, this could be resolved by staggering the lookups by random time intervals (in addition to the refreshed tor circuits).

Finally, there are other services (like mempool.space) which have a [tor address](http://mempoolhqx4isw62xs7abwphsq7ldayuidyx2v2oethdhhj6mlo2r6ad/) so it would be best to add both and have the lookup randomly switch between these to further improve lookup privacy.

**Summary**
1. Use tor lookup to stop IP leak
2. Also refresh tor circuit with each lookup
3. Also stagger lookup times to stop timing analysis
4. Also randomly switch between multiple tor services

Contributor guide

Open the contributing guide

Research direction

Start by locating the blockstream.info lookup added by #344 and review its current request path. The issue proposes Tor access, circuit refreshes, randomized delays, and alternate services, so first clarify which privacy measures are in scope; done would require an agreed design and validation of the selected lookup behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.