With onion-routing a relay in a circuit only knows its predecessor and its successor, while a "normal" proxy is just one hop, so that it knows who connects to it and where it has to connect to.

Wouldn't it be sufficient enough, from the anonymity point-of-view, to have just two hops, guard and exit? The Guard knows where the request is coming from and the exit where it is going to.

Why does Tor use three hops, instead of two?

  • I've found myself wondering about this at times too. Most of the reasons I come up with can be used to justify 4 hops over 3, or 5 hops over 4 too; I can't see too much reason to specifically use 3.
    – user194
    Oct 12 '13 at 18:55
  • 1
    I'm a bit interested in seeing the answer too (I recall once hearing that the advantage of two vs three hops was an open research question, but that was a long while back). Here's a tor-dev@ reply on this subject: lists.torproject.org/pipermail/tor-dev/2012-July/003812.html
    – Damian
    Oct 12 '13 at 20:52
  • Roger once explained it as "3 is a good number for anonymity" :) Oct 13 '13 at 6:56
  • See also related question: Is it possible to make the Tor onion-routing path longer?
    – pabouk
    Oct 13 '13 at 9:24

Maybe think of it as a defense in depth idea. If you only have two hops, and your adversary owns or watched your exit node, they immediately know which other node to compromise to get you.

That single node is a particularly high-value target since you'll be using your guard node for a while, so maybe it's worth investing some resources to be able to watch that. Due to the middle hop this equation changes slightly.

Now of course the next question is "why not four"? At some point adding more nodes just increases latency and doesn't add that much security. And some attacks don't care how often and long you bounce around within the Tor cloud anyway.

It just seems that three is a good compromise, or as Roger put it "3 is a good number of anonymity".

  • As I understand it correlation attacks allow an adversary to deanonymize with just the first and last hop. A third hop obscures what the first hop they need to own is, but as I understand it doesn't actually help anonymity. Could certainly be wrong - curious to see what other answers this gets. :)
    – Damian
    Oct 13 '13 at 7:45
  • @weasel, that's how I understood it, too. An exit would always know one's guard relay(s) and could profile a client based on the set of guards and rotation. Me repeatedly visiting tor.stackexchange.com, several times a day and every day for months, with the same guards would enable the exit to guess that it is the same client. With the middle relay in place an exit is unable to tell from what guard it comes.
    – bastik
    Oct 13 '13 at 8:20
  • There are about 900 exits. At ten minutes per circuit, it would take about six days to cycle through them all. But, of course, Tor doesn't just cycle -- it chooses "randomly" (unless constrained). In any case, it doesn't seem like typical users would be using a given exit very often. Right?
    – mirimir
    Oct 13 '13 at 8:58
  • @mirimir, I haven't checked what my exit nodes were. I remember to have seen 'chaoscomputerclub$XY' much more often than I can say about others. Tor choses probabilistic based on router bandwidth. I'm unable to tell how often users end up with the same exit, don't know the model or some statistics.
    – bastik
    Oct 13 '13 at 9:38

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.