Closed Gnutella System to Prevent Bandwidth Hogs
prostoalex writes: "Salon.com is running a story on Gnutella developers contemplating the creation of a closed or authorization-only system to prevent bandwidth hogging. Turns out, numerous applications, including Xolox and QTraxMax employ quering algorithms that are capable of bringing the network traffic to a halt. While it gets better download speeds for the users of the aforementioned applications, the damage to network traffic as a whole is substantial."
The solution is not authentication - it's building better network infrastructure.
Now would be a good time to plug the free, recently-opensourced Ozone file sharing program. It interfaces with MUSCLE/BeShare servers to allow people to share files without worries of AdWare and SpyWare and junk like that.
:)
Ozone - Available for Linux, Windows, and OS X.
Beryllium's BeShare Server - use "Beryllium.BeShare.Com" inside of Ozone to check it out!
Enjoy
Is anyone else reminded of the book animal farm after reading this article?
Here's a clip from an email I sent sometime ago to someone, it might or might not have something in it, judge yourself.
:)
- the system must reorganise itself automatically based on current
analysis of the nodes available on the network. - the system must have a dynamic trust model, based on "paranoia".
- the trust model must be utilized in combination of other characteristics of each peer(node) to select best population of the nodes as more important servants. Untrusted/neutral nodes are not to be given any crucial tasks. No-one can do anything crucial alone, confirmation for the action must be confirmed from other trusted ones. - All functionality of the network mut be replicable automaticly. Tasks done by any node must be transferrable transparently.
- Weak nodes will not be given any "community work"
- Every node must pass constant quality criteria to be able to perform any actions on the actual network.
Just to mention a few points. In short, anarchy does not work - even in P2P networks. We need a government, but one which is always on move, but still governs population using strict - but adaptive - rules.
The biggest problem with gnutella is not technical. It is that gnutella was invented so that true hardcore underground people such as myself could complete our collection of harcore underground things, such as the entire run of Evangelion. However, gnutella is cluttered with people only interested in Brittney Spears. Here is an idea I first proposed on everything2 for making gnutella less crowded.
Hopefully I didn't put any [] around my words.
Upon returning from China, Gnutella developers have begun contemplating ...
Can I still download my porn?
python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
How about implementing per-node policing using a credit system like gnunet? (http://http://www.gnu.org/software/GNUnet/)
Nodes individually keep track of the behavior of their neighbors. Bad or expensive behavior like out-of-spec activity or excessive querying lowers the 'credit' of the node. Good behavior like answering queries increases a node's credit. Credit determines the probability that a node's queries will be answered or passed along and the priority with which they will be treated. Abusively written clients will eventually be ignored out of the network.
How about enforcing UPLOAD/DOWNLOAD ratios to all users?
So users won't be able to download without contributing to other user...
Heh, actually, I think this could be a good idea. Besides improving overall network performance, these authentication measures could help prevent possible malicious attacks by RIAA bots poking around the network. I don't think we need to worry about any sinister plot to force users to use spyware-laden clients, either. Gnutella is rooted in open-source development and would be just as pissed if that happened if they were in our shoes. They wouldn't let it happen.
Learn to Play Go
There is a P2P network layer called GNUNet. I've studied the papers on it, and the design looks extremely solid and resilient.
I always find it amusing when someone takes a specific implimentation that happens to be similar to a philosophy that they know about, and take that specific example as proof that the whole theory is worthless.
In actuality, gnutella doesn't paralell any serious anarchist philosophy that I have seen very well at all. Most such systems that I have seen proposed generally call for communities of people that work together for benefit of the community and are run by a direct democracy rather than a representative democracy.
In fact anarchy doesn't advocate a state of chaos or lack of laws as much as a lack of hierarchy. It calls for elimination of the concept of "positions of power" where the laws of the land are decided directly by the people themselves and where no person is forced to live by those rules except as the voluntarily accepted price of living within a given community.
gnutella on the other hand is more of a "free for all". More of an "frontier", which isn't very anarchistic at all, as hierarchy is easily created in the frontier, all it takes is a small gang or some guns. Whoever has the most ability to weild deadly power is the top of the hierarchy.
-Steve
"I opened my eyes, and everything went dark again"
I have gotten the impression that these P2P networks are not good netizens. I access the net via a dial-up connection. Within a few minutes of logging on yesterday morning, I found myself dealing with what appeared to be a DOS attack on port 6346 coming from an adsl connection in Lithuania. I have that port blocked, so I was seeing a large queue of security alerts from my firewall. This has not been the first time this has happened with one of the P2P ports. Shto/WTFO?
Wouldn't the better downloading speeds in theory entice new users towards using the network?
Wonderfully said, you have just concisely and elegantly summed up what I have struggled so much to convey to so many like the parent poster. Thank you.
We wave the flag of freedom as we conquer and invade.
Anarchy does not work? Who said this? (I'm not talking about P2P networks)
If you don't have a clue what anarchy is, read the Anarchist FAQ
IIRC, the big players on the Gnutella network at this point (Limewire, Bearshare, etc) are able to exchange version information, and to confirm that version information. If this is true, and it's not possible for a rogue application to masquerade as another servent, I believe it's time to lock abusive servents out of the network. If they aren't playing fair, don't let them play at all. Period.
This means you, XoloX. As well as all the other servents which send requeries at ridiculously short intervals, send download requests tens of times per minute trying to force their way into a download slot, support downloading but not sharing, encourage or emphasize web downloading as opposed to participating in the Gnutella network, etc. Freeloaders are as much a problem as they ever were, but (IMO) only because they're being allowed to be such a problem.
The time has come when abusive servents need to be shown the door. I don't mind sharing most of the time. But when the same asshole is hammering me 100 times per minute trying to get a download slot, or sending the same query every 5 seconds trying to find more sources, my desire to share files goes down the toilet. Something needs to be done.
The userbase of Xolox and QTraxMax doubled today...
While it gets better download speeds for the users of the aforementioned applications, the damage to network traffic as a whole is substantial.
Do you expect the same people who use the network predominantly for breaching copyright to care about the greater good?
The S&P 500 and the FBI's most wanted lists are going to be merged.
I was a part of the Gnutella development clique a while back, and had made a few proposals on improvements to Gnutella clients.
One such proposal, GNL, was to provide a way to define alternate Gnutella networks from the main system, and include ways to limit their behavior. Another proposal, GNV, was a method for administering these networks, and said administration could be performed anonymously.
Many people liked my ideas, until I made the mistake of mentioning that the end result would probably be differentiation of Gnutella into several networks, each specializing in different types of files; it would be like making Gnutella into IRC, with separate server networks providing different flavors of service. I also mentioned that I thought the original Gnutellanet would wither on the vine. They looked on this with horror and dropped my suggestions.
*shrug* I dunno. Considering that, at the time, the Gnutellanet was scaling itself into bloated nonoperation, I thought splitting the Gnet into different specialty networks was a good idea. Clients could even log onto more than one Gnet at a time.
I agree with you that some of the more abusive clients are getting out of control. I don't agree with blocking them outright, though. Gnutella is where it is because it's an open network and an open protocol; I think we have to leave it that way if we expect any future genius to appear on the network. Closing things up and locking the doors, these aren't the appropriate solutions IMO.
I think filtering of abusive apps should be done on the client side of the servent equation. The biggest problems I've seen lately don't involve Xolox specifically, but users of varying servents. People who queue up hundreds of different files to download at a time. People using programs which ignore "Not Shared" or "Refused" replies, and continue to pound my box looking for files that don't exist.
I was out of town for a few days last week (all computers turned off, except for my router box). When I came back, I fired up my Gnutella program. Without even connecting to the network, I was immediately serving uploads. That means that someone was trying to download from me for three full days while a) the files were not shared, b) Gnutella wasn't running, and c) the freaking computer wasn't even turned on! Come on, servent authors: pay some attention when you get "Refused" or "Not Shared" responses. Drop such files from the queue after 2 or 3 failed tries, don't leave them sitting there for eternity.
I want a setting that says "drop all packets from hosts who request a no-longer-shared file." I want a setting that says "drop all packets from hosts who attempt to download while the program is running but not connected to the network." I want a setting that says "drop all packets from hosts who send download requests more than $TIMES per minute." My per-user upload limit is set at 1, so someone queueing up 200 files at a time generates an enormous amount of protocol overhead. It might be 5 hours before that user gets all of his 200 files, all the while he's sending a constant barrage of packets which accomplish nothing.
Gnutella is an open network. Yes, we do need to do something about read-only clients, but I think it should be up to the people to decide what gets done. Provide the users with the appropriate filters and let the majority determine what behavior is good vs. bad.
Shaun
Thanks to the War on Drugs, it's easier to buy meth than it is to buy cold medicine!
It's not like this hasn't happened before.
Sun did it with Ethernet. They set their NICs to use the minimum retry interval instead of minimum + random time like the spec says they must. This got better performance for Sun equipment. Right up to the time where someone put a dozen Suns on a single Ethernet segment and the competition between all of them hammered the network down to 10% of the expected bandwidth.
Various TCP/IP "accelerators" tried this too, by ignoring the exponential-backoff and slow-start parts of the TCP spec. They too improved speeds for the people who used them. Right up to the point where lots of people started to use them, when the competition between them hammered their transfer rates down to a fraction of what's expected.
We've seen it on UDP-based streaming protocols, where lack of flow-control mechanisms causes massive congestion problems and slower transfer rates than when flow-control is applied.
So why didn't anyone expect/predict this when they were designing the Gnutella network and protocols?
...the filters I proposed won't help the bandwidth problem in the short term; such options do nothing about the problem up front but I think they'd have a positive effect over the long haul. Setting my Gnutella program to drop all packets from $OFFENDER doesn't change the fact that they're still hammering me for uploads. However, I believe that such filters - applied in large proportions across the network (say, turned ON by default in the popular apps) - would eventually render abusive servents useless.
If users of Qtraxmax weren't able to search or download with any reliability, since the rest of the Gnutella world was ignoring them for sending too frequent requeries, they'd go away or find a different servent.
Shaun (AC, ain't karma whorin')
Finally the time has come for that guy with the Gene Kan comments to be on-topic! But he's nowhere to be found.
In case it's not clear, I'm trying to be funny.
Raw byte ratios = bad.
You need good administration and tight surveillance of users to make that work as intended.
Neither of which are feasible or good ideas for something intended to be another network layer.
What we call folk wisdom is often no more than a kind of expedient stupidity.-Edward Abbey
I think that the OpenFT project has a lot of potential, it for sure responds quicker and gives you a higher percentage of completed downloads. Gnutella never worked this good for me:
Check it out: A nice comparison of OpenFT, Gnutella and Napster (see section 3)
Stop the FUD.
: //www.linux.org/linux.iso
:P)
:P No longer can they infect files and make them the same file size/file name.
People need to realize that Gnutella is now fastly becoming a big player in the function and value of the Internet.
Gnutella, in my view (and many others), is not a mecca for porn, warez, and MP3's - but a pool where anyone can share any type of file.
A bigger trend now showing up is linking to files on the Gnutella network instead of the common http://site.com/file.zip. How does this benfit you? You get faster downloads by utilizing partial file sharing, swarm downloads, etc. It also benfits servers greatly. They now aren't the only source for the download, because once the file gets onto a Gnutella client, it searches for more peers, and shares the load with them. This can save TREMENDOUS bandwidth.
For example, Linux can link to Linux links as such: magnet:?xt=urn:sha1:(InsertSHA1)&dn=Linux&xs=http
(not an actual correct MAGNET link, but you get the idea)
When someone clicks that, it opens it up in a Gnutella client. It begins downloading from that source, and searching for the same file on the Gnutella network. Through the entire life of the download, it will continue to add sources. You could then be downloading from over 30 people at once, gaining speeds of up to 10MBPS+.
Oh, the power of Gnutella. Can KazAa (FastTrack) do that?! (Well, it can, kind of
Oh, how do you know if that's the correct file? Hashing. Gnutella servents are implamenting hashing now, where each file has it's own hash. So when searching for files, they can swarm you downloads. You are GUARANTEED that all the sources your downloading from are in fact the same file, because they have the same hash (SHa1). That's whats getting the RIAA so scared
Also new on the scene (well, new as in new popularity) is Bitzi. Bitzi catologs hashs (bitprints). You can search through their database, and find files with hashes. Click the hashes, and you can download a file. Each file on bitzi has a "Bitzi Ticket" where you can rate the file. You can mark it "Invalid/Misleading" which means it is not the file you want. You can mark them if they contain virus's too. I can almost hear the sweat dripping from the RIAA Lawyers foreheads.
Want to see the future of Gnutella? Check out Shareaza (WINE Compatable).
Supports all of what I discussed in this post.
I'm not a coder myself, and am probably not very up to date on the whole p2p scene (other than knowning that Limewire doesn't seem to work real well on my box at work), but one of the real problems on the p2p networks seems to be trust. With the recent news about entertainment industry bodies seeking legislation to DoS the networks, and the common user experience of crap files on the network (incomplete, or incorrectly labled files), I wonder whether someone could make a system based on the same sort of web of trust model than PGP/GnuPG uses.
The Keyserver infrastructure is already there, and the apps (like GnuPG) are readily available cross-platform. So why can't p2p clients allow content to be signed, so that you can establish a web of trust as to whose content can and cannot be trusted. Downloading a signature of a file to check it's validity would certainly help reduce the chance of downloading dodgy content. This should be especially useful as you tend to get groups of people who are all interested in the same sorts of files (anime, divx, certain bands, etc), so you could imagine a good web forming fairly rapidly.
Making a valid OpenPGP key is a computationally intensive task, suggesting that few people would make thousands of them on the possibility they would be blacklisted. They also don't require any form of real identification, making them effectively anonymous. Also gaining a good trust metric would be an incentive to keep the same key, especially if downloading was restricted based on your trustability.
I can't think of any good reason that this couldn't be worked into an existing p2p network. Whether it would work in practice I have no idea. Anyone who knows more about this than me care to comment? Anyone done it already?
My proposition:
It would be nice to have a gnutells-client which could limit its connections to specific hosts or subnets.
Advantages:
- You could limit traffic to your company/scool. Saves bandwith and protects you from being discovered.
- It would be harder to spoof such smaller subnets. The music industry could not connect to all of them.
- You could limit connections to friends which would make it legal under fair use conditions.
If the cable/dsl providers were mostly selling symmetric rather than asymmetric services, I'd bet that those same users would be much less likely to restrict access. Furthermore, I think the providers are well aware of that, so don't expect symmetric service to become common anytime soon.
Here's what I do: Bitty Browser & Andromeda
and in an effort to give Xolox users faster downloads, its programmers had configured the program to frequently "re-query" the network to check for desired files.
Unfortunately only Shareaza ( www.shareaza.com ), and, IIRC, Bearshare, have implemented file queueing. It's like giving out a paper ticket at the deli, instead of asking the person behind the counter every 5 seconds if they're ready for you, you can just ask them at normal intervals (60 sec default for shareaza), because your spot in line is guaranteed, and there's no real advantage in asking more often.
We all complain about the amount of crap (incomplete & low quality files and such) that we receive through the p2p networks. How about someone created a DB where you send the hash, and it returned the actual contents. Maybe you could even send the textual request, and it would return the hashes of files that match - and then you can search for files matching the hash?
Would this be feasible at all, do you think? It would be an additional p2p distributed network (we gotta make sure the DB is accurate and relatively synchronized, so we can't give direct, universal write access). I'm thinking that you open a socket to the server, and just keep sending requests as you search for files, and as you open files. This way, we would also be able to blacklist files we don't want distributed, blocking those from being returned by the initial search.
You think the RIAA guy monitoring this discussion just choked?
Stop the brainwash
I've done everything short of examining the code for GNUNet and a possible flaw occurs to me. From your post:
Bad or expensive behavior like out-of-spec activity or excessive querying lowers the 'credit' of the node. Good behavior like answering queries increases a node's credit.
How to write an "abusive" client that is still serviced by the rest of the network:
1. Create queries at the request of the user and send them. Re-query frequently to increase search results (a la Xolox) ["karma" decrease]
2. Respond to all queries with an affirmative "I have that file!" message ["karma" increase].
Abusively written clients will not eventually be ignored out of the network. Users of abusive clients will get better search results and clog other clients will false query hits in the process. In the long term, users will have to migrate to abusive clients to be able to get search results thus crushing the network.
I may be wrong - I only have coding and protocol development experience with gnutella servents. Hopefully the good GNUNet developers have come up with an elegant solution to this problem, but it doesn't seem like it on the surface.
since I'm using the internet i stopped believeng the pourdhomme's anarhy was a way to go, all people are born good, but since i'm using internet i see that most people have not consience that tellss them that sharin is the way, edonkey users limit their upload to a byte a second, napster user refuse to share, gnutella user behave like morons. it's really pissing me off seeing this behaviour, it even makes me think if people in irl are behaven slitly different because they might be able to use me in the future. maybe the moment they get a chance to abuse me they'll just do it. chances that the gnu community turnes in this i (a)buse but why should i give back. maybe thats a reason why i don't want every one of those freeloaders/egoist to use linux, they'll be the rotting apple destroying allt hat i love in the open community. i could go on for hours about this, but you get my point. those who don't get it are provbably those i want to block, but hey, we are open, just like democrazy can vote itself to totalarism, open can evolve into closed just by being open.
[pause]
Now if only I could find out where those elitist bastards are hiding! :-)
--
What short sigs we have -
One hundred and twenty chars!
Too short for haiku.
Now the question comes up, how do we do the accounting? That is not an easy question but there are answers. One is to have a centralized accounting system located somewhere. The problem with this is that it is centralized. However, it is not actually serving data; it is just accounting. Also it is not very centralized. There could be a bunch of them, which means there would be a bunch of somewhat isolated file networks. That's ok. We don't need absolutely everything on one network.
How likely is it that the record industry is linked to Qtraxmax, or people working for Qtraxmax? Obviosly we need some sort of moderation system ot be able to exclude, or at least, minimize the use of such destructive Gnutella-clients.
direct democracy has rulers
anarchy has no rulers
direct democracy is not anarchy
This is the bare minimum you should be doing if you care about/use p2p networks. If you're not willing to do this, stop downloading. Seriously. If you want to do more, there's a lot to be done.
Need a link? Check here. It's a great client if you're windows-bound, it's open source, and it has a lively discussion forum.
I hope such problems are fixed now, but older clients will continue to eat my bandwidth. I don't want to make my ISP unhappy by letting lots of useless packets in.
I am trying gnunet at the moment. In my opinion, we need more users - my modem light on my server is barely flickering. Maybe some of the freeloaders could come over. Maybe not, maybe they all use DOS
The problem in general arises when you've set up a situation where if each user acted in both a rational and self-interested way, the system overall would collapse for all the users.
When designing any kind of multi-user system, it's critical to plan for the "what if all the users (or half of them) suddenly got very selfish." What results are things like disk quotas: central-system-enforced limits on individual behavior.
In a system like the gnutella network, where there is no 'central system' to enforce 'community-minded' behavior, the eventual collapse of the system can be predicted as a function of overall population, presuming that there are always a few people who are more selfish than the rest.
Centralized systems like Napster actually had an advantage in that the centralized servers could establish and enforce 'fairness' policies that kept selfish users from triggeringa 'Tragedy of The Commons'.
-Mark
Just wanted to call your attention to the book Emergence by Steven Johnson. I read it recently after reading about it here on Slashdot. Not really technical, but very thought provoking. I do believe that the next task about the Internet is to find those simple rules that turn it into a sort of organism.
Score:1, Unread
don't allow people with 0 files in their library to download
Then what about one file?
Besides, making the network trade-only leads to a chicken-and-egg problem for new users. How are "honest" users (the ones willing to share) supposed to get into the network in the first place? Where does a new network member get her first audio or video file?
Will I retire or break 10K?
The problem is inherently NP-incomplete.
You want a system without a central authority that can be shut down, so you create a peer-to-peer system.
The peer-to-peer system pretends to be a virtual network over a real network using point-to-point links to establish proximity relationships between sets of peers, mostly ignoring physical proximity and bandwidth constraints.
In order to force the proximity issue and address the bandwidth scaling issues, you invent a concept of "super nodes", which end up being self-selected.
In order to get better performance for themselves, people play "the prisoners dilemma", and rat everyone else out with clients that gang up on requests to ensure disproportionately favorable service.
In order to lock out these clients, you create a central authority, but try to make it decentralized (e.g. "karma", voting, self-regulation, etc.) to maintain the original design goals.
But there are too many strategies to use to attack this. The current "attacks" are taking the form of over-requesting to the point of denial of service... and these are people not intent on destroying the network.
Say you figure out a way to create forced altruism for requests... the node equivalent of the GPL on source code, when you can't enforce the GPL. The natural reaction will be to move on to the next "attack": the "bad guys" pretend they are multiple nodes by avoiding intersecting connectivity with peers, so that dual adjacency won't give them away, and let them be countered.
So you move to a different protocol for "super nodes"; you counter the next obvious attack ("pretend to be a super node") by locking down binaries ("blessed binaries").
But the next attack is to modify the kernel that is running the blessed binaries, and defeat the attack that way (a common "borg" attack on the "blessed binary" NetTrek clients).
Now take active attacks. "Automatic Karma" can deal with dummy files -- "poisoning"... at least until they start intermixing bad with good. But it can't deal with the other issues, without a client lock-down. At which point, you lose repudiability (original design goal out the window: legal attacks work again).
The only real way to deal with this is to define a new protocol that is not virtual point-to-point linked.
And that can be blocked at the routers, unless all other content moves to the same protocol, so it can't be discriminated against.
The only way you are going to be able to create a "blacknet" is to actually create a "blacknet".
-- Terry
For each byte I download from you, I give you 1 digitally signed credit that raises your possibilities
Then how, late in the game, does a fellow new to the network get "something to share" that others will download? Or are we looking at more elitism than some Direct Connect hubs are notorious for?
Will I retire or break 10K?
"Note that clients like Qtrax and Shareaza allow leaves with limitless numbers of [super nodes]," wrote BearShare's Falco in the GDF. "This incredibly selfish behavior causes a flood of query traffic. Although it maximizes results for the local user, it impacts the network greatly. If every client behaved like Qtrax, Gnutella would surely fall."
;)
Why does he claim that Shareaza allows limitless numbers of supernodes? Shareaza DOES NOT support more than 10. You can enter any number in Shareaza options, but anything over 10 gets dropped.
Is he just misinformed on this issue? Or is he just jealous that Shareaza has a better app and he is losing market share to them?
What is "quering" ?
If you are having problems with your connection, then perhaps you should stop trying to get files over a frickin' dialup modem.
I am not willing to pay upwards of $500 per month for what is in many areas the next step up from dial-up and ISDN, namely T1. Some areas don't have cable modem service.
Will I retire or break 10K?
Get MS to clean up their act of bandwidth hogging.
......
.....
I know there are settings that can be set but most people don't.
I access a web page, it down loads it to my system.
I want to printthe same page, it downloads it again.
I want to save the same page and again it downloads it.
And what of radio over the net?
I got dial up at what is suppose to be 56k (earthlink) but they
only give me at best 28.8
And I believe I helped finance free cable boxes for other earthlink
customers
SO what's the deal......with this concern over bandwidth????
Seems pretty clear to me that my ISP might give me more bandwidth
and speed if other things I have no control over were better delt
with, even spam mail accounts for more mail then I get otherwise.
We suddenly have a supply of credits and a demand for credits! Now we have a way to allocate resources!
In economics, supply and demand state the value of one good in terms of the value of another (usually cash). So what's the other good? It can't be cash because cash transactions will get users in trouble with tax law if not copyright law.
Will I retire or break 10K?
I want to help, but I've run into snags:
See a new client? Check it out.
I don't like blue screens, I don't like spyware, I don't know how to use CVS, and I don't have the second hard disk to hold a Linux installation. (My current hard disk already dual-boots winme and win2k, and FIPS can't shorten an NTFS partition.) Besides, some of the apps let a server administrator kick off any user who connects to the Internet at ISDN data rate or slower.
Share files.
I share as much as I am able, but if I share files, I will cut off the person downloading from me when I go offline. Because of how I connect to the Internet, whenever somebody else in the household wants to make a voice telephone call, I have to disconnect from the Internet.
Need a link? Check here [gnucleus.net].
Gnucleus is a Gnutella client. I've read rumors that the design of the Gnutella network is not very compatible with connections slower than 64 kbps, which unfortunately is the fastest connection that many users in many geographical areas can afford. To get a faster connection would require either upwards of $500 per month for a T1 or $200,000 to move house. Is it true that Gnucleus will not work well over dial-up?
Will I retire or break 10K?
Earlier in this thread, someone mentioned exactly such a database.
I *believe* it was called Bitzi.
retrorocket.o not found, launch anyway?
I am trying gnunet at the moment. In my opinion, we need more users - my modem light on my server is barely flickering.
You answered your own question:
maybe they all use DOS
Most users of peer-to-peer file sharing software use either an MS-DOS based operating system (Windows 95, Windows 98, Windows ME) or an NT-based operating system (Windows 2000, Windows XP). Until the developers get such an app running under Cygwin, it'll be nearly impossible to attract Windows users, who might have to buy another hard disk on which to install FNU/Linux because FIPS, the partition shortening tool included with popular Linux distributions, can't shorten NTFS partitions.
Will I retire or break 10K?
I'm wondering why there can't be databases for use in gnutella. When downloading a file, a client searches for all copies of the file. When it has found the copies it can tell the servers it is downloading from that it has found other places to download from and give them the list. Would this not allow better searching?
Why not also a centralised database system for files (like napster) on a passworded basis - it would not have to be mandatory (so gnutella could work without it) but having it enabled could allow faster searches. All searches from the client could go to the database which could house the results so in other searches it would be faster. Different databases (run by different people) could hold info on different types of files (e.g. music, software, pron etc.), with a p2p network of just databases allowing search results to propogate easily.
This makes sense to me, but since IANA expert on gnutella, I may be talking out of my arse.
[To enter a network that requires users to share files,] download CDEX (it's free), insert CD, rip to MP3, share folder.
CDex + LAME --r3mix works for my collection of Eminem (who expressed approval of MP3 trading in the lyrics of "The Real Slim Shady"), Nine Inch Nails, Michael Jackson, and Weird Al Yankovic CDs, and recordings of songs that I write and perform, but then how do I get credits for downloading copies of music videos or Japanese animated television series? I don't have both a DVD-ROM drive and a plane ticket to Canada, so I can't rip my own.
Will I retire or break 10K?
I'm pretty tired of all the complaints about freeloading on any system even remotely likely Gnutella. It's the same with Carracho, Hotline, FTP, what have you: you will always have more freeloaders than sharers until equilibrium is achieved; equilibrium, though, will never be achieved.
The ratio of users who have useful, desireable files to share to users who do not will always be low, perhaps 1 to 10 or 1 to 100. This is because the "freeloaders" cannot and do not have files to share until the get them from someone else. They will continue to be non-sharing nodes until such time as the sharers with desireable files open up the portcullis.
The point of the system is filesharing: Why impose restrictions on its primary function? The way to stop "freeloading" is not to restrict downloads, but to *increase* them. The closer to the unachievable equilibrium we come, the less "freeloading" there will be.
Wordnik, a dictionary project which aims to collect
I currently work at a isp and can tell you that the amount of DMCA emails I see is on the rise. We are a faily small network. About 2000-4000 users online at any one time. We are getting about 2-5 emails from MPAA or other companies that scan gnutella networks. I know everyone talks about how people should share files but with the activity i see from the MPAA and the likes it would be hard to do.
Example of MPAA email below ---
From: MPAA@copyright.org
To: johndoe@myfakeisp.com
Date: 8/8/02 1:36PM
Subject: Unauthorized Distribution of Copyrighted Motion Pictures (Reference#: 0000000)
MOTION PICTURE ASSOCIATION OF AMERICA, INC.
15503 VENTURA BOULEVARD
ENCINO, CALIFORNIA 91436
UNITED STATES
Anti-Piracy Operations
PHONE: (818) 728 - 8127
Email: MPAA@copyright.org
Thursday, August 08, 2002
Name: John Doe
E-mail: johndoe@myfakeisp.com
ISP: MyFakeIsp
Via Fax/Email
RE: Unauthorized Distribution of Copyrighted Motion Pictures
Site/URL: gnutella://000.000.000.000:6346/ [with IP address: 000.000.000.000]
Reference#: 0000000
Date of Infringement: 8/6/2002 11:24:35 PM GMT
Dear Dave Lechlitner:
The Motion Picture Association of America (MPAA) represents the following motion picture production and distribution companies:
Columbia Pictures Industries, Inc.
Disney Enterprises, Inc.
Metro-Goldwyn-Mayer Studios Inc.
Paramount Pictures Corporation
TriStar Pictures, Inc.
Twentieth Century Fox Film Corporation
United Artists Pictures, Inc.
United Artists Corporation
Universal City Studios, Inc.
Warner Bros., a Division of Time Warner Entertainment Company, L.P.
We have received information that an individual has utilized the above referenced IP address at the noted date and time to offer downloads of copyrighted motion picture(s) through a @Ç£peer-to-peer@Ç¥ service, including such title(s) as:
Austin Powers III
The distribution of unauthorized copies of copyrighted motion pictures constitutes copyright infringement under the Copyright Act, Title 17 United States Code Section 106(3). This conduct may also violate the laws of other countries, international law, and/or treaty obligations.
Since you own this IP address, we request that you immediately do the following:
1. Disable access to the individual who has engaged in the conduct described above, and;
2. Take appropriate action against the account holder under your Abuse Policy/Terms of Service Agreement.
On behalf of the respective owners of the exclusive rights to the copyrighted material at issue in this notice, we hereby state, pursuant to the Digital Millennium Copyright Act, Title 17 United States Code Section 512, that we have a good faith belief that use of the material in the manner complained of is not authorized by the copyright owners, their respective agents, or the law.
Also pursuant to the Digital Millennium Copyright Act, we hereby state, under penalty of perjury, under the laws of the State of California and under the laws of the United States, that the information in this notification is accurate and that we are authorized to act on behalf of the owners of the exclusive rights being infringed as set forth in this notification.
Please contact us at the above listed address or by replying to this email should you have any questions. Kindly include the above noted Reference # in the subject line of all email correspondence.
We thank you for your cooperation in this matter. Your prompt response is requested.
Respectfully,
Thomas Temple
Director
Worldwide Internet Enforcement
Do you expect the same people who use the network predominantly for breaching copyright to care about the greater good?
Do you actually think they copyrights they're breaching have anything to do with the greater good?
Four companies have collectively monopolized music distribution, using copyright. Is this a good thing?
Get real. Record companies are scum. The artist would get more money if I mailed them a quarter, than if I bought the CD. Meanwhile, I would be giving the RIAA more money to keep it illegal to play legally purchased DVDs on my PC. I hope they all go bankrupt. Then we'll have competition.
I'll participate in a free market, but not the current abusive, short-sighted ologoploy. Tell me where I could legally download my 300 favorite CDs for a reasonable fee? I can't. Thankfully record companies don't have a long term business plan. They just keep trying to stifle new technology and get their business model legislated. They should be trying to provide the services people want. That's what they'd be doing in a free market economy. They're trying to tell me what I want. They can bite me.
Life is too short to proofread.
I don't like blue screens
I don't know what to say about this one. I use win2k and I hardly ever get a blue screen. The philosophy for all NT kernel based OSs is: if a program can crash the OS, it's a bug. I'm not saying all NT kernel based OSs are stable, just that they're less unstable than (for example) WinME.
I don't like spyware
Do research beforehand so you don't download spyware or adware-infested clients. For every corporate sponsored client that I know of (KaZaa, Morpheus, etc...) there exists a spyware-free version (KaZaa Lite, Gnucleus, etc...)
that is available for free.
I don't know how to use CVS
You don't need to know how to use CVS. If the author isn't providing binaries, the program is either too early in the development cycle to use or the author (and it pains me to say this) doesn't care enough about the project to make it a success. The fact is, "most people" don't know how to use CVS/compile non-autoconf software under windows OR linux. One of the keys to success for a p2p file transfer program is that "most people" are able to use it.
I don't have the second hard disk to hold a Linux installation.
Two things:
1. You don't need a second hard disk to install linux. Some distros even let you install by borrowing space on your main fat32 windows drive. If you're using WinME, you can do it.
2. You don't, by any means, have to use linux. I don't know of a p2p network that doesn't have a win32 client of some kind.
Besides, some of the apps let a server administrator kick off any user who connects to the Internet at ISDN data rate or slower.
In a true p2p system, and user can kick any other user from their own server. However, one of the ways you can avoid being booted (not that it's all that common anyway) is by not tying up a whole bunch of download slots with one 56k connection. In other words, if someone has a bunch of files you want, download them one at a time.
I share as much as I am able, but if I share files, I will cut off the person downloading from me when I go offline.
All major p2p networks in existance provide for resuming downloads. You can pop on and offline as much as you want, and those people downloading from you will simply download when you're available. When you're offline, those same people will resume the file from other hosts. Unreliable net connections are not a problem.
Is it true that Gnucleus will not work well over dial-up?
This used to be a BIG issue. What happened was, all nodes in a gnutella network performed two functions: searching and file transfer. The file transfer part meant nodes directly connected to one-another to transfer files at the request of a user. The searching part meant nodes also maintained (an average of) 4-7 connections at all times to other nodes through which search requests were broadcast and query hits were routed. As the size of the gnutella network grew, the volume of searches grew beyond what a 56k connection could handle. All bandwidth was being consumed by searches leaving nothing for file transfers, or anything else. Even worse, slow connections caused searches to be dropped. Clients started implementing xolox-esqe methods to "improve" searching and it all went down hill from there. The solution? Supernodes (aka ultrapeers). Now, in the post-supernode network, nodes still transfer files in the usual way (direct connect). However, only a small portion of the nodes, the ones with the most bandwidth, form a sort of "search network" in which each node maintains the ususal 4-7 connections and forwards searches. Nodes with less bandwidth (modem users, 64k and BRI ISDN users, etc...) operate in "leaf mode" or "child node mode" (depending on whether you speak fastrackese or gnutellian). They make a single connection to a supernode through which they send queries and receive query hits. Upon connecting, the leaf node tells its supernode what files it has, and the supernode responds to queries on behalf of the leaf node.
It's actually a bit more complicated than that, but that explains the basic idea. The answer to your question is: "No. Using gnucleus on a modem is not a problem." Other clients shouldn't cause problems as long as they properly support either "supernodes" or "ultrapeers". Most do.
Why not have the clients block anyone automatically who starts to do instant requeries?
I am not sure exactly how the Gnutella protocol works, but if every valid client had this blocker, then these "super-nodes" would not be able to get any information in or out.
Basically, the idea would be that when one of the malicious nodes starts to send multiple queries to another node with this blocking code. The other node would determine whether or not this is legit. If it is not legit, that node will be blocked. Eventually, a "fence" would be put up around the offending nodes, and the damage they cause would be limited to non-standard clients.
As well, it may be prudent to make the block last for a specific time period. Perhaps even add the ability to pass the offending node addresses to other clients so they block as well.
If the gnutella protocol allows this. It would be the most effective way of preventing malicious clients because as soon as they threaten the infrastructure, they are blocked off.
~ kjrose
nice try but we arent stupid, this is slashdot
If you use Linux, please help development of Autopac
I don't know of a p2p network that doesn't have a win32 client of some kind.
Somebody wrote comments in reply to this article, pleading for more testers of GNUnet and giFT, neither of which is "ready" enough to release Windows binaries, or even a source tarball that will compile properly under MinGW.
In a true p2p system, and user can kick any other user from their own server.
I was specifically referring to the policies of many Direct Connect hubs.
In other words, if someone has a bunch of files you want, download them one at a time.
I already do that, using software such as WinMX that supports a local queue.
[they'll] download when you're available [or if not] resume the file from other hosts.
And if I'm not available often (I only get 150 hours per month on my dial-up plan), then I feel like I'm cheating people who try to download rare stuff from me when I cut them off.
And what about recordings of my own performance? I'm a musician, but I suck at vocals so I just record instrumental music. How do I make those available on a P2P network? I can't use the "legit" solutions (Vivendi's MP3.com or Bertelsmann's New Napster) because they ask me to verify that nobody has already "taken" the melodies that I use in my compositions, and I don't know how to do that. Any pointers?
No. Using gnucleus on a modem is not a problem.
Is using gnucleus and WinMX on the same modem a problem?
Will I retire or break 10K?
Currently, anyone can rate a file, but perhaps Bitzi could be expanded into a kind of web of trust thing by allowing people to pick friends and enemies, for example. Friends' reviews of a file would have more impact on the score you see than an enemie's for example. And then you can perhaps rate each user's file ratings and say if the rating was helpful or unhelpful.
Without this, even Bitzi can be abused, but with thousands, if not millions, of people rating files and then, well, "metamoderating" the file ratings, fakers would have to organize a huge crowd of people to have an impact.
I am surprised that I hadn't heard about Bitzi until I read about it in the Slashdot post just before yours. It is a great idea, and I am sure there is plenty in store for it in the future. Let's hope they will expand the concept and "integrate" it with even more file sharing software.
Clever signature text goes here.
Anarchy in the sense of "violent chaos/civil war" that is the meaning used in your articles is not seen as a good thing by any one except the occasional mercenary.
Anarchy in the sense of lack of a government is a different matter altogether. The brutal governemnt repression in Zimbabwe etc are examples of the exact opposite of that. Though actually present day Somalia is seen by many anarchists as a promising experiment
Many thoughtful articles about Somalia, Iceland and other interesing societies here: Anarchy without chaos.
This is mostly the anarcho-capitalist angle. Not sure where the Kropotkin people are on this.
Anyone have a opinion on OverNet? http://www.overnet.com/
So when SOME of society organizes itself and points guns at the rest of society, that doesn't count?
Whether it's society backing up laws with collective delegated guns, or individuals backing up their own dictates with guns, it's still authority from the barrel of a gun.
Infuriate left and right
Once you have to authenicate, that leaves the 'authenicators' open for legal issue.. Remember napster???
Good bye Gnutella..
Yes something has to be done to clean up the bandwidth, but i dont think THIS is it..
---- Booth was a patriot ----
I've been reading through some of the news and related sites on this topic and it seems the possibility exists that one or more of these gnutella clients that send massive numbers of request in such short periods could actually be a maliciously intended program. Some of the developers who make these have yet to respond to any of these problems even though there have been repeated attempts to contact them about the situation. The way some (I'm looking at QTRAXMAX right now) word their sales pitch, it sounds eerily similar to some e-mails I've gotten with links to these sites or those mysterious 53k-attachments-to-emails-that-just-say-hi-from-so me-guy-named-boris-in-siberia that are so obviously worms or viruses. The way they currently work looks eerily similar to a DoS attack. Use people's own greed to flood a network with requests. It would actually be a pretty clever strategy - millions of users instantly flock to the program to maximize their gain out of gnutella, only to block each other out when they send 83 gazillion file requests a second. Classic Nash.
Who would be behind such an attack? There are many possibilities. The recording industry is definately one of them. There could be others. Who knows.
The point is you should all be careful what you install on your computer or even download. Millions of people around the world know how to program at varying levels of control over many different kinds of computers with different purposes. It's like the Force - some use it for good, some don't. There's bound to be at least a couple who are going to write a full-fledged application that is really just one big worm.
Just another freak in the freak kingdom.
The masses. There are more gnutella users than there are employees of the RIAA, etc. It would take them more man power and money to go through and make false tickets and keep them "accurate" to their standards than it would for someone at home to simply keep doing what they've always been doing -- supplying the TRUE information to bitzi. For every 1 bitzi ticket that the "evil ones" falsely submit, there will be 100 more that are true. Considering that bitzi is based on an averaging system, which one do you think will win out?
In this context I mean direct democracy as in "Town meeting style" as in, the community gets tohgether now and again and votes on the issues. The community never gets together and votes people into offices to make decisions, the people make the decisions directly via a democratic process.
-Steve
"I opened my eyes, and everything went dark again"
It's true that Gnutella has often had problems because of the protocol itself. And building some degrees of trust into the model would help it.
One of the things that could be done to prevent this kind of network abuse is for nodes to block out those programs sending excessive numbers of queries. As soon as a given client receives more than a certain number of queries within a given time span from the same client, it blocks that client out.
I think that the best way to deal with this kind of problem is by building more intelligence into the clients.
If digital signatures were used only for central servers (super nodes) then it might make sense. But that begins to defeat the original principle of Gnutella.
byroniverse
Really, when you think about it, the way to get a system to work better (ie. a fairly chaotic P2P system) is to greatly increase the intelligence of the clients, and to base it off the real-life methods that people use in dealing with people.
The clients just need more AI-like intelligence. They need to individually learn who to trust as a "hub," who to look for files from, who to offer files to, and who to tell to @#$% off.
This could be established by gathering statistics about network activity and using a point-based system to determine who to trust and for what purposes. Essentially you'd be automating the process that a human would use.
Person A gave me a file, and it was good. Rating for A goes up. Person B gave me a bad file: mark them down, and warn my friends. Person C doesn't seem to have much bandwidth, so I won't go to them as readily as another. D,E,F and G are all on the same network and all of them gave me bad files. H, I, J and K were all recommended by L, and they gave me good files.
The hardest part would be patterns, of course, a major study of AI.
Digital signatures could be used to establish who your friends are regardless of their changing IP addresses.
byroniverse
That would require that I read the article!
Sounds logical doesn't it? In fact it isn't necessarily so. Consider the internet, the IP infrastructure is P2P in fact; let's apply what you said to it:
"In a system like the internet, where there is no central system to enforce community-minded behaviour; the eventual collapse of the system can be predicted as a function of overall population, presuming that there are always a few people who are more selfish than the rest."
Doesn't sound so obvious anymore does it?
Actually, this is an example of iterated prisoners dilemma; there is no known solution to that in the general case. It all depends critically on the details. However, in the case of Gnutella, I think that Gnutella lacks some features that would have allowed it to weather situations that Kazaa seems to handle very much better.
There's always going to be some leeches. The point is to make sure that the leeches don't gain anything by abusing the mechanisms the network supplies- with Gnutella, and to some extent Kazaa, they do gain... if they end up abusing it too much- the network dies.
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"Get your actual cds or records out (you own them, right?)
Yes, I have a couple dozen CDs, and CDex and LAME work well for me, but I don't own any anime DVDs that most other people don't already own, and even then, I don't have the money for a plane ticket to fly to Canada (or another non-DMCA non-EUCD country) to pick up a copy of DeCSS.
Will I retire or break 10K?
helLo, MY EnERGY EfFICIENT CaR WOn'T Go FAsTER THaN TwENTY-FiVE MileS PeR hOuR! CaN i stOP At yoUr CoMmUnE AnD GeT a New batterY!! ThAnKs koommrad!! SuPEr-aNaRcHist-666
phReE dA wArEZ!
Ok. So you're talking about ignoring servers that respond to queries that do not have to do with your specific interests. As I see it, there are a couple problems with that:
1. If you only use your client to search for anime, what happens when your client sees lots of queries for "mp3" or "porn" and includes those terms in a validation search? Lots of hosts will respond to those queries, bloating your "ignored hosts" table and hammering your internet connection with query hits.
2. What about people that share your interests but also have others of their own? A validation search with the terms "metallica" and "mp3" will provoke a query hit from a host that has a file named "metallica-song.mp3" as well as "anime-episode.mpg". Since that host responds to your validation search, it will be ignored.
> Making a valid OpenPGP key is a computationally intensive task, suggesting that few people
> would make thousands of them on the possibility they would be blacklisted. They also don't
> require any form of real identification, making them effectively anonymous. Also gaining a
> good trust metric would be an incentive to keep the same key, especially if downloading
> was restricted based on your trustability.
I did a project that concentrated essentially on what you say here -- making key (identity) generation difficult. It's easy to make RSA keys (for instance) quickly if you don't care about security (and also difficult to independently verify that the key is "valid"), but I give a way to provide a token along with the key that's independently verifiable and difficult to create. This token can also "grow" in strength over time. Check out the paper here:
http://www-2.cs.cmu.edu/~tom7/papers/peer.pdf
We don't talk much about creating a "web of trust" kind of thing, but do talk about "cold hard evidence" of cheating. The next step is to see what other kinds of misbehavior can be audited (and how someone can provide proof of infraction), for instance, sending out too many flood messages onto the network.
Any solution that talks about a "database" is probably trouble, because setting up a "database" requires some sort of trusted centralized server, or if done peer-to-peer, is subject to the same sorts of problems that the peer-to-peer systems already face. (ie, what about the RIAA computers that inject their own hashes into the system?)
One basic problem with relying on hashing for the identification of files is that a malicious user can still send you a file, telling you it has the right hash, and you won't be able to check until you receive the whole thing. (Or you won't be able to check at all if you download only part of the file from them!)
The problem is that gnutella's reliance on broadcast forwarding and indirect communication will always allow rogue peers to exploit bandwidth or queries in the network.
There are a number of alternative discovery mechanisms which do not suffere from these kinds of architectural problems.
For example, NeuroGrid and alpine both use social discovery and peer profiling to prevent bandwidth hogging or query spamming.
There are also hybrid network that use super peers like the Kazaa and Grokster clients.
There is only so much you can do to improve a flooding broadcast architecture. Gnutella will always have some kind of bandwidth and query problems no matter how optimized the clients become.
If they make it so that they can control who is on Gnutella, won't the RIAA be able to sue whomever has this control? Bad idea, folks. The simple solution is bandwidth limiting, and blacklists for IP's that are abusive.
BlackGriffen
It seems to me that the Tradegy of the Commons kicks in when the 'leeches' hit a certain density within the general population, and when their 'leeching' begins to have a measurable effect on the average non-leeching individual.
And, in fact, we have seen exactly this kind of thing kicking in in certain parts of the Internet, like broadband service and pricing. AT&T has started separating out the 'leeches' ("heavy users") from average users, and applying negative feedback (higher prices) to their leeching behavior. Again, you can see how it takes a centralized administration (AT&T) to bring the system back into balance.
So you can either (1) hope that your system never becomes popular, or (2) hope that the denisty of leeches in your population never exceeds a certain 'thermal runaway' threshold, or (3) hope that the very worst leeching behavior doesn't substantially degrade service for everyone else, or you can (4) design the system so that at least one of those is true. Since popularity is desirable in a p2p system, and there are always some leeches, you need to design in limits to how much leeching one user can do -- an interesting problem in an open-source, p2p network.
-Mark
Let the users trim the bad leaves off the network themselves.
-AC
"Turns out, numerous applications [...] are capable of bringing the network traffic to a halt. While it gets better download speeds for the users of the aforementioned applications, the damage to network traffic as a whole is substantial."
Quite interesting to see a Microsoft .NET ad under this sentence ;-)
No no. AT&T are very able to control the bandwidth available to anyone on their network, lookup up 'traffic shaping'; it's interesting that they have chosen not to do this. Apart from a few crackers there are no leeches.
The real point is that most people who buy a broadband contract off them don't understand what they have just signed, so when congestion occurs, they start moaning. AT&T aren't going to go "well you shouldn't have signed the contract if you didn't understand it", so they've created this fictitious 'leech' guy who is supposedly stealing all the bandwidth. Then AT&T realised that they could actually make money for bandwidth they had already sold, by charging over a certain download limit- but it's just profiteering, there's no real issue, or atleast not if AT&T are running their network well.
I don't agree with your 4 'hopes'. These do not cover all the options you have in designing these networks. There's no hoping- you design it to have certain properties. If you write the software, you have central control anyway, in your terms. Every node in a P2P network can be a policeman if necessary.
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"I was commenting on the solvability of the problem using P2P as a hammer for this particular screw.
The GNUtella architecture is broken by design, for the goals it wants to achieve.
Lack of a choke-point, which was the real design goal for the system: "a napster that can't be shut down by a record company", means that you can't rely on voluntary compliance with social norms, particularly when one of the most effective attacks is non-compliance. Adding security adds non-repudiation, which adds back a legal hand-hold to act as a choke-point.
You're screwed if you enforce norms, and you're screwed if you don't.
The GNUNet architecture is somewhat similarly broken (in that it can be censored by ch router blocking), but it's at least a step in cheap right direction for solving that problem.
It's only if the Internet itself gets away from protocols subject to transparent proxy that end-to-end guarantees can be maintained. For that to happen, it has to be impossible to distiguish between traffic on the basis of content.
Any other approach, and the traffic will be able to be filtered through intentional failure to propagate.
The only way you can win is to make it too expensive: if it means shutting down the Internet for RIAA to get it's way, that will never happen, but anything short of that is probably doable. So you have to make it so they have to shut down the Internet to stop you.
I guess I'm saying that they are attacking the problem at the wrong level because it's tractable at the point they are trying to attack it... like looking for your contact lens under the streetlight instead of in the alley where you lost it, because the light's better.
Hence "Inherently N-P Incomplete".
-- Terry
How about a system like the spam filtering organizations use. Users who get spam, forward it to a DNS deny service. The spammers get rejected until they clear it up. It becomes acceptance and denial purely via the userbase responses.
So to make the analogy to Gnutella, we make it so that clients will reject all queries via the blacklist. The blacklist is populated by those abusing the system via reports from the users.
It could be somewhat automatic. A "good" client would report those users that hammer their node in defiance of the protocol. So everyone has to play nice or else!
Any thoughts on this?
isn't that a oxymoron...
"this is slashdot.....we aren't stupid"
you know like military intelligence, plastic glass,M$ security...
Wooohooo TGIF...have a good weekend all
errr....umm...*whooosh* *whoosh* Is this thing on ?
I just love long, thoughtful posts.
;)
They really make my day.
My only question is this; Why are you replying to Beryllium in your subject, but attaching the post to MY reply to him?
What exactly is your problem today?
user@host$ diff
It's worth noting that Limewire is one of the big guns in the Gnutella world, and they're very quick to lay the blame for any perceived problems at the feet of ill behaved clients. I've been fighting with their singularly unresponsive team of developers for some time now, reporting bugs and getting zero feedback on them. Since many of these bugs are not in the open sourced Limewire engine, but in the user interface code, it's not really easy for me to diagnose the problem and fix it for them. However, as a Java developer, I see much behavior in the 2.X Limewire clients which is indicative of very bad Java programming practices.
When I noticed some severe breakage in the user interface on Mac OS X (one of Limewire's supported platforms, and a premiere Java development environment), I reported it, and much of my complaints were ascribed to other gnutella clients behaving badly on the network. While I can understand why badly behaved clients on the network would cause failed searches, I don't see how that could possibly explain mangled UI elements in the application which do not behave as expected (or as documented)! All subsequent follow-ups to the Limewire staff were never responded to, and I can only conclude that bug reports are being ignored; the last several releases of Limewire that I've checked have fixed some, but certainly not all, application problems.
The most telling experiment conducted to date was when I used version 1.7 of Limewire, which I happened to keep a copy of; it was able to complete searches faster than the version 2.X clients that have been foisted on the public, and in many cases returned results where the 2.X clients would not. The main upgrade from version 1.X to 2.X of Limewire is the inclusion of the Ultrapeer protocol support. This leads me to conclude that Limewire's Ultrapeer support is either broken, or that Ultrapeer itself is fundamentally flawed. In an attempt to make Gnutella clients better behaved, the major vendors of Gnutella software have crippled the users of that software, rendering it useless.
What's sad is, I paid money to support the development of Limewire by purchasing Limewire Pro (so I wouldn't have to watch adware). As thanks, I've received product updates from Limewire that have given me less and less functionality, and more eye-candy that results in a broken user experience. (Last time I checked, I still couldn't successfully conduct a search for music using the specifically [re]designed interface for entering parameters such as artist or track or album title. This interface would never even instantiate the search in the first place. I had to instead use the most generic method of querying the Gnutella network, based on wildcard matching to filenames.)
In summary, I believe that some of the motivation behind claims that badly behaved clients are destroying the Gnutella network is simply a cover-up for incompetently written code written by the major players. I also believe that Ultrapeer is either badly implemented or badly specced in the first place. Turning Gnutella into a closed protocol flies in the face of what it purports to be -- an open standard. And since the major Gnutella players have a vested economic interest in keeping others out of the sandbox, I'm a bit skeptical of this proposed solution. If Gnutella becomes closed off, expect to see a major splintering of the community as people seek truly open standards.
But if we create as much unecessary internet traffic as possible, we'll create so much fibre demand that 360Networks may be able to get their stock up to $23 again, and I'll break even. So keep downloading everyone. Download, delete, download, delete.
Because good karma makes the system work.
On the internet, it's fairly easy to generate a new identity. Just redail your isp on a modem, release and renew your IP on cable, or re-authenticate with PPPoE on DSL and you've got a new IP. If you're using a system that incorporates public key cryptography, just generate a new key pair and you're indistinguishable from a fresh node on the network. When people can "reset" like that and the system only allows for the accumulation of bad karma, there's no incentive to keep the same identity for long.
Good karma, combined with a starting "entry" karma that's not good enough to get a node serviced by others, encourages people to keep the same identity for a longer period of time. If a user has to contribute a little before they can search and download, the user is incapable of connecting and spamming the network right away. Once the user has gained karma to the point where they can search and download, the user is more likely to continue that good behavior. Why? Because behaving badly (spamming, clogging the network, etc...) would take away that hard-won good karma and make it necessary to start all over again.
What we need is a system that has both bad karma and good karma, but that doesn't associate them. Neither can cancel the other one out, and only hosts with sufficient good karma and sufficiently low bad karma would be serviced. Both should be initialized to 0 upon connecting. This is the simplest solution that I can think of off the top of my head. However, I remember reading a really well-written article involving an intricate trust system that sounded like it would be even more effective. Too bad I don't have it bookmarked....
Leeches aren't fictional, and AT&T already knows about traffic shaping. Problem is, traffic shaping throttles your peak or burst bandwidth. For people who don't leech or abuse their connection, it's nice to let them occasionally burst to higher bandwidths. If you apply traffic shaping they won't be able to burst even if it's only 1 time a month for a few tens of megabytes. The billing change AT&T's doing hits leeches for long-term average usage without chopping off bursts for non-abusers.
I like AT&T's approach. Do a single 10-megabyte upload a month, you get full burst rate. Run a file-sharing server transferring at a megabit a second 24x7, you get hit with a big bill and a warning to either curb your transfers or pay full-time for a dedicated chunk of bandwidth.
How many shares do you own? *snicker*
Like the previous poster said, ISPs who gouge their users (not "leeches") for using their unlimited connection are simply profiteering.
The SANE and FAIR thing to do is to use traffic shaping to severely limit the "hogs" rate during peak traffic times so the light users like grandma don't suffer. The more bandwidth you use over time, the less you get to use when it's scarce - but at 3am, even the hog should be able to use his full 2Mbps if it's not being used, because unused bandwidth doesn't cost the ISP anything.
--
Power to the Peaceful
All these ideas have already been hashed many times over. Then the winamp boys released gnutella, it was still in the infant stage. The protocol never progressed from that point. Clients attempted to hack in features like chat, private networks, etc but the base protocol still remained unchanged.
Countless proposals were created about how to dynamicly move one's position in the network based on bandwidth, authentication, spam prevention, etc. No one could agree on a single plan and run with it.
Throw in a "community" leader who took everyone's ideas and started a company with them (he has since commited suicide), hung everyone ne out to dry, as well as many others who "sold out", pretty much halted the development of the protocol even to this day.
Hopefully someone can grab the reigns who cares about the systems rather than a quick way to make a buck. There's still lots that need to be done for P2P systems.
Problem is, traffic shaping throttles your peak or burst bandwidth.
Nonsense. Traffic shaping usually works by averaging your bandwidth usage over a period, say 1/2 an hour, and then if you have exceeded the average you've paid for, and there is congestion, then you get throttled back. But the details can vary, there's no exact definition.
The point is this:
I pay for a 576 Kb/s link, of which they guarantee I get only 1/50th guaranteed bandwidth to the internet. That means I am guaranteed 10 Kb/s all day every day.
That means that I should be able to download 108 MB/day; average- so far today I've download 84 MB in the last couple of hours... I just checked; and that's probably a heavy download day for me; but not like when I'm downloading Linux distros.
According to your approach I should have paid how much? I already paid for this much bandwidth... Without too much trouble I can go over 3 gig a month without ever going over my paid for allowance. In Australia I would be charged more for that. They charge 15.9c per megabyte over 300 megabytes. Not that's extortionate.
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"I think maybe he noticed something about the IP address, maybe, considering that I posted the comment for you. I dunno. That's what his tone indicated, at least.
:)
IN YOUR FACE, Hand Solo.
"The problem in general arises when you've set up a situation where if each user acted in both a rational and self-interested way, the system overall would collapse for all the users."
That sums up game theory nicely. The simple solution is to enchance your approach to the organization. Rather than having each herdman get all the gain for the shared work, share the gain among them. Maybe elect someone whose job it is to organize the herdsman for total gain.
Independant units working against each other will always destroy each other. Units which organize and work together will gain far more than they could if they were apart.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
http://kademlia.scs.cs.nyu.edu/
or perhaps a more usable
http://overnet.com/
from the maker of eDonkey
I think you misunderstand the concept of "leech". The abusers AT&T is talking about have upstream traffic every month of 20-30 gigabytes, with downstream traffic in excess of a hundred gigabytes a month. You're in the 90% of the users who, combined, use less than 20% of the system's bandwidth. The abusers are in the 10% that sucks up the other 80%.
There are a zillion numb-nuts out there that *do* share so they make up for me NOT sharing.
So what if someone knocks me off? My client resumes searching for another source and chugs onward. I set to ignore chats and my firewall is set to block everything.
I have downloaded a few movies then decided they suck and stopped doing that. Better to just wait and catch them on PPV. I don't DL much music because there is not much of my kind of music out there.
I do partake in a little pr0n here and there every now and then. But, I do not share, I leach and I don't care if it pisses people off or not. I will NOT open my machine up in that manner. Too bad for those wet diaper cry babies, let some other dumbass do the sharing, there are plenty of them out there.
When they find a way to stop leachers we will just find a new way around that. Cat and mouse.
Leach on baby!!
Aaaahhhhhmmmmmmmmmuuuuuuuuuu...
Thus spake the Deity:
Any public system must be fault-tolerant. No matter what you may think, many will wish to abuse it. You should not have anything which is subject to abuse.
Thus spake the Deity:
If you are to use trust levels, then you have to trust others not to report good nodes as bad (a recursive trust situation). You will certainly block some poor sap that downloaded the same screwed-up file you have.
Thus spake the Deity:
No system of forwarding searches will ever scale. Each node should download a list of all available files, and related information from directly connected nodes (similar to routing tables) and then download and check the hash directly from the server, to verify. This will cost some privacy (having all shared files listed), but instantly solves all searching, scaling, and gnutella 'routing' problems.
Thus spake the Deity:
Gnutella will become a great savior of those requiring great bandwidth on low budgets, once users are able to search by hash. A gnutella:// link followed by the hash would be an easy way to make use of Gnutella for automatic downloading from multiple sources, and mirroring of large (or small). Big pipes download from many smaller pipes, resulting in faster downloads than previously possible. Everyone will be made a mirror for the file, once they have downloaded it themselves. The end of FTP.
Thus spake the Deity:
Because the powers that be will report false hash values, each 'chunk' of a file should have a hash. Minimizing effects of malicious beings, and quickly finding download errors.
Thus spake the Deity:
An upload queuing system is needed. A cause of great frustration is newcommers jumping the queue, in front of those who have waited a great deal of time for a file. This will alleviate the hammering of servers, to get a file.
Thus spake the Deity:
The web's sole redeming quality, is the ability to group sets of files together, and link to others. Gnutella should have such a system. Something like a 'family' should be established, which can be accessed through a common name. A family is a document, understood by gnutella, which says which files belong there, and include commands, such as the order the files shall be listed, dependencies between different files, and possibly formatting or highlighting of the name/link to each file.
a) AT&T have lost control of their own network so that users can take as much bandwidth as they want. In that case, AT&T are in trouble and need to do something.
or:
b) they want to screw more money out of their existing customers.
In the normal way, the congestion protocols in the internet are quite good at ensuring fairness. If the users are actually fiddling with the protocols AT&T should exclude those users from the network. AT&T need to be able to throttle both upstream and downstream bandwidth usage. They need to manage their network.
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"Yeah, well I was being ironic. So here goes, more clearly this time: Stupid, greedy file sharers use windows. Clever, nice people use GNU/Linux. Yes, that's right! gnunet is of GNU origin and more to the point G.N.L.