Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What ability does TOR have to operate in a decentralized manner without the directory servers? Is that something that is possible now, or is it being worked on, or is it even possible?

edit: this question was asked in the blog comments, here is arma's response

> There are a bunch of research papers looking at exactly this question. Check out http://freehaven.net/anonbib/#usenix11-pirtor for one direction, and then http://freehaven.net/anonbib/#wpes09-dht-attack http://freehaven.net/anonbib/#ccs09-shadowwalker http://freehaven.net/anonbib/#ccs09-torsk http://freehaven.net/anonbib/#ccs10-lookup for another direction to consider. The current situation is that nobody knows of a better design that is actually better in practice. The one we have is well-studied and has well-understood downsides, so I'm not eager to move to one that is poorly-studied and has poorly-understood downsides.



Based on my understanding of the TOR network, it currently cannot function without directory authorities. The directory authorities provide a signed list of all of the TOR network relays, and that includes the set of encryption certificates used for each relay and all of the configuration information about it.

The TOR clients come hard coded with a list of directory authorities. Without the ability to query the directory authorities they cannot find a usable TOR route. I don't know if there is some caching involved, but if not then this would effectively stop the network for anyone trying connect to TOR.


So why couldn't signed lists of relays just, say, float around on a DHT, with a cache-and-forward model like Freenet, but where newer documents (provided they're signed with the same key) will overwrite older documents in the same cache slot?

Actually, to put it another way, Freenet is itself the optimal bootstrapping mechanism for Tor. Maybe the two projects should merge, such that Tor would effectively be an optimization over the specific case of two peers generating and searching for one-another's signed Freenet documents (this effectively being an IP tunnel already).


It's already done that way. Tor relays cache signed consensus documents from the directory authorities. It doesn't change the fact that you need some trusted computers, somewhere, that give you an accurate view of the network.


Ah, so you need them for a trusted calculation, rather than for a trusted static file. The latter would be easy to sign and store on a CDN.


I mean we have the "technology" to do distributed trusted computation (without trusted hardware). It would just be extremely difficult to bring it into the TOR project without rewriting large parts of it.


Can the bitcoin blockchain be used to somehow store this data?


Storing and transmitting the consensus is not the issue. The issue is that you need to decide what relays get into the consensus. You also can't choose a system where different clients get different relay directories, or people will be able to profile clients by which relay directories they're using.


I've always thought one of the biggest weaknesses of Tor was that it did rely on a central authority. BitTorrent moved from a centralised tracker model to a decentralised DHT, so I'm quite sure it's theoretically possible. In the worst case, I think a DHT could be used as a routing layer, storing and retrieving encrypted packets in it, and achieve a similar anonymity effect... of course the latencies are going to be horrible, so it might be better to just use it as a way to setup multihop tunnels.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: