Finally Real P2P With Brains
dfelznic writes: "The mp3 archives of CodeCon are now availble, which is news in itself. But what makes this real interesting is that they are being distributed by BitTorrent. BitTorrent allows users to download a file from multiple different people. Instead of everyone nailing one server, users get the file from other users. Furthurnet uses a similar technology to distribute legal bootlegs of concerts. The archive is available at the BitTorrent demo downloads page. As soon as I started downloading (cable modem) at around 300k I got a request for the file and began uploading at 40k. This could be the answer to the slashdot effect;) Now, who is going to be the first to complain about the use of mp3s instead of oggs?"
Nice idea, I have to say, but my biggest problem with file-sharing utilities is the fact that the file you're looking for isn't going to be the same with everyone. NudeCheerleader(part1).mpeg isn't going to be the same as NudeCheerleader(part1).mpeg on someone elses comp. There's not a way I know of besides implimenting CRC to prevent people from just renaming files into other things. Maybe NudeCheerleader(part1).mpeg is really GoatseLiveVideo.mpeg, just renamed.
Job? I don't have time to get a job! Who will sit around and bitch about being broke and unemployed then?
Comment removed based on user account deletion
They're marketing BitTorrent as a solution to web providers with bandwidth limitations. The client registers a mime-type so when you click on a BitTorrent download link it hands it to the p2p client which then downloads it from the network.
.exe of freenet that could parse a meta-file pointing to the freenet key of the object you wanted to download.
The technology is nothing spectacular, but it's nice to see a simple install method that integrates nicely into the browser.
One interesting side-effect of this implementation is that there is no searching. You only download stuff from BitTorrent if you find a link on a web page for it. However, without the requirement for searching, Freenet would be a great replacement for this role of browser-download accellerator. All you really need to do to implement this would be to provide a nice installation
When you say p2p with brains, to me it means somebody has come up with a elegant balance between centralization and search speeds.
Ditto, Holmes. The real question is the scalability issue, and I'm not convinced that the traffic cop features implemented by Gnutella front-ends have really sorted this out.
When that's the case, that will be some p2p with brains. Right now, the networks only seem to be hanging on because the critical mass of crash-inducing traffic hasn't hit the super-peers yet; at least not on the permanent basis.
What would really make my evening interesting is if someone would be kind enough to contradict me.
It may be cold, but at least it's clear.
I'm very surprised at the little ammount of attention that GNUnet has gotten in the P2P arena. GNUnet is anonymous, distributed, encrypted, reputation based, has accounting, allows for distributed queries, and uses dynamic routing. While GNUnet is still beta software, I think it's a great anti-censorship tool. What all this means in non-buzzword speak, is that you have a tool that combines a lot of the great qualities from other similar networks (FreeNet, mojo nation, etc) and doesn't have all of the short comings. Give it a shot.
Red Swoosh is a cool technology specifically aimed at distributign the load for things such as images on a website. The client download for IE just involves clicking install and DLing a client that's a few 100kb. After which you mirror a portion of the site. www.deviantart.com uses this, and to good effect. I'm not sure if you can mirror large files on it. It is of course centralized.
Photos.
Mojo Radio, a Toronto area radio station ('talk radio for guys') uses something similar to do streaming audio. They use technology from ChainCast Networks to distribute the streaming of Windows Media broadcasts. It installs a little app in your Windows machine and runs whenever you listen to the stream.
The gnutella spec specifies the use of SHA, *NOT* CRC32 or MD5, as some others have recommended. Both of the latter two can be exploited to pass garbage by a check (with CRC32, you have some control over the content, even).
MD5 is *not* suitable for ensuring that two files are identical when a malicious user is involved. It *is* suitable for ensuring that a malicious user may not hand you anything that passes but pure garbage (given what we know about MD5 today).
CRC32 is totally unsuitable for any environments that could involve malicious users.
SHA is the only common hash appropriate for this sort of problem.
You download file chunks from multiple people, and files can even have a completely different filename. All files are given a hash value to compare to.
Speaking of good things about eDonkey, there is also forced uploads, meaning no losers cutting your downloads on you.
The next version of eDonkey is supposed to implement a new method of decentralization that requires no servers for search requests. I sure can't wait, since the current eDonkey network is beginning to succumb under the strain of its popularity.
I'm not completely versed in morpheus/kazaa/bearshare/whatever, but I understand they allow you to download a file from more than one other person simultaneously, known as "swarming" the download (btw, this is called "anteloping" on furthurnet). It is my further understanding that you can only do this from people who have the *complete* file.
What bitTorrent (I think) and furthurnet (I know) are doing is different than this. If 5 people are downloading a file from the one person who is sharing it, those 5 people can be the beginning of 5 chains of people, relaying each packet down the chain as they get it, regardless of whether or not anyone has the complete file.
Furthurnet uses a protocol called PCP (Packet Chain Protocol) to do this, and it automatically arranges the chains so that those with faster upload speeds are toward the top, with the dialup users toward the bottom.
If the main host goes offline, even if no one on the chain has the entire file, everyone on the chain can still continue downloading everything that the topmost person on the chain has already saved.
A good example: say a dialup user has large file that is in high demand. A T1 user comes along and spends a long time downloading it off of the dialup users horrible upload speed, and gets about 80% of it before anyone else comes to download. Then you show up with your cable connection and instead of being at the mercy of the upload speed of the dialup guy, you have access to 80% of the file from the plentiful upload speed from the T1 guy. And of course Furthur knows to hook you up to the fastest open slot available when you come along.
The result of this is that the underlying host and network shape becomes transparent, and you just see a list of shows to download, you start downloading one, and all this stuff happens in the background. The longer everyone stays connected to the network, the more efficient it comes because it has more time to structure it with the faster folks in the "middle", and the slower ones on the "outside".
Over at furthurnet, the current record is having 71 people on a downloading chain. Combine PCP with the Anteloping and you can have some serious improvement over "dumb" p2p.
I wont even go into the benefits of the md5 checking furthur does...
If you're shipping around small files, like MP3s, there are lots of transfer systems that can do the job. But the Lossless Compression movement for music means that a concert tape is typically a few hundred megabytes large, maybe 1/3 the size of the uncompressed original, so it takes much longer to download, just as ISOs for Linux distributions are large. In that environment, you can't always depend on connections being up for a long enough time, so you need to be able to download parts of files, and swarming systems like BitTorrent help a lot.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
BitTorrent is...suspect. Even worse, its creator is a bit much. Please see, on the same site, http://bitconjurer.org/a_torturers_account.html and http://bitconjurer.org/it_happened.html. This Bram Cohen is One Sick Fuck.
How will tit-for-tat leech resistance work if someone has an Asynchronous DSL connection? If my download bandwith is 768 kbps but my upload bandwidth is technically limited to 128 kbps (as is common with many DSL offers for private home users), will the leech resistance feature think I'm guilty?
Idempotent operation: Like MS software, wether you run it once or often, that doesn't make it any better.