What are the different trade-offs involved in options mentioned below that users should consider while using Tor/i2p in Bitcoin Core based on privacy and security?

  1. Only Tor or i2p

    1.1 onlynet=i2p

    1.2 onlynet=onion

  2. Tor/i2p and clearnet peers

    2.1 Tor + ipv4/ipv6

    2.2 i2p + ipv4/ipv6

  3. Other combinations

    3.1 Tor + i2p + ipv4/ipv6

    3.2 Tor + i2p (onlynet=onion and onlynet=i2p)

I am not sure about using 3.1 or 3.2 which was mentioned in a tweet thread. IMO one of them (2.1 or 2.2) should be used. Still doing research and looking for articles that explain trade-offs.

1.1 and 1.2 should be avoided considering the trade-offs mentioned in https://github.com/bitcoin/bitcoin/pull/21157

  • Not sure what this is asking. Is it asking are there downsides to using Tor, I2P, IPv4 and IPv6 all at the same time? Using all of them (or a subset) clearly offers redundancy and maximal flexibility for connecting to peers. With regards to downsides... is there a way to link IP addresses to onion addresses if they are used concurrently (privacy leak)? Other than that I can't think of any. – Michael Folkson Jun 21 at 11:47
  • @MichaelFolkson Can we discuss this in chat? There are few things that I will be able to explain better – Prayank Jun 21 at 20:37
Obsc location Anon P2P Bridge Dissoc
Tor Only Yes Yes(Tor) Yes(Tor) Yes
i2p Only Yes Yes(I2P) No Yes
Tor+i2P Yes Yes Yes(slow) Yes
Tor+i2P+IPv4 No Yes Yes(fast) No


Basic differences between Tor and i2p: https://github.com/prayank23/Learning-Bitcoin-from-the-Command-Line/blob/i2p/15_0_Using_i2p.md

Only Tor or i2p

Tor/i2p and clearnet peers

The onlynet=onion configuration option can potentially ensure the node attempts to only connect over Tor. It is more private when you combine it with no reachable IPv4/IPv6 address, in particular if you want to broadcast transactions without them being correlatable with your IP.

Sybil Attacks

On the other hand, if you only make random Tor connections, you're much more vulnerable to Sybil attacks. As Tor addresses may be created at no cost, an attacker can potentially flood the network with many Tor nodes and receive all of the outbound Tor connections an onlynet=onion node makes.

This is significantly less a concern with if you make -addnode connections to trusted peers (even if they're onion addresses). It's also alleviated with IPv4/IPv6 (especially when using the -asmap configuration option) due to the cost of obtaining IPs in many networks.

If all of your connections are controlled by a Sybil attacker, they can easily prevent you from seeing confirmed transactions and, with more difficulty, even trick your node into falsely reporting a transaction as confirmed on the blockchain with most cumulative “chainwork”.

Network Partitioning

If too many nodes use onlynet=onion, it could become difficult for onion nodes to communicate with clearnet nodes, preventing the Tor network from seeing recent transactions and blocks. It is essential that some nodes access both clearnet and Tor.


Tor + i2p + ipv4/ipv6

If looking for privacy, this may not be the best option however I don't see any security issues with this setup.

Tor + i2p

I would consider this as experimental for now and will update the answer if I find any issues.

For maximum privacy, it is preferable to disable accepting incoming connections.

Related Question: https://tor.stackexchange.com/questions/6930/tor-i2p-on-a-system-and-is-i2p-better-than-tor

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.