So I'm just trying to understand the functioning of the Tor network from Robert Heaton fantastic article. My understanding is that the guaranty Tor tries to give is that no node knows which source IP is talking to which destination IP.

  • The guard node knows the source IP but not the destination.
  • The middle node doesn't know the source IP, neither the destination.
  • The exit node knows the destination IP but not the source.

My question is: what is the purpose of the middle node in ensuring the guaranty? If I remove the middle node from the list above, neither the guard node nor the exit node know about both the source and destination IP, so the system still works.

Of course if I control both the guard and exit nodes at once, I could correlate the logs to construct the logs of a full circuit, but that is also true with 3 nodes if I also control the middle node. In this case, why stop at 3 nodes? The more nodes there are in the circuit, the less likely it is that one entity is controlling them all.

3 Answers 3


Your guard node and especially your exit node have a lot of power. The guard node knows who you are, or at least some basic information about you such as your IP. The exit node sees all your DNS queries, where your traffic is going, and can monitor all unencrypted traffic. Because of this, it's important there's an attempt to separate the guard node from the exit node as to prevent different attacks on the network. That's the point of the relay node, to prevent the guard node from knowing who your exit node is and vice versa. This would make it less likely for an adversary to properly correlate traffic as it would simply be up to chance if they manage to get someone using both their guard and exit nodes. Again, while this doesn't guarantee the network protection from attacks such as correlation or DDoS attacks, it does make it more difficult for the attacker.

The reason Tor doesn't have more than three nodes is primarily because of speed and resources. Three nodes would be the minimum amount of hops required for a no-knowledge connection. Even then, resources and speed aside, there is a point where using more relay nodes would be less and less effective, almost to the point of being useless. Then once you account for speed and resources, you quickly realize that simply adding more and more relay nodes isn't worth the reduction to speed and the resources required.

  • you can sum it up to something like this: it is the best trade of resp. most effective point regarding security and usability/speed/resources. Commented Oct 14, 2019 at 17:45

It is significantly harder to correlate logs from 2 + n nodes than 2 nodes.


The set of guard nodes and, more importantly, the set of exit nodes, is a relatively small proportion of the total nodes in the Tor network. If there were no middle nodes, then the chances are much higher that you might end up using nodes controlled (or controllable) by an adversary.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .