Cherry-picking Tor onion v3 and other overlay networks from Bitcoin

Update: Today is the first anniversary of the 15 July 2021 official deadline for deprecation of v2 onions. Earlier today, I raised a Github issue with the same request.

I also opened zcash/zcash#6076 to request merging to Zcash a Bitcoin Core RPC that some privacy wallets use with Tor, to facilitate unlinked sending of transactions. Please see below for a brief description of the optimal use case.

I am disturbed by an unavoidable question: How many people in this community use Tor on a regular basis? The Zcash Foundation’s website, zfnd.org, blocks Tor and continues to block it five days after I reported the issue. (I understand that it takes reasonable time to dump a bad provider, and switch to Tor-friendly hosting; but it has been five days, with no resolution in sight.) Discord is unaccountably popular, despite its infamous hostility to Tor users. And… Zcash totally lacks support for onions. As I have remarked elsewhere, v2-only support is like “supporting” the old v0/v1 “Hidden Services”: It is means no support for onions.

Does anyone around here actually use Tor—I mean use it for ordinarily daily activities, not merely tried it sometime? @nickm_tor? Tor is well-supported in Bitcoinland, because so many Bitcoiners actually use it every day. Satoshi himself was a Tor user!

As a longtime privacy activist, I seek positive changes here. I intend to advocate here for Zcash, Tor, PGP, and general privacy best-practices.


On `getnodeaddresses` (zcash/zcash#6076)

In brief, the optimal use case for #6076: Use the getnodeaddresses RPC to obtain from the node a list of known peer addresses. Open a P2P connection to a random peer (preferably, but not necessarily an onion peer). Send one transaction. Close the connection.

If used properly with Tor’s circuit isolation features, this remediates one of Zcash’s biggest privacy problems: Linkability of txids by spy nodes, using well-known means to ascertain with more or less high probability which node originated a transaction.

See the ticket for links to Bitcoin privacy projects which have been doing exactly that for years.

1 Like