Recently, funding has been allocated to pay for Kovri's development and integration into Monero. Kovri is a re-implementation of I2P, an anonymity tool similar to Tor in its goals, but with a lot of improvements, different protocol, and broader range. Following Monero's philosophy of privacy by default, Kovri will be on by default, effectively disconnecting user's IPs from the transactions they broadcast. That is all great news, but it sounds like it will take a year to be implemented. Meanwhile, Monero's nodes can already connect to the network using Torsocks.

By searching SE, I find only three threads mentioning Torsocks, and only five on /r/monero. So that tells me that even though that improvement in one's anonymity is only a Tor install and a terminal command away, maybe a lot of users are not doing it, or are even unaware that that is possible at all.

Why doesn't Monero already include Torsocks by default, and makes it so that whenever the user starts the daemon, it does so through Torsocks, without it even asking? As superior as Kovri might be, and as flawed as Tor might be, surely having nodes running through Tor beats running them in the clear, and nothing prevents that setup to be changed when Kovi is ready to go. What am I missing?

  • 1
    I'd rather we not become complacent using an inferior tech such as tor and just leapfrog over into i2p, the superior anon tech
    – JohnHanks
    Commented Oct 14, 2016 at 17:49

1 Answer 1


If the majority of monerod instances were wrapped with torsocks, but otherwise not Tor-aware, then the network would end up having to concentrate all of its traffic through the few nodes that weren't using torsocks. And I don't know the details of the P2P protocol, but in a lot of designs the discovery system could end up degraded or inefficient as well.

The basic problem is that you can't receive incoming connections to clearnet addresses when you're running through Tor. If you want to set up a web of connections, SOMETHING has to receive incoming ones.

You could use Tor hidden services, but that's a lot more complicated than just wrapping the client in torsocks, and you'd have to actually change the Monero P2P protocol to pass around .onion names instead of IP addresses. And any nodes that weren't Tor-aware couldn't connect to those at all... so in practice you would either have to either switch the whole thing over to Tor, or think very hard about how you were going to properly manage a divided network.

Basically you're talking about something almost as disruptive as the I2P transition, with at least some changes to the actual P2P protocol... and then doing it again when it's time to move to I2P. That doesn't make a lot of sense.

  • 1
    If I am understanding you correctly, a node behind Tor cannot be found by its peers, but only find them. So by using Tor it is only possible to "leach", and that is why not all node can do that at one? If that is the case, how about just making opting-in to using Tor easier to the user, but just not the default?
    – user141
    Commented Oct 14, 2016 at 18:05
  • 1
    Yes, that's correct. I'm not sure it's "leaching"; you can still relay a lot of traffic. But the network would suffer if most of the nodes were like that. As for making it easier, that's more a question for the devs... but torsocks is pretty darned easy.
    – jbash
    Commented Oct 14, 2016 at 18:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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