Questions regarding hash collision and peer authenticity

Hi, I’m curious about TOR’s design, and currently have two big questions I couldn’t figure out myself:

  • If Onion addresses are basically hashes, how do we deal with hash collisions? I know the chance of a collision is really low… but it’s there, not eliminated. So it’s still possible, right?
  • How is peer authenticity guaranteed, or do we guarantee that at all? For clients authenticating servers, we have the help from things like preloaded certificates, they are not 100% MITM-proof, but it’s better than nothing. But what about servers authenticating clients, how do we know if the clients are who they claim to be?