Peer-to-Peer Overview
An anonymous submitter sent in: "New Scientist has an interesting feature on peer to peer systems, taking a less copyright orientated approach, and going into some technical detail about how the various P2P systems work and compare to each other."
You are one sick puppy. Seek help, please.
The claim that P2P would be great if only the systems would interoperate really doesn't bear much scrutiny, TCP/IP is often the full extent of what these systems have in common. This isn't a flaw, it is a simple fact.
--
I'm just making a wild guess here but the admin must have seen the /. article and pulled the cord or something.
-You'll never get me evil slashdotters, muawahahahahahahaha!
John Carmack fan, browsing at +5 since 1999.
It starts with a breirf history of P2P systems (focusing on the modern music sharing ones).
It then goes on to talk about Gnutellas technological downfalls. The main part of the artical is taken up with the method that by which freenet works
Its a good articale that talks quite a bit about the technologys and only breifly touches on copyright issues.
callum
Freenet is anonymous, it's archetecture automaticly does proxying and multiple layers at that. While the first node you connect to can figure out who you are they can't easilly determine if you initiated the request and any nodes down the further down the chain don't have a clue about who you are. Unlike Gnutella when a Freenet request is fufilled the requesting node doesn't directly connect to the node that has the data.
Secondly by creating many copies of popular data you are decreasing the amount of bandwidth used in exchange for increasing the amount of space used. Say you have a popular site in Europe that's getting lots of hits from the US. Without Freenet every time someone in the US wants the data their request has to go over congested international links, very wastefull that. With Freenet a copy of the data, probably many copies in fact, would soon get stored in the US reducing the load on those slow international links. Even though the data has to go through many nodes in between, and has multiple copies of it made, you still get a significant savings in bandwidth usage. And any copies made while en-route are likely to be used again by other people because those copies are by-nature "close" to the keyspace that node serves.
Ever heard of Akamia? They do essentially the same thing with their network to reduce the load on sites around the net.
Now currently Freenet doesn't do a very good job of this because it doesn't take network speeds into account when choosing nodes while routing messages. But it will be quite simple to add support for that and will be done after a few more releases.
Interoperability is a good goal in general terms, but there is nothing about P2P systems which makes them more in-need of interoperability than any other software. In many cases, TCP/IP is all the interoperability they need.
--
--
Er? Am I missing something here? Isn't "The Internet" already a peer-to-peer network???? Hasn't it always been????
--
There's another important reason: if a node can go down at any time, then it doesn't matter if I wish to run a server on my desktop. Gnutella lets me share files (many of them legal), while only remaining connected for a few hours or days at a time. If I go down, then someone else (hopefully) has the data also, so it can still propogate. P2P in its current invocations doesn't allow nicely published pages, because the clients are intended to download a single file, not a collection thereof. There are cases where I would like to be able to share my (legal) music and videos that other people want (and they do), without having to find a way to provide a server that is up 99%+ and has sufficient bandwidth for all requests. P2P provides an answer, provided other people provide mirrors (something I try to do). Also, the mirrors are so easy to create -- just download the file and *poof* there it is.
While we're waiting for the article to come back, take a look at this site about p2p, this article with statistics on gnutella and links, and of course this list of p2p clients. There might be some interesting things in this slashdot article. And yes I am a filthy karma whore, and no I have no shame whatsoever.
How to make the successor to Napster
Most people don't realize that what made Napster successful was not its network protocol or its technical sophistication. Ease of use made Napster, and ease of use will make or break every P2P system. For a P2P system to work and be useful, it has to be simple, easy to find, easy to install, easy to use, and easy to upgrade. Why upgrade? Because upgrades will be necessary to combat "blocking" technologies instituted by ISPs.
The way to accomplish this is not to write yet another Gnutella or OpenNap or Freenet or Blocks client. There are enough of these today. The solution is not necessarily to create new protocols--too many protocols, and your average Joe won't know what to use or why. Furthermore, you open yourself to liability if you do so, as described in this excellent white paper from the EFF.
The solution is to write a generic P2P interface. Make it extensible via protocol plugins. Users should be able to type in one search query, and have it search OpenNap, Gnutella, and Freenet simultaneously, and display all the results in one window. Plugins should concern themselves only with the P2P protocol, and with comforming to some standard interface.
Do not write both the plugins and the interface yourself. Obviously, a GUI that does nothing by itself is not an infringing device. Better to compartmentalize things and make it harder for people to be hit with absurd lawsuits. Furthermore, the programmers who tend to be good at network protocols are generally not so hot at GUI design, and vice versa.
Try to keep the plugin architecture very cross-platform. Ideally, plugins would be totally portable code requiring only a recompile (even when going from Windows to MacOS, for instance), or--better yet--would just be a bunch of specs in XML format.
Set up a mechanism that allows updates to be distributed via the P2P network. Obviously, some sort of signing/verification will be required to reduce the risk of trojans. Still, the goal should be to make it almost transparent for novice users to add support for new protocols. If it becomes easy to implement, distribute, and adopt a new protocol every month, it will be impossible to stop P2P. Updating the GUI is less important--it's the protocols that have to change.
Conclusion: What this will do is create a highly adaptable, fault-tolerant, lawsuit-resistant network that is easy to use. Why have I placed so much emphasis on ease of use? Without a large userbase, you're nothing. A P2P network is only as good as the libraries of its users. Why is this network so adaptable? Suppose one or two protocols get shut down or blocked or whatever. Someone creates a new protocol, writes a plugin, distributes it by one of the remaining channels, and we're back in business. Finally, the system also encourages modularity and code reuse, which is A Good Thing.
By the way, if you can't figure out why I'm anonymous, you haven't been paying attention.
19021312
To simplify coding it he/she/it could have suggested...
So the question really is, what do ptp and central-index, and node by node file sharing have in common.
This should be really useful for downloading free software public domain type stuff too. If not it will be a short conversation when intent becomes a topic in the court.
slanted soapbox, preachy rant type thing
One could look at the litigation and destruction of napster as the dumbest thing corporate media ever did. All those users were going to one place, and may-not have-ever-known they could learn a new interface... but they will know now. When the RIAA goes after the next target making the next switch will be much easier for those millions of users. It might be as easier for techie types to adopt an ex-napster user who is wandering the streets like a lost dog, and show them 2 way nature of the internet. After all not ALL musicans are/want-to-be RIAA and for them this kinda sucks.
Ex-napster users have been unAOLified. awoken from their clicky-clicky bad dream. I haven't met anyone who is a born again AOLer, have you?
End rant type thing
Novel theory: Modern Man evolved from psychopath
None of them are as fast, easy to use, or reach 1/10th the number of people that napster does. I believe the solution, at least for the short term is not to create new protocols from scatch, but rather to make the napster protocol itself more distributed.
Rather than having centralized napster servers which can easily be shut down, it would be ideal to have linked servers that not only can share the load, but will propogate the index of the other servers. Then we need some way to make the napster client aware of the servers and find one at random, possibly through a webpage with an index of registered servers, or by contacting other clients on the network similar to gnutellas node catcher.
The client would also need to automatically jump from one server to another if the server goes down because of connectivity or tragic law suits.
The server could even be built into the client so that you can check a box and start operating as a server which would publish your ip to others on the network. Once there are suffcient numbers of napster client/servers out there and changing every hour it will be very very difficult to shut down, and for the average user, they can just download the new client and it will work as it always did.
Napster should abandon their filtering direction and release this type of distributed, fail-over, server as open source along with the matching client. Once its in the wild they can shut down their own servers and just host the napster webpage. They can still enjoy millions of hits to their site, with no libability of running the napster servers.
I suspect even the RIAA won't be able to get a restraining order against a software company to make them stop creating software. Other wise netscape/ms/apache and any other software that allows computers to communicate is next.
So please, before we abandon the well known napster protocol, let's slightly change it to be more resistive to attack. Opennap may be headed in this direction but until i can visit their page and see 10,000 opennap servers all listed and linked together, they're just inviting themselves to another lawsuit.
FYI, O'Reilly recently had a big P2P conference in San Francisco, you can find out lots more information on P2P, especially on who all the current playing in the market are and what they are making, here.
- "When you want something with all your heart, the entire universe conspires to give it to you" -Paulo Coelho
apparently we have been stealing from the companies that charge 14.99 for a cd that costs them about 50 cents to package and market.
It costs more than that to market a CD. It costs to record the music, it costs to license the samples used on the CD, and it costs to produce promotional tools such as a website or music video.
Napster is going down for all the wrong reasons.
The "wrong reasons" you're referring to include the fact that recording artists who publish their work for a free download have a very hard time getting their work on mainstream radio thanks to under-the-table payola systems that the RIAA and NAB maintain.
All your hallucinogen are belong to us.
Will I retire or break 10K?
And if you are looking for a good p2p don't forget to check the resources page. Thankyou.
_ _ _
I was working on a flat tax proposal and I accidentally proved there's no god.
I am have yet to see the article, under 3 different browsers...
between that, and the unusual number of drunken trolls... I think I'll wait wait until morning before trying to making a comment.
New scientist usually does good articles, even if a little light in content (no more that a dozen paragraphs or so).
Should be interesting.
"It is a greater offense to steal men's labor, than their clothes"