[go: nahoru, domu]

Jump to content

BitTorrent: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
→‎External links: lets keep the search engines below the other info links
Removed section that is not NPOV, see talk
Line 26: Line 26:


A similar method to BitTorrent was the Participation Level introduced in [[KaZaA]] in [[2002]]. The Participation Level would increase when you upload and decrease when you download. Then when you upload a file to someone else the person with the highest Participation Level gets it first, then they upload it on to the person with the next highest Participation Level, and so on. This can be visualised as a pyramid, with the people who have the most upload bandwidth available at the top and people with less bandwidth on progressively lower levels. This is the most efficient way to distribute a file to a large number of users: it is probable that even the people at the bottom of the pyramid will get the file faster than if the file was served by a non P2P method. Unfortunately the system adopted by KaZaA is considered by some to be flawed as it relies on the client accurately reporting their Participation Level and therefore it is easy to cheat with the many "unofficial" clients.
A similar method to BitTorrent was the Participation Level introduced in [[KaZaA]] in [[2002]]. The Participation Level would increase when you upload and decrease when you download. Then when you upload a file to someone else the person with the highest Participation Level gets it first, then they upload it on to the person with the next highest Participation Level, and so on. This can be visualised as a pyramid, with the people who have the most upload bandwidth available at the top and people with less bandwidth on progressively lower levels. This is the most efficient way to distribute a file to a large number of users: it is probable that even the people at the bottom of the pyramid will get the file faster than if the file was served by a non P2P method. Unfortunately the system adopted by KaZaA is considered by some to be flawed as it relies on the client accurately reporting their Participation Level and therefore it is easy to cheat with the many "unofficial" clients.

==Legal issues==
While created to distribute files legally, such as [[GNU/Linux]] distributions, large movie trailers, or [[CD]] images of the [[Baen]] books on CD (which are legal, and only available via [[file sharing]]), BitTorrent is also being used by some to download music, movies, and software illegally, similar to many other peer-to-peer networks.

BitTorrent was used to distribute high-quality bootlegs of the movie ''[[The Matrix Reloaded]]'' created from film prints just days after the movie was released in theaters. There were BitTorrent links on [[Slashdot]] to the [[Half-Life 2]] source code (soon after it was leaked in October 2003), as well as to the (incomplete) [[Microsoft_Windows|Windows]] NT and Windows 2000 [[source tree|source trees]] in February 2004 (amidst rumoured third-party leaks).

The movie, ''[[Star Wars Episode III: Revenge of the Sith]]'' became available to download by BitTorrent users hours before its worldwide premier. Within a few days, tens of thousands of people had downloaded a relatively high-quality workprint of the movie that was 20 minutes longer than the one in theatres. The FBI was able to shut down some of the sites that listed the trackers to download the movie and the [[Motion Picture Association of America]] (MPAA) and [[George Lucas]] were able to have the trackers removed from other sites. Despite these efforts, the file continued to be circulated on other sites.

