I am hoping some one can help expand my knowledge on how a user connects to a hidden service, I have read the specification, but have found it confusing and still have some questions.
Sorry if any seem silly just trying to make sure I completely understand how it works.
Firstly how do you know what hidden services are available, is there a list such as the consensus or is it dependent on knowing about the hidden service you wish to connect to?
Say for example I wish to connect to a completely legitimate service such as the hidden wiki, how do I go about finding out the z.onion:port address for this service, or does this once again require me to pre-know this?
How are the descriptors for the service retrieved?
Is there a specific rendezvous point needed for each service or is it simply any node that supports this feature?
How will I know what the introduction point has been chosen by the service which they want me to connect to?
And finally what information is sent to the introduction point to tell it about the rendezvous circuit?
Sorry for all the questions but it would be a great help if someone can help me answer these so I can further understand hidden services.