View Full Version : What Makes a Good P2P Network?
View Full Version : What Makes a Good P2P Network?
Hornet
December 7th, 2004, 03:50 PM
Are there any general principles that govern how good a P2P file sharing network is?
What should developers consider?
I thought about it and read a few university papers on the subject and have come up with the following three simple rules.
1st Law of P2P File Sharing:
Every bit of data downloaded must have been uploaded.
So overall no network is faster than any other as uploads must equal downloads on any network. Multi-source / swarming by itself does not increase download speed.
Networks that have high download speed have a greater number of users that upload more than they download.
For example, the majority of Bit Torrent users feel that they should at the very least maintain an upload/download ratio of above one for every file they download even if they can download faster than they can upload. This leads to faster downloads for everyone.
2nd Law of P2P File Sharing:
The size of a network’s user base is indirectly and inversely related to download speed.
Networks with large user bases have slower downloads than small ones.
The majority of files on a P2P network are provided a small minority of enthusiastic users who often join networks early on.
As the network becomes more popular it attracts a greater proportion of users who want to download files but who don’t have the technical skill or motivation to provide files to the network.
Law one states that uploads have to equal downloads, therefore downloads slow as there are more users demanding files without a corresponding increase in the number of users providing files.
For example, the ed2k network, a very large network, is often slower than say a DC hub which has a smaller user base of enthusiasts.
3rd Law of P2P File Sharing:
The more upload bandwidth donated by users of a network then the faster that network.
It is often social pressure or a technical feature of the p2p file sharing application that ensures that users donates a high proportion of their available upload bandwidth to the network and that they don’t leach.
For example, leachers on Winmx often receive messages telling them to mend their ways. Many DC hubs have rules to discourage leachers from joining. To download on Bit Torrent you have to upload.
Obvious?
Common sense?
Right or wrong?
Do you have anymore?
metale
December 7th, 2004, 05:21 PM
mmm..
i dont know....
what makes good a p2p net??
Users/speed/files/security
Im not totally agreed with the 3rd rule...
the speed of a network, includes upload and download speeds...
notbob
December 7th, 2004, 05:27 PM
not you
i smell a ban cookin', and ooh it smells sweet
Hornet
December 7th, 2004, 05:28 PM
Good comments metale.
Are there any p2p networks where users download more than they upload in total?
Hornet
December 7th, 2004, 05:33 PM
not you
i smell a ban cookin', and ooh it smells sweet
Kind of you to say so notbob but what about the laws of p2p - I got most of them from you :heart
Hornet
I am also a happy guy :blah
The Hunter
December 7th, 2004, 05:43 PM
Lets just keep this on the topic of development and everyone will be happy folks.
Siskabush
December 7th, 2004, 05:44 PM
Hmm, what makes a good P2P network.......Man, its bloddy obvious there.
No crapware
Large user base
No fake files
So unless you have loads of time and cash + find a way to keep the RIAA/MPAA out + develop something different from the hundreds of P2P networks out there, It wont make a good network.
Look at the fall of Kazaa and the rise of BT and Edonkey for examples. If you can make something like that with new features, then you will have a successful network.
The Hunter
December 7th, 2004, 05:50 PM
Anonimity would be nice, but most of all is speed. For me no speed, and it wont be used. Right now, Im getting great speed, and good file hashing, with a minimum of fakes.
notbob
December 7th, 2004, 05:56 PM
Large user base
a large user base is meaningless if none of them share, or all of them share garbage
(take a look at winmx and kazaa)
good p2p=good users, and that's it-if you don't have good users with good files, you have nothing, and it doesn't matter how fancy your gui is or what features you cram in, you can't make up for bad users
The Hunter
December 7th, 2004, 06:06 PM
The gui means shit to me, as long as its basic, and does the job. I hate fakes, and users that dont share. Skip any of the glitz, just give me my files. Also a bandwidth throttle for me is nice, a good thought is one that has the uploads, and downloads porportianally (spelling) connected. IE you throttle back your uploads, the downloads are automatically throttled back also. that would encourage sharing.
Hornet
December 8th, 2004, 12:50 AM
a large user base is meaningless if none of them share, or all of them share garbage
(take a look at winmx and kazaa)
good p2p=good users, and that's it-if you don't have good users with good files, you have nothing, and it doesn't matter how fancy your gui is or what features you cram in, you can't make up for bad users
I thought I would never see the day but I agree with you 100% notbob goodp2p=good users that was my law 3:
3rd Law of P2P File Sharing:
The more upload bandwidth donated by users of a network then the faster that network.
But you've put it better. :)
What about the other two "laws":
1st Law of P2P File Sharing:
Every bit of data downloaded must have been uploaded.
2nd Law of P2P File Sharing:
The size of a network’s user base is indirectly and inversely related to download speed.
Networks with large user bases have slower downloads than small ones.
moneoa
December 8th, 2004, 01:06 AM
ease of use, content, swarming for optimal downloading
Afn
December 8th, 2004, 06:31 AM
ease of use, content, swarming for optimal downloading
Very good, yes and add ratings. Ratings and comments offer a good indication if a file is worth the time to dl.
MushroomheadXIII
December 8th, 2004, 06:47 AM
I don't care about the # of users, enough/reasonable amt. of music - only the genre which i like. Ok download speed, movies would be good because i only get em off bt nowadays. Real files, i never really run into fakes but that' s because i dont download all that newage stuff.
AussieMatt
December 8th, 2004, 07:51 AM
A distributed website embeded into the app.Then the **AA's have to take down the whole network instead of just one IP.Searchable hash databases and forums could be set up within the network.
If its a open source app everting like CVS ,Sourcecode bug reports ect should be hosted on the network and not on one central server.
Hornet
December 8th, 2004, 09:14 AM
A distributed website embeded into the app.Then the **AA's have to take down the whole network instead of just one IP.Searchable hash databases and forums could be set up within the network.
If its a open source app everting like CVS ,Sourcecode bug reports ect should be hosted on the network and not on one central server.
Aussiematt do you mean distributed website like freenet or winny or am I on the wrong track?
Malicious Intent
December 8th, 2004, 10:52 AM
lol Hornet - You clearly dont know Aussie well if you don't know what he i getting at!
Lots of private BT trackers, such as TorrentBits, try to force users to upload more to the network than they download. They threaten to cut people off and build a general fear of leeching. Such trackers encourage people to share the file mulitple of times, but that enivitably means the last people to join are going to be screwed with no one to upload to.
That is the closest you will get to rule 3 being broken.
I would disagree with the idea that the bigger the network the slower the downloads. Although the rule stands up to general scrutiny, it isn't inevitable. BitTorrent for example may have the most users, although it is impossible to measure. Even so, it is by far the fastest. I guess that you could argue that BT is lots of little networks, hence proving your point. Even so, the enthusiast arguement doesn't hold water.
AussieMatt
December 8th, 2004, 11:46 AM
I mean a website that is hosted on every node and updated like gnewgoups or similar .
notbob
December 8th, 2004, 12:10 PM
I mean a website that is hosted on every node and updated like gnewgoups or similar .
redundant garbage like that adds nothing to p2p
all you need is a way to connect like minded, good people together. redundancy, wasted bandwidth, and other "anonymity" features just detract from the total experience
Hornet
December 9th, 2004, 01:25 AM
The 3 laws:
1)downloads=uploads
2)big networks have more leechers
3)good users=good p2p
lead to some surprising conclusions:
1)Swarming and multiple source downloads DO NOT increase the speed of total network downloads as downloads=uploads. It just increases queues so that users now wait longer before a download starts. OK then when download starts it is faster for that user. However, swarming and multiple source downloads for popular files does make better use of providers(good user) bandwidth so it needs good users to make it work.
2)Most p2p file sharers are LEECHERS (download more than they upload). Sure it's called file sharing but if the majority of files on a network are provided by a small minority of users (especially on big networks) then most users are leechers.
So taking the above into consideration a good p2p network needs to be like a DC hub or WinMX chat room, small with good users who provide alot of files and populated with users that you know.
Hornet
Malicious Intent
December 9th, 2004, 06:33 AM
1) I can see where you are coming from, but no.
Swarming means that people upload completed chunks of an incomplete file. By a network having swarming, you increase file availabilty and hence speeds. Imagine if on BitTorrent there was no swarming. It wont matter how good the users where, you would have to wait for someone else to complete before you can begin. In turn, it is later until you have completed the file and so longer before you are another source.
Your swarming comment is therefore wide of the mark.
As for multiple sources, that may be good in theory, but poor in practice. This would mean network stability, which we know networks do not have. Furthermore, it relies on fast upload speeds. How many people here can put up their hand and say that they upload as quickly as they download? Most connections dont allow it.
Users therefore need to spend more time uploading than downloading, and downloaders need to use multiple sources to max out their connections.
2) BT Hubs and chatrooms are elitist, which file sharing is not about. It isn't about small clubs with closed doors. That is no way to maximise the distribution of files or encourage the growth of p2p.
In both cases, BitTorrent does not only prove your rules wrong, but it clean blows them out of the water.
notbob
December 11th, 2004, 12:28 PM
[DC] Hubs and chatrooms are elitist, which file sharing is not about. It isn't about small clubs with closed doors. That is no way to maximise the distribution of files or encourage the growth of p2p.
as opposed to what alternative? public p2p composed of 80% non-sharers? while dc may seem elitist to those unwilling or unable to share the minimums, once there, you will find hubs of 100 people sharing more stuff than you can get from 1000000 users on winmx, edonkey, or kazaa
if "maximising distribution" means sharing everything you have with strangers who share nothing, then i guess most public p2p has that covered
as for public BT, that's a leech fest too, as much so as kazaa thanks to idiot proof websites like suprnova--the private trackers have dozens of seeds, even for files that are months old--why? conscientious, good users that want to share--the same kind you call "elitists" in dc hubs
Malicious Intent
December 11th, 2004, 07:06 PM
Fact is, for all its faults, Suprnova does work. A fear of leachers on the network is unhealthy as there is plenty of available bandwidth to go round. Furthermore, todays Suprnova hit and runners are tomorrows releasers.
As the rule rightly states, download:upload = 1. Under your theory, the current major uploaders must be at fault for uploading multiple copies, as this denies others the chance to upload their fair share. There are dozens of seeds for old torrents on private trckers. However, these torrents should have died ages ago - that is the way BT works so well. Everyone downloads/uploads one file, then they move onto the next. Forcing people to stay on dead torrents for fear of their account solves nothing.
Torrents last long enough for those who use BT casually, but not so long that momentum stops.
It's all fine for us to sit here and say everyone should behave like us, but not everyone has our connections, our collection of files, or our time for file sharing. Everyone has to start somewhere. Imagine that starting point is a DC hub requiring 100GB of material, or a chatroom where everyone thinks you are an RIAA agent.
Release groups let us have the files with no strings attached. We owe it to them at least to keep the good spirit going.
A good p2p system should be fast and open to all. Suprnova fills this requirement, Ares fills this requirement, hell - even Kazaa would fill this requirement if it wasn't for other factors.
Siskabush
December 11th, 2004, 08:52 PM
The gui means shit to me, as long as its basic, and does the job. I hate fakes, and users that dont share. Skip any of the glitz, just give me my files. Also a bandwidth throttle for me is nice, a good thought is one that has the uploads, and downloads porportianally (spelling) connected. IE you throttle back your uploads, the downloads are automatically throttled back also. that would encourage sharing.
I couldnt agree more.
WinMX (Back in 2002) had shit for a GUI, but damn, good quality files, really fast speeds and not too many leechers.
But all the 2nd generation P2P apps are going down the drain.
Notbob - True, you need a way to enforce sharing like BT does, or you will be overrun by leechers.
Malicious Intent
December 12th, 2004, 06:31 AM
Limiting download by upload can be a good idea. It works against the no need for swarming though, as it would otherwise reduce the number of available files on a network. This in turn reduces the available upload bandwidth.
Eg
Seed: Upload 64
Leech1: Download 32, upload 16
Leech2: Download 32, upload 8.
Time to download file at 32kb/s = 5mins
No forced limits:
Both leeches download at 32. 5 mins later, available bandwidth = 64+16+8 = 88kb/s
With forced limits:
leech1: Download 32, Upload 16
leech2: Download 16 (forced), Upload 8
5mins later, leech1 has finsihed, leech2 is still going, using 16kb/s of seed's bandwidth.
Available bandwidth = 64-16+16 = 64kb/s
There could be an arguement that every network will have enough demand to zap up seed's bandwidth, but if everyone is seeding to avoid limits, i.e. upload of 0 forces a download of 0, then there will be plenty of bandwidth.
notbob
December 12th, 2004, 08:12 AM
Limiting download by upload can be a good idea. It works against the no need for swarming though, as it would otherwise reduce the number of available files on a network. This in turn reduces the available upload bandwidth.
except for in real life bit torrent has a choke function where you can snub people, cutting them off from download, or you cxan set those things for max d/l and u/l, and then use netlimiter to disable your upload
leeches are going to be leeches, and with the exception of policing the shares (like dc) or forcing a 1.0 ratio (like BT) they are going to exist no matter what you hard code into the system
Malicious Intent
December 12th, 2004, 08:24 AM
BitTorent has swarming. My point was that Hornet said there is no need for swarming.
BitTorrent either uploads to someone or not. Downloads get faster the more you upload as you are uploading to more people, not because you are uploading quicker to them. Azureus is the only client which has a "you are uploading at this speed, so you can download at this" policy.
notbob
December 12th, 2004, 08:34 AM
if you subscribe to the idea that all users are good users, public p2p works
but that is not the case in real life--some people are ignorant, some are paranoid, and some are just jerks, none of those groups share, and are therefore not good users, so public p2p will not work as long as they are included (so the only way public p2p will work is if it becomes private and excludes them, therefore not public)
Malicious Intent
December 12th, 2004, 09:09 AM
Not all users are good users, but public P2P does work. SuprNova works.
Perhaps the system can be improved, but I don't believe that we have seen a system that works any better yet. EDIT: Public P2P, not BT being used with SN.
A good user is someone who gives to the community what they can. Until there is a way to distinguish between those who can't and those who wont (and wont ever change), there is no anti-leech measure. We don't know enough about users to pass judgement.
For us to have these files, people went into the cinema with a camcorder, or work in the cinema and paid for and hooked up TS/TC equipment. Alternatively they take time out of their lives to rip and crack games and software. They then release it to us, without asking for the same in return. Next thing people start to act like it is their file and are in some sort of position to say who is and who isn't worthy of having the file. pfft.
notbob
December 12th, 2004, 09:33 AM
For us to have these files, people went into the cinema with a camcorder, or work in the cinema and paid for and hooked up TS/TC equipment. Alternatively they take time out of their lives to rip and crack games and software. They then release it to us, without asking for the same in return. Next thing people start to act like it is their file and are in some sort of position to say who is and who isn't worthy of having the file. pfft.
those people aren't special
anyone can rip their satellite feed to a hard drive, rip cd collection, dvds, rented or library cds dvds etc and make just as big a contribution
those are good users
people in "the scene" do it for the attention (hence the filenames giving themselves credit), and they only release them to bloat their egos. they aren't heroes, they're zeroes. other than getting attention, they couldn't give a crap if the common user got their files (and would probably prefer that they didn't)
AussieMatt
December 13th, 2004, 07:05 PM
Not Bob I wasnt talking about a annonymous client but definitly a distributed one so all content like forums ,websites ect are not on a central server and are mirored on every node and content is authenticated with a secure key .
Seems you have a anti-annoymous p2p agenda if you keep bring it up in posts that are not even related to it .
notbob
December 13th, 2004, 07:26 PM
Not Bob I wasnt talking about a annonymous client but definitly a distributed one so all content like forums ,websites ect are not on a central server and are mirored on every node and content is authenticated with a secure key .
Seems you have a anti-annoymous p2p agenda if you keep bring it up in posts that are not even related to it .
if you had the ability to read, you could see that i'm anti lots of stuff
anonymous p2p right now is a tremendous waste of resources--maybe later, it won't be, but right now, it's the way it is, in the same way that providing leeches with files is a waste of resources
crackerjacker
December 13th, 2004, 08:35 PM
hmm
anoymous p2p is not the future, ok if u have are connected to a node, that is supsosely proxing data to someone else, that person who susposely is proxying the data is liable for the file infringement, which is a known fact.
p2p is not regulated with its decentralized manner, and as far as i can see it wont matter.
proxy tunneling and what not, is not that new, its daising changing proxie, upon proxy to seem like it keeps one anoymous, but at what stake? itsn not anoymous only because the orignal proxy is going to keep a log of the internet connection.
so hence
proxies are slow, and not anoymous
thanks for your time
Afn
December 14th, 2004, 05:31 AM
hmm
anoymous p2p is not the future, ok if u have are connected to a node, that is supsosely proxing data to someone else, that person who susposely is proxying the data is liable for the file infringement, which is a known fact.
p2p is not regulated with its decentralized manner, and as far as i can see it wont matter.
proxy tunneling and what not, is not that new, its daising changing proxie, upon proxy to seem like it keeps one anoymous, but at what stake? itsn not anoymous only because the orignal proxy is going to keep a log of the internet connection.
so hence
proxies are slow, and not anoymous
thanks for your time
Internet2 may make daisy chaining, tunneling and hot potato networks useful.
I just read Google is going to start digitizing academic library content en mass. For the smart developer, thinking about something other than files and logical configuration of your network might be the quickest route to a new form of decentralized file sharing that beats the hell out of proprietary systems.
eclectica
December 17th, 2004, 06:49 AM
What makes a good p2p network is being able to find anything you are looking for. A person who shares 50 rare files brings more to a network than a person who shares 1000 popular files. You ought to consider that when determining who is a leech or not. Richness of content is more important than speed. I would rather be on a slow network in which I can find everything than on a fast network in which I could only find half the things.
I think eMule gives priority to rare files in the queue; I don't know if any others do that.
Watchmen
December 17th, 2004, 08:25 AM
What makes a good p2p network is being able to find anything you are looking for. A person who shares 50 rare files brings more to a network than a person who shares 1000 popular files. You ought to consider that when determining who is a leech or not. Richness of content is more important than speed. I would rather be on a slow network in which I can find everything than on a fast network in which I could only find half the things.
I think eMule gives priority to rare files in the queue; I don't know if any others do that.
That's subjective. There is no common standard or accounting for taste.
Hornet
December 18th, 2004, 04:36 PM
That's subjective. There is no common standard or accounting for taste.
I agree - different people, different needs so different p2p applications.
In the end there won't be just one network.
A good p2p network for me is one with great content that is accessable.
So it needs to be fast like Winmx when used properly and below the RIAA/ MPAA radar so not Kaaza.
Also, it must allow me to share my files easily and safely.
As its called file sharing not file grabbing.
Do most people only want free stuff?
Is it just about free stuff?
About how quickly and how fast you can ge free stuff?
Hornet
WillemB
March 25th, 2005, 11:39 AM
I posted a topic on incentives. Incentives is the future. Incentives can be money or reputations or whatever to movtivate a user to upload.
For example:
If you upload you can download 2x as fast .... I'd be uploading
Well those are incentives and Bittorrent is using that in 2-way-same-file transactions.
Hornet
March 25th, 2005, 12:34 PM
WillemB are you going to post a paper about incentives. If so this would be very interesting.
I agree that incentives are central to the operation of P2P networks.
Hornet
WillemB
March 25th, 2005, 03:34 PM
WillemB are you going to post a paper about incentives. If so this would be very interesting.
I agree that incentives are central to the operation of P2P networks.
Hornet
Yes i'm playing with certain approaches to the problem but have found one bastardly ugly loophole which is a pain in the neck. (is solvable)
Only been experimenting in my head with approaches and currently got some on paper.
Current idea is to use servers as in emule which hold ratings of the resources and smoothing the search to semi-centralized. Also the servers will maintain upload vs. download ratios to measure participation. First idea was to make these static but i'm leaning to session based which means the ratio will only live as long as your connected to the server, this simplifies things a lot.
The better your participation ratio the faster you download (better queue positioning).
The ratio will work as the incentive.
Transaction will go as follows with the server as 3rd party.
A Tells server S that A uploaded a chunk to user B given key K
B Comes to server S to claim the key K from user A to be able to decode the chunk
Server S will now upgrade the upload count of A and upgrade download count of B
Server S now gives B the key.
Here is how the incentive works.
A wants the upgrade to get better downloads so it gives the server a key
B preferably doesn't want to tell the server but has to otherwise the chunk is useless so it complies.
S has no reason to stop this transaction or to falsely update ratios.
A and B agree to the transaction and the real participation is known. If one of the 2 or both don't cooperate all will be fucked and nobody gains (A uploaded crap for nothing, B has crap).
Both happy and cunningly the transaction is encrypted. Encryption doesn't have to be full blown SSL with AES512 or so ... just enough to make it much harder than being honest.
The good thing in my approach is that it does allow freeriders but does not give them good DL's if everyone is uploading. If all are freeriders all will be equal. No people will be locked out. All people supplying to the network will gain more from it.
Hope you get the idea