Open fabionar opened 6 years ago
Your communication is only peer to peer when you talk to your friends. So only your friends can see your IP address. Your client also talks to the DHT, which allows other people to find you and send you friend requests. Here are some explanations: https://tox.chat/faq.html#how-tox-privacy https://tox.chat/faq.html#tox-leak-ip https://tox.chat/faq.html#tox-tracking-dht
Read more here: http://beta.tox.chat/learn-more / http://beta.tox.chat/support aswell :yum:
@TokTok/contributors Added this as a Project because we really need to write a better intro text that explains the Tox's philosophy/technical points better. ;)
tl;dr Tox uses DHT (Distributed Hash Table) for Tox Id --> IP lookups. Every Tox client participates in the DHT. Tox Ids are just random numbers (public keys), nothing ensures their uniqueness but the probability theory. DHT is hardened in a way that only someone you have friended can do this lookup, users that are not in your friend list can't find your IP based on your Tox Id. Once your Toc client gets the IP of a someone that you have friended (and they have accepted your friend request) from the DHT, you can easily connect to them directly, IP to IP, and communicate.
Actually, at the moment there is a way to get IP address knowing only Tox Id, see https://github.com/TokTok/c-toxcore/issues/873
Update: fixed in 0.2.2 version.
I know it probably one of the most asked questions. But I can't find a detailed, or even a simple explanation.
How the software identifies an user without revealing the IP if the core idea of tox is p2p, and a centralized identification makes tox not p2p at all? Also, some informations about that hash functioning (tox ID) and how it replaces the IP sharing would be great to be at FAQ.