Creating a successful peer to peer filesharing network involves one simple concept: user sharing. Consider two opposing examples of peer to peer networks and their varying success rates. Everyone has heard of Napster, the MP3 sharing program. Napster has enjoyed great success (at least as far as its effectiveness at locating MP3s is concerned). Compare the success of Napster to Nullsoft's Gnutella filesharing program. Gnutella is a much more theoretically interesting and distributed peer to peer model. Because of the difficulty in blocking its protocol and the vast diversity of files which can be shared through it, Gnutella should be an amazing file searching utility capable of locating most common files easily.

Why then is it that Napster searches return more numerous, accurate results from better hosts than Gnutella does?

Napster acheives its high rate of user sharing participation by automatically sharing all files downloaded. Sure you can change the sharing and download directories to alternative locations, but most users won't alter these settings. Furthering the encouragement of the user to keep all of his MP3s in the shared music repository is the fact that Napster includes a built in MP3 player and music library manager that cooperates best with the default download location and sharing scheme. By making it easy for users to keep their downloaded music archives in the shared folder, Napster (perhaps inadvertantly) creates higher user sharing.

While some may argue that the core of Gnutella's problems lay in its unscalable protocol and hodgepodge of client software, I assert that the primary reason successful searching on Gnutella is so difficult is its lack of sharing encouragement. Because all file types are shared on the Gnutella network, great difficulty arises in encouraging users to leave their downloaded files in their public folder. Throwing up its hands when confronted with this daunting effort, Gnutella includes no file viewing or download management features. This results in users simply moving their downloaded files to private folders where they can implement some kind of organization scheme on their own.

We've now established that the core focus of any public peer to peer filesharing system has to be encouraging user sharing participation if a successful network is to be created, but let me be clear that forced sharing is rarely successful either. You may note that the least popular servers in the Hotline community are those which require upload to download ratios. FTP servers with similar requirements are also becoming less used as the masses flock to Napster's superior searching capabilities and relaxed download requirements. Forced sharing is simply unacceptable to the vast morass of dial-up users who cannot justify doubling their already lengthy download times by piping up a sizable upload. Broadband users who can upload megs in minutes might write off such a time loss as negligible, but everyone else sees it as a major headache they'd rather avoid. The obvious compromise in this situation is the encouraged filesharing system outlined above.

When designing peer to peer filesharing protocols, it's important to remember two things: most people are greedy and most people are lazy. By harnessing the laziness of the majority of your users it's possible to overcome their greedy nature and create a successful architecture.
Users sharing is very important, but in this day of lawsuits and RIAA-induced paranoia, one of the requirements future p2p file sharing protocols will need if they want to be succesful is anonymity. Today, the chance of getting caught and sued is pretty slim, considering the humongous amount of users the larger p2p networks have. And if you're outside the United states, it's even smaller. Still, it's going to increase, and it's enough to scare off many potential users. I've heard it plenty of times: "I don't download music because I don't wanna get sued".

Take a look at KaZaA: it's the most used network (although regarded by many, myself included, as a noob's p2p). However, it provides no anonimity whatsoever. Everything's done in plain air, and anybody can swipe an IP number and either ask or threaten the ISP for the user's personal data, or sue à la "John Doe", as the RIAA is starting to do now that many ISPs have taken a stand against them. More obscure networks such as OpenNap are still in plain air, but few worry about them as they're not known enough to attract the kind of attention KaZaA does.

The Direct Connect network provides an additional obstacle for ill-intentioned lawyers/organizations, as you have to get through the hubs to hit the users. This means more lawsuits, and most often the hubs all have the usual "you take full responsibility for what you share" disclaimer, which murkies the waters even more.

However, things are starting to move. A recently born p2p called EarthStation 5 provides full anonimity. No public IPs, no way to identify specific users. I don't know whether it'll rise to fame or be forgotten by everybody, but it is a step in the right direction, soon to be followed by many others (hopefully).

My opinion is that this is the future of P2P. Of course, when it becomes a reality, we'll have a dire battle between filesharing networks to keep their users' anonimity and the RIAA (and associates) to crack their security. However, I believe they don't stand a chance, as they've repeatedly shown themselves to be hopelessly lagging behind as far as anti-p2p techniques go (so you get a corrupt file or three when you use KaZaA, big deal). All of their annoucements about horrible malware that gets distributed through KaZaA and erases your illegal mp3s, viruses hidden in the music files (yeah, right), and threatening emails have accomplished pretty much nothing.

We'll wait and see...

Update: Interrobang tells me Freenet has come out with an interesting way to keep the users from being sued. You can still be punished for sharing and requesting files, but it's impossible to prove you did it. I'll add more information soon.

15/08/2005:
Well, a long time has passed, and I never added any information. I'd do it now, if there wasn't a node for that already.
Personally, I have tried Freenet, but I found it impossibly slow, complicated and unreliable. It was, admittedly, a rather half-arsed attempt; I probably missed something, but I didn't feel like going through pages of documentation to get stuff Google already finds for me. Should I ever develop an interest in highly illegal stuff, or should Italy start banning the Internet as South Korea is doing (highly unlikely, but you never know... we are living in a time when most governments would really love to erase any form of personal freedom), I'll probably be far more interested in the project.

Also, it seems my predictions haven't come true. ES5 no longer exists (its website has a pathetic 404 as its main page), and even when it did it was little more than a hoax, leeching p2p services from other networks.

Anonimity in P2P networks still doesn't seem to be on top of the agenda for most of those who are developing such programs. I think this is in part because it's really hard to anonimize file transfers without proxies or other intermediate action, and in part because the RIAA are moving on to other ways of fighting the phenomenon.
Incredibly, they seem to have realized suing single users wasn't doing them any good. They are now trying to "sensibilize" the people about the horrible, horrible crime that is downloading music or movies: I'm sure you've seen those ads after movie trailers in cinemas (to which I usually reply loudly "Nice ad, gonna download it when I get home", prompting laughter from fellow-minded individuals). They are also trying to get ISPs to limit/shut down ports normally used by P2P services. The result is that a single user is even less likely to be sued now.

Unsurprisingly, they are still losing the battle.

Anyway, I guess UberGeek was right all along: what counts most is that users understand the philosophy behind P2P and share as much as they can. Luckily, all serious clients (as in, those using the DC network and eMule/eDonkey) have ways of making it hard to give without taking. Really, when duping the system into letting you download requires you to use hacked clients, fake sharelists, custom configurations and so on, you might as well rip a few DVDs and share them. It'll take you less time and not being kicked/banned every ten minutes from DC hubs is likely to considerably reduce your frustration.

Please /msg me about any misinformation, errors, or anything wrong I might have said in this writeup and I'll correct them as soon as I can.

Log in or register to write something here or to contact authors.