View Single Post
Old 10-07-02, 08:10 PM   #1
alphabeater
Registered User
 
Join Date: Jul 2002
Location: uk
Posts: 97
Default a new p2p structure

yeah, i know i'm new here, but this seems like a place full of people who both use and understand p2p programs, and i've been meaning to write this down for a while, instead of just leaving it forever as a loose collection of thoughts.

anyway, there are two programs that i am very fond of, and that i've been exploring a lot recently.

the first is msn messenger, which i can use to chat with friends i met back in the days of napster and managed to get contact info for before the shutdown. the second is winmx (the opennap section of it, anyway), which i have found to be a neat community of music lovers where most other p2p programs nowadays are just 'leechware' - ie. no communication between users, just a free-for-all where you can download most files you can think of.

i've thought about this a lot, and central to the problem seems to be the idea of having a verifiable and locatable identity. on msn, you have a hotmail address, problem solved, and on napster you had a username. while you have identities on networks like winmx and kazaa, they are not locatable across the entire network. the number of kazaa users who ask 'how can i find my friends on kazaa?' is amazing, and the answer (which you probably know) is that you can't.

winmx is, in my opinion, superior to kazaa, in that you can have multi-user chat communities and, as long as you are all on the same server or server network, you can find your friends. however, opennap servers are hard to set up, usually full and large targets for anyone wishing to shut them down.

gnutella and kazaa solve this by introducing the idea of a 'servent' - a combined server and client. multiple servents connect up to form a decentralised network. however, on a decentralised network, verifiable identity cannot exist almost by definition - it would require central servers of some type. while kazaa and gnutella allow you to get the files you want, it is only from a swarm of ip addresses or easily-spoofable nicknames - never a proper community.

i spotted that there could be a crossover between the network models of kazaa, gnutella, opennap and msn. to explain myself, msn and opennap both have verifiable identity lists. for msn, this is the hotmail address, but for opennap it is the domain (or subdomain and domain) of the server. i realised that the reason opennap is an easy target is the low number of servers, but that this could be addressed by making everyone into something similar to an opennap server, with their own domain - an opennap servent, if you like.

sites like no-ip.com, dtdns.com and loads of others give away (sub)domains which can be updated using a dynamic dns update client. this would mean that even non-static ips (dialup) could use the network easily.

the ideal layout for the servent, i think, would be something like msn messenger - that is, a contact list listing domains. this would be much like the ones you can download for winmx, except that you would compile it yourself, and it would be a list of your friends (or 'contacts') in the network. you would be able to send an im to any of these contacts and have a conversation in instant messenger style, and then choose the ones you like best (or the ones with the best connections, more likely), to use as 'peers', ie. connect to and join the p2p network. the network from there on could work much like gnutella, with search messages being forwarded between servents with a ttl.

this system would be a little more work for users, but would allow them to move from a decentralised, automatically-organised network (kazaa, gnutella) to a decentralised but user-organised network. this would have the effect of introducing the much-hyped concept of a 'web of trust' into a p2p network, as well as testing the 'six degrees of seperation' theory in a new way. it would also be the proper integration of im and p2p, two technologies which i feel are very close but have never been introduced properly.

ok, i'm done rambling (for now), sorry if that was all a bit of a mess but i'm having trouble articulating all the stuff that's going on in my head. if you've read this far, please tell me what you think and what your ideas are on the subject, it might help me out here...
alphabeater is offline   Reply With Quote