3 ms·
I've seen Tox before and looked into it. Think I've commented on it before, but maybe not, so here's my take: Nice sentiment. Doesn't yet quite live up to what
by AlyssaRowan 12y ago
I've seen Tox before and looked into it. Think I've commented on it before, but maybe not, so here's my take: Nice sentiment. Doesn't yet quite live up to what it wants to be. But if the project can listen and adapt to advice like this, it has scope to improve and be a really important contender.
Firstly, it needs metadata protection with onion (or, better, garlic) routing. Without that, it still has a pretty big mass-analysis flaw. Please look at I2P for an example of the kind of architecture that would work well: two DHTs with decoupled garlic routing in between? You may, or may not, leverage an existing network for that; there are some obvious cover-traffic advantages if you do, but it's less synergistic.
Secondly, I don't see a full forward-secure messaging ratchet in there, it's really per-session. Look into Axolotl, and in particular what TextSecure v2 aka Signal has done for group chats too. Tox - using libsodium - already has every tool it needs to do that, it just doesn't do it fully yet.
Thirdly, more stability. The susceptibility of the DHTs to resource-starvation attacks. (I don't think I2P ever actually implemented the hashcash it planned for?) But there's been some further work on that. Scalability is tricky, especially in the face of on-path attackers...
Skype is pretty awful. It's actually pretty much centralised now, using TLS, but still runs much like the bad P2P network it used to be: closed-source software with a bad reputation for eating 100% CPU and awful chat desync. Most people who use it would rather be using something better, and I think there's plenty of scope there - people would switch if there was something better. Let's make sure an alternative is much better?
Oh, maybe look into a distributed consensus protocol of some form for name registration - if it's possible to do a light one which can impose ordering...
I've not performed a full security review. It's too young for that, and it's too young to rely on. When the above are addressed, then it's time to give it a more thorough look. /akr