I am doing research about the dark web. However I find it hard to understand how Tor hidden services work. The whole point of it is to actually anonymize the server from the client so that the client does not know where the server is located. I understand how this is achieved by using the hash table and the onion address however I got a couple of questions:
Does the first node in the circuit connecting the hidden service to the introduction point know the server's IP address? If so, can't someone just sniff the channel between them and know where the server is located?
If the client sends a message to the hidden service, is it technically sending the message to the rendezvous point and then the rendezvous point forwards it to the server? Doesn't the rendezvous point in this case know the hidden service's IP address?
While the introduction points and others are told the onion service's identity (public key), we don't want them to learn about the onion server's location (IP address)
.