Usually the anonimity aspect of Tor is explained from the client point of view. The entry node can know who you are but cannot know which website you're accessing, and the exit node cannot know who you are.
My question is, how does it keep the host anonymous. When someone accesses a Tor website, the exit node sends the data to & from the website being accessed right? How does Tor prevent the exit node from seeing the IP address of the website being accessed? Sure it won't know who's accessing the website, but won't it know who is hosting the website?
Edit: I understand now that hidden services create Tor circuits to introduction points and clients connect to those with their own tor circuits. I guess a better way to ask my question is this:
Does the first node in the Tor circuit from the hidden service to the introduction point see both the public key and the IP of the hidden service?