A lot of you discuss the perfect P2P system/protocol. If possible (not very technical), the ultimate would be one that acts like BitTorrent, mixed with the anynomity of Freenet
http://www.freenetproject.org. That way no one knows who has what data, and people could download freely, since no one knows what data clients are downloading. This would however require fast connections from a large number of users before it could work seamlessly.
Still, I think we may have reached a milestone with BitTorrent. While some P2P programs like KaZaA, Limewire, eMule, etc. might offer better speeds, BT has one advantage I like a lot: I get to choose.
Search for "Britney Spears" on KaZaA and you might get a million hits, with a quarter million fakes in between. If I go to torrentbits.org and choose a download, I know what I'm getting. Of course sites such as Suprnova.org spoils this feature a bit, since they tend to put up everything (you might get a wrong language or a wrong file alltogether, just as with KaZaA), but then again, I can choose not to use Suprnova.org and merely look for torrents where I know I will get the real files.
At the same time, BT is the only protocol encouraging sharing. Back when I used Napster and all the P2P programs that followed, I probably had a sharing ratio of 1 to 10000. Now, it is probably 1 to 2, and the only reason for it not being 1:1 is partly because of my poor connection. Furthermore, sites such as Torrentbits.org reward users with ratios over 1.05, which means you actually have to go beyond just downloading the file, you have to keep sharing it.
The problem in this case is not the system - it is the users.