Forgot your password?
typodupeerror

Comment Freenet: Anonymity and overhead... (Score 1) 440

Okay, freenet is anonymous to a degree. Your IP is stripped after one hop on the freenet network, and only your neighbouring nodes know that you are actually connected. This is misleading though, because the notion of neighbours in a peer-to-peer overlay network (such as Freenet, and gnutella) is not the same as that in IP. Neighbouring nodes may actually be many hops away in terms of the underlying IP network. So, if I sit on an arbitrary freenet node and examine traffic going to my freenet server, everyone is certainly anonymous. However, if I sit on a gateway IP node (the carnivore approach) and just sniff freenet packets with a depth (inverse ttl, which is also stored in the freenet header) of zero, I know exactly what you are asking for and what you are sharing. But then, midpoint nodes are well connected, so we don't have to worry about IP sniffing, right? Freenet's author also makes the claim that attempts to locate the source of a file simply further obfuscate it's location by causing the file to propogate more across the network. I think that this may be the true aspect of anonimity in terms of sharing information on freenet. Files are propogated to servers by the network itself, how can I really be responsible for the mp3's on my machine when they are just arbitrary data that has been moved into my cache by the file-sharing protocol i'm using. And besides, if I have a copy of the file, so do a bunch of my neighbours, and their neighbours... Besides, files shared on freenet are not necessarily hosted directly off my machine even from the get go (as in gnutella) I can insert them into the network and then delete them from my local host. So as anonymity goes, I figure the system balances a little both ways. Let's talk about performance for a second though. Freenet is sort of at the far end of a continuum with Napster at the other end and gnutella somewhere in the middle. In napster's case, users log on to a server (or servers) that index everyones files and handle searches. I am always essentially two hops (figuratively speaking) away from a file... I search through the server, who has an index containing a file I want that is also connected to the server. To download though, I establish a direct connection to the machine with my file and leech away. This is good because in all regards traffic is minimized. Everyone talks directly to the central index and downloads direcly from eachother. The problem with this model is that the servers are a central point of failure, and can become overloaded with requests and bog down. They are also vulnerable to failure and other nasty things. Like court injunctions. And when the servers fall, everyone gets upset. In the case of gnutella, the search network is distributed. Everyone connects to a few other people more or less arbitrarily and we all play the telephone game to try to find files. I want a file, so I tell four people, and they all tell four people, and so one... until some number of iterations. But to transfer I still connect directly to a host. Given a well behaving search network (which gnutella's doesn't really seem to be) this is a great model... everyone has to be involved in some amount of the search traffic on the network, but it's pretty small (at least in theory) relative to the resourses that they are using to pull Metallica, ahem, Blueberry muffin recipes, off of the net. The overhead in this system is the search, which as anyone who has used gnutella will tell you can be a little slow at times. Anonyminity is lost also through these direct file transfers... for obvious reasons. In the case of Freenet, everything is routed through the peer-to-peer network, even file transfers. What's more, files are transfered atomically in between nodes. So, If i request a file that is five hops a way on the network, the file has to be copied in its entirety across each of thos intermediate nodes before I see it. This leads to what has got be be a rather shining example of network latency. Of course, the network 'adapts'. Which means that since there are now all these copies of a given file lying around on intermediate nodes, it will be much faster for other people to get copies in the future. In that regard, the model has some great benefits: Files become highly available - a single request results in a file being replicated across all the intermediate hosts. The network is survivable -- if the original machine crashes, and someone has asked for the file before, it is probably kicking around somewhere. But the overhead... By participating in gnutella, your node agrees to forward search requests to all neighbouring nodes. By being anything other than a client-only node in freenet, a host assumes the burden of receiving, (maybe) saving, and passing on entire files. In the case of mp3's... this would be like passing search requests through gnutella that are three to six megs in size each. That is a LOT of overhead. But, maybe the model will work. Maybe you build a network of high-powered hosts across the internet that are capable of routing and caching entire files and just about everyone at home acts strictly in the sense of a client. If you encrypt everything that you put on to this and provide a semantic to make sure that things don't accidentally dissappear forever, it starts to sound like a pretty reasonable highly-available distributed file system. But wait a sec... wouldn't the notion of a smaller set of powerful centralized servers that were inevitably managed by beaurocracies such as ISPs and universities be exactly the sort of points of failure that a peer-to-peer sharing system hopes to avoid? For the simple reason that the organizations that end up owning the big servers will inevitable cave under the pressure of things like, well, court injunctions? The bottom line... if this rant even has one: Freenet looks like a pretty good system, at least the start. I'd love to use something like it to store code and documents for distributed work across the web (it wouldn't be that tricky to build a versioning system on top of it). But I think it's pretty likely to cave under the load of mp3s and isos. Not quite the the right model.

Slashdot Top Deals

Harrison's Postulate: For every action, there is an equal and opposite criticism.

Working...