=== Copyright enforcement ===
In December 2004 the Finnish police raided a major BitTorrent site. [http://www.theregister.co.uk/2004/12/14/finnish_police_raid_bittorrent_site/]. The court handling will take place later this year.

[[Suprnova.org|Suprnova]], one of the most popular BitTorrent sites, closed in December 2004, supposedly due to the pressure felt by the founder and administrator of the site. LokiTorrent, arguably the biggest torrent source after the demise of Suprnova, closed down soon after. Allegedly, after threats from the [[MPAA]], Webber, webmaster of the site, agreed to pay a fine and supply the MPAA with logs (the [[IP address]]es of visitors).

Interestingly, Webber (known as "lowkee"), in the weeks following his reception of the [[subpoena]], had begun a fundraising campaign to pay lawyers fees in a legal battle against the [[MPAA]]. In news reports, Webber said he would stand up to protect the rights of file sharers, which he did not. Webber raised approximately $45,000 (USD) through a [[PayPal]]-based donation system. It is unclear how much of that money went to the MPAA. Following the agreement, the MPAA changed the LokiTorrent website to display a message intended to intimidate illegal filesharers. Webber did not comment on this change.

=== Legal defenses ===
There are two major differences between BitTorrent and many other peer-to-peer file-trading systems, which advocates suggest make it less useful to copyright violators. First, BitTorrent does not offer a search facility to find files by name. A user must find the initial torrent file by other means, such as a Web search. Second, BitTorrent makes no attempt to conceal the host ultimately responsible for a given file's availability: a person who wishes to make a file available must run a tracker on a specific host or hosts and distribute the tracker address(es) in the <tt>.torrent</tt> file. While it is possible to simply operate a tracker on a server that is located where the copyright holder cannot take legal action, this feature of the protocol does imply ''some'' degree of accountability that other protocols lack. It is far easier to request that the server's [[internet service provider]] shut the site down than it is to find and identify every user sharing a file on a traditional peer-to-peer network.

=== Legal uses for BitTorrent ===
BitTorrent can also be used for legal purposes by software developers who want to ease the bandwidth strain on their servers. If a developer offers a large file for download, the bandwidth limit of their server may be exceeded if a large number of people download the file. By offering the file via BitTorrent, they transfer much of the bandwidth burden to downloaders of the file. For example, the demo of the [[flight sim]] [[X-Plane]] is offered via BitTorrent, as well as the [[World of Warcraft]] beta and its patches. Another such example is [[PlaneShift]], a free open-source MMORPG, which uses BitTorrent for its primary method of distribution. The fan-film [[Star_Wars_Revelations|Star Wars: Revelations]] is distributing two DVD images as well as the film by itself via BitTorrent. [[NetBSD]] operating system uses BitTorrent as an alternative way of downloading ISO images of its releases, since version 1.6.2.

Following the success of the BitTorrent protocol, [[Bram Cohen]], its creator, was hired to develop a means of distributing patches and other content for online video games in [[2004]], proving that there are some less controversial reasons for the development of this technology. While many legal files, including Linux distributions, are available on other networks such as eDonkey2000 and Gnutella these are placed there by users and not generally part of the official distribution mechanism. So far, BitTorrent seems to be the most popular P2P protocol adopted officially for legal uses.


==Etiquette==
==Etiquette==

Revision as of 01:35, 7 June 2005

File:BitTorrent.Logo.png

BitTorrent is a peer-to-peer (P2P) file distribution tool written by programmer Bram Cohen and debuted at CodeCon 2002. The reference implementation is written in Python and is released under the BitTorrent Open Source License (a modified version of the Jabber Open Source License), as of version 4.0.

With BitTorrent, files are broken into smaller fragments, typically a quarter of a megabyte each. As the fragments get distributed to the peers, they can be reassembled on a requesting machine in a random order. Each peer takes advantage of the best connections to the missing pieces while providing an upload connection to the pieces it already has. This scheme has proven particularly adept in trading large files such as videos and software source code. In conventional downloading, high demand leads to bottlenecks as demand surges for bandwidth from the host server. With BitTorrent, high demand can actually speed throughput as more bandwidth and additional “seeds” of the completed file become available to the group. Cohen claims that for very popular files, BitTorrent can support about a thousand times as many downloads as HTTP.

Sharing files

BitTorrent greatly reduces the load on the server, because the users generally download the file from each other, not the server. As the colored bars below each client show, the file is downloaded in random order, instead of sequential order.

To share a file using BitTorrent, a user creates a .torrent file, a small "pointer" file which contains:

  • the filename, size, and the hash of each block in the file (which allows users to make sure they are downloading the real thing)
  • the address of a "tracker" server (which is discussed below)
  • and some other data.

The torrent file can then be distributed to other users, often via email or placed on a website. The BitTorrent client is then started as a "seed node", allowing other users to connect and commence downloading. When other users finish downloading the entire file, they can optionally "reseed" it--becoming an additional source for the file. One outcome of this approach is that if all seeds get taken offline, the file may no longer be available for download, even if the torrent file is possessed. However, even if there are no seeds, as long as there is at least one distributed copy of the file everyone can eventually get the complete file.

Downloading with BitTorrent is straightforward. Each person who wants to download the file first downloads the torrent and opens it in the BitTorrent client software. The torrent file tells the client the address of the tracker, which, in turn, maintains a log of which users are downloading the file and where the file and its fragments reside. For each available source, the client considers which blocks of the file are available, then requests the rarest block it does not yet have. This makes it more likely that peers will have blocks to exchange. As soon as the client finishes importing a block, it hashes it to make sure that the block matches what the torrent file said it should be. Then it begins looking for someone to upload the block to.

BitTorrent gives the best download performance to the people who upload the most, a property known as "leech resistance", since it discourages "leeches" from trying to download the file without uploading it to anyone. (Although, confusingly, when used in opposition to "seeds" or "seeders" as in "S/L ratio" (meaning "seed/leech ratio"), "leecher" only means someone who hasn't downloaded the full file yet.)

Though BitTorrent is a good protocol for a broadband user, it is less effective for dial up connections, where disconnections are common.

Comparison to other file sharing systems

File:BitTorrent.PNG
Version 4.0.2 running in Windows XP
File:BitTorrent download.jpg
BitTorrent download window, using the original client

The method used by BitTorrent to distribute files parallels to a large extent the one used by the eDonkey2000 network, but nodes in eDonkey's file sharing network usually share and download a much larger number of files, making the bandwidth available to each transfer much smaller. BitTorrent transfers are typically very fast, because all nodes in a group concentrate on transferring a single file or collection of files. While the original eDonkey2000 client provided little "leech resistance", most new clients have some sort of system to encourage uploaders. eMule, for example, has a credits system whereby a client stores the amount of data it has uploaded and downloaded from every client and gives clients that have net upload to it a higher priority in the queue. However, the nature of the eDonkey2000 concept means download speeds tend to be much more variable, although the number of available files is far greater.

A similar method to BitTorrent was the Participation Level introduced in KaZaA in 2002. The Participation Level would increase when you upload and decrease when you download. Then when you upload a file to someone else the person with the highest Participation Level gets it first, then they upload it on to the person with the next highest Participation Level, and so on. This can be visualised as a pyramid, with the people who have the most upload bandwidth available at the top and people with less bandwidth on progressively lower levels. This is the most efficient way to distribute a file to a large number of users: it is probable that even the people at the bottom of the pyramid will get the file faster than if the file was served by a non P2P method. Unfortunately the system adopted by KaZaA is considered by some to be flawed as it relies on the client accurately reporting their Participation Level and therefore it is easy to cheat with the many "unofficial" clients.

Etiquette

Because BitTorrent relies on the upstream bandwidth of its users—and the more users, the more aggregate bandwidth is available for sharing the files—it is considered good etiquette to leave one's BitTorrent client open after downloading has completed so that others may continue to gain from the file that has been distributed.

It is not clear, however, how long one should leave their client open after downloading has finished. Many clients report the byte traffic upstream as well as down, so the user can see how much they have contributed back to the network. It is generally considered good form to at least share back the equivalent amount of traffic as the original file size.

The amount of time the client is left open may be more important than the amount of traffic contributed, since new users attempting to download a file will first need to find peers hosting the file.

New developments

The BitTorrent protocol is still under development and therefore may still acquire new features and other enhancements such as improved efficiency.

Alternative approaches

The BitTorrent protocol provides no way to index torrent files. As a result, a comparatively small number of websites have hosted the large majority of torrents, rendering those sites especially vulnerable to lawsuits. In response, some developers have sought ways to make file publishing more anonymous while still retaining BitTorrent's speed advantage. The Shareaza client, for example, provides three alternatives to BitTorrent: eDonkey2000, Gnutella, and Shareaza's native network, Gnutella2. BitTorrent also inspired the privately held company InmateMediaGroup: eXeem. It is backed by Andrej Preston, the administrator of the now defunct Suprnova BitTorrent website. eXeem is supposed to decentralize BitTorrent and eliminate the need for web-based trackers (easy targets for the RIAA or the MPAA). Unlike BitTorrent (the protocol and the official client), eXeem is closed-source and owned by a corporation. Distributed trackers is also one of the goals for Azureus 2.3.0.0 and BitTorrent 4.1.0. Another interesting idea which has surfaced recently in Azureus is virtual torrent. This idea is based on the distributed tracker approach and is used to describe some web resource. Right now it is used for instant messaging. It is implemented using special messaging protocol and requires an appropriate plugin.

BitTorrent search / Trackerless

A new BitTorrent online search was recently implemented (Betanews article). One can search content provided by BT. A new beta "trackerless" client was also released. This eliminates the need for a tracker.


Web seeding

One recently implemented feature of BitTorrent is web seeding. The advantage of this feature is that a site may distribute a torrent for a particular file or batch of files and make those files available for download from that same web server application; this can simplify seeding and load balancing greatly once support for this feature is implemented in the various BitTorrent clients. In theory, this would make using BitTorrent almost as easy for a web publisher as simply creating a direct download while allowing some of the upload bandwidth demands to be placed upon the downloaders (who normally use only a very small portion of their upload bandwidth capacity). This feature is an unofficial one, created by the author of a specific third-party client.

Broadcatching

Another proposed feature combines RSS and BitTorrent to create a content delivery system dubbed broadcatching. Since a Steve Gillmor column for Ziff-Davis in December 2003, the discussion has spread quickly among many bloggers (Techdirt, Ernest Miller, and former Tech TV host Chris Pirillo, for example). In an interview Scott Raymond explained:

"I want RSS feeds of BitTorrent files. A script would periodically check the feed for new items, and use them to start the download. Then, I could find a trusted publisher of an Alias RSS feed, and 'subscribe' to all new episodes of the show, which would then start downloading automatically — like the 'season pass' feature of the TiVo."

While potential illegal uses abound as is the case with any new distribution method, this idea lends itself to a great number of ideas that could turn traditional distribution models on their heads, giving smaller operations a new opportunity for content distribution. Similar to Linspire, the system leans on the cost-saving benefit of BitTorrent, where expenses are virtually non-existent; each downloader of a file participates in a portion of the distribution.

RSS feeds layered on top keep track of the content, and because BitTorrent does cryptographic hashing of all data, subscribers to the feed can be sure they're getting what they think they're getting, whether that winds up being the latest Sopranos episode, or the latest Sveasoft firmware upgrade. (Naturally, however, ensuring that the same data reaches all nodes neglects the possibility that the original, source file may be corrupted or incorrectly labelled.)

Despite ample discussion, the first practical applications of this idea have only surfaced recently.

  • Programmer Andrew Grumet has announced the release of a beta version of an RSS and BitTorrent integration tool for Radio Userland's news aggregator [1].
  • TV RSS is another solution.
  • SwarmTV yet another BitTorrent + XML television system.
  • Undercurrents, a UK based video activist group are working on an offline TV service using RSS and BitTorrent. It can be seen at beyondTV.
  • Thinkingest is providing commercial broadcatching and pro-bono consulting for community projects, such as OurMedia [2].
  • Anime fansub communities often use Bittorrent for their releases, and the most popular announce sites like animesuki, Tokyo Toshokan, and downloadanime.org have RSS feeds.
  • X Hollywood aggregates RSS feeds from BitTorrent websites.

And also,

  • Azureus also has an RSS feedreader plug-in which can be used in conjunction with the sites mentioned above.
  • Blog Torrent offers a simplified BitTorrent tracker to enable bloggers and non-technical users to run a tracker off their site with the added functionality of letting visitors download a file even if they do not have a BitTorrent client installed by automatically installing a client and the desired file. (GrepLaw interviews makers of Blog Torrent.)
  • WritTorrent offers a blog posting plugin for Azureus, as well as RSS feeds for the built-in Azureus tracker.
  • TvM is another BT/RSS feedreader for Windows designed to be as simple as possible.

Podcasting is starting to integrate BitTorrent to help podcasters deal with the download demands of their MP3 "radio" programs. Specifically, iPodder supports BitTorrent for the RSS 2.0 enclosures that power podcasting.

See also