Im asking myself, why the rendezvous circuit has a minimum length of 6 hops, which are:

    Client -> (a1) -> (a2) -> (RP) <- (b3) <- (b2) <- (b1) <- HS

The Client is using RP as its Endpoint, so why isen't HS doing the same?

HS is told to which RP to connect to, so I guess its just building a normal circuit with its endpoint (b3), which is connecting to the RP. So is this done, because the HS has no control over choosing the RP, and since the Client is doing this alone and could choose some malicious OR, this could reduce the anonymity.

1 Answer 1


I think you've answered your own question.

We don't want the third onion-router in the HS-to-RP circuit to be chosen by the hidden-service client because the client is untrusted and (for all the HS knows) the RP could be controlled by the client.
If the third hop for the HS was the RP, and the RP was controlled by the client, then it's far easier for an adversarial client to perform end-to-end correlation attacks to deanonymise the HS since the HS is (effectively) only protected by 2 proxies rather than 3.

You must log in to answer this question.

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