Per inciso, Tor non è "un browser per visitare siti onion", di base è una rete di computer che fanno da proxy per il traffico che si origina ai vari nodi prima di farlo uscire su internet. L'idea è che il traffico proveniente dal tuo computer, prima di "uscire" in chiaro su internet per contattare il server finale, passa cifrato per un certo numero di nodi Tor (il percorso esatto viene ciclicamente rinegoziato), ciascuno dei quali ha la chiave per togliere un layer di cifratura e conosce solo l'IP del nodo Tor precedente (da cui ha ricevuto i dati) e quelli del successivo (a cui li deve mandare). Per questo motivo, nessun nodo Tor conosce contemporaneamente il mittente originale e il destinatario finale; il traffico in chiaro "nasce" solo sul nodo Tor finale, ed è da questo che sembra provenire al server di destinazione.
I domini .onion nascono in un certo senso "di riflesso" da questa struttura - se la rete Tor consente di creare tunnel cifrati per poi "uscire" su Internet "normale", perché non usarla anche per offrire servizi "internamente"? Il TLD .onion in realtà è finto (agli "hidden services" su Tor non si accede via IP, e un servizio di DNS "normale" per risolvere nomi in IP quindi non ha senso), di fatto il resolver incorporato nel software Tor lo usa per riconoscere le connessioni destinate agli hidden services e ne estrae i dati necessari per attivare la comunicazione; la pubblicazione degli hidden services e la connessione ad essi avviene in maniera abbastanza tortuosa, qui una descrizione (a mio parere piuttosto interessante).