Question from a Tor newbie

Hello all!

I’m new on the Tor network, since end of 2022 I’ve a running relay on Tor and know I read some explaination / documentation about how Tor works.

First thing, about the Onion Service, I read this article => Tor Project | How do Onion Services work? and I’ve 2 questions:

  • When the Onion Service choose the relay to are the introduction point, does the Onion Service choose relay with a specific flag or it’s a little bit random?
  • When the introduction point are choosen, with the relay between them and the Onion Serivce, if I understood right it’s the long-term circuit, so does this long-terme circuit is still the same? Ex. if there is the introduction point A1, relay A2, A3 then the Onion Service. So when the Tor browser send the rendezvous point to the introduction point A1, it will always use the relay A2 and A3?

I’ve another question but firstly this one to start :grinning:

Note: English is not my main language (french) but feel free to answer in english and use the correct term, I’ve some basic knowledge about network etc…

Thanks in advance :slight_smile:

1 Like


I found a stackexchange article that I believe answers your question well:

We choose the path for each new circuit before we build it. We choose the exit node first, followed by the other nodes in the circuit. All paths we generate obey the following constraints:

  • We do not choose the same router twice for the same path.
  • We do not choose any router in the same family as another in the same path. (Two routers are in the same family if each one lists the other in the “family” entries of its descriptor.)
  • We do not choose more than one router in a given /16 subnet.
  • We don’t choose any non-running or non-valid router unless we have been configured to do so. By default, we are configured to allow non-valid routers in “middle” and “rendezvous” positions.
  • The first node must be a Guard node.

Hope this helps!

1 Like

Hello 0x and thanks for your answer :slight_smile:

Since my post I found some answer, especially for first question, the stackexchange post confirm what I understood lately, it’s more cleare now, until the next documentation I read and new questions coming :laughing: