After reading how hidden services work it is not clear to me whether a hidden service database as shown in the figure bellow, is different from a directory server.
On which port does it provide the descriptors on?
Tor Stack Exchange is a question and answer site for researchers, developers, and users of Tor. It only takes a minute to sign up.
Sign up to join this communityAfter reading how hidden services work it is not clear to me whether a hidden service database as shown in the figure bellow, is different from a directory server.
On which port does it provide the descriptors on?
The "database" in the picture is an abstraction, it just represents some shared lookup mechanism.
Relays with certain properties can be assigned the HSDir
flag.
Bob chooses 6 of these relays in the consensus as the HSDirs
to publish his hidden service descriptor to. The 6 chosen are based on his hidden services address and the list of HSDirs
in the current consensus.
Alice also knows Bob's hidden service address, this is a shared value that is distributed out-of-band. Since Alice has the same consensus as Bob and Alice knows Bob's hidden service address, she too can compute the same 6 HSDirs
and retrieve the descriptor with the information of how to reach Bob's onion from one of them.
They are published and retrieved using Tor's directory protocol which uses HTTP
as a transport.
So, in conclusion:
HSDir
is a type of Directory Server that meets a specific set of criteria.Directory server enumerates Tor nodes, all of them. There are special separate subsets of them such as bridge relay directory, obfuscated bridge relay directory, hidden services directory e.t.c. all the records of these special service directories are tor nodes pulled out only by request. The overall directories are used for regular network connectivity rather than by request