BitTorrent
Encyclopedia
BitTorrent is a peer-to-peer file sharing
protocol used for distributing large amounts of data
over the Internet. BitTorrent is one of the most common protocols for transferring large files, and it has been estimated that it accounted for roughly 43% to 70% of all Internet traffic
(depending on geographical location) .
Programmer Bram Cohen
designed the protocol in April 2001 and released a first implementation on July 2, 2001. It is now maintained by Cohen's company BitTorrent, Inc. There are numerous BitTorrent client
s available for a variety of computing platforms.
BitTorrent has 100 million users and a greater share of network bandwidth than Netflix
and Hulu
combined.
At any given instant of time BitTorrent has, on average, more active users than YouTube
and Facebook
combined. (This refers to the number of active users at any instant and not to the total number of unique users.)
so many small computers, like mobile phones, are able to efficiently distribute files to many recipients.
A user who wants to upload a file first creates a small torrent descriptor file that they distribute by conventional means (web, email, etc.). They then make the file itself available through a BitTorrent node acting as a seed. Those with the torrent descriptor file can give it to their own BitTorrent nodes which, acting as peers or leechers, download
it by connecting to the seed and/or other peers.
The file being distributed is divided into segments called pieces. As each peer receives a new piece of the file it becomes a source of that piece to other peers, relieving the original seed from having to send a copy to every computer or user wishing for a copy. With BitTorrent, the task of distributing the file is shared by those who want it; it is entirely possible for the seed to send only a single copy of the file itself and eventually distribute to an unlimited number of peers.
Each piece is protected by a cryptographic hash contained in the torrent descriptor. This ensures that any modification of the piece can be reliably detected, and thus prevents both accidental and malicious modifications of any of the pieces received at other nodes. If a node starts with an authentic copy of the torrent descriptor, it can verify the authenticity of the entire file it receives.
When a peer completely downloads a file, it becomes an additional seed. This eventual shift from peers to seeders determines the overall "health" of the file (as determined by the number of times a file is available in its complete form).
The distributed nature of BitTorrent leads to a flood like
spreading of a file throughout many peer computer nodes. As more peers join the swarm, the likelihood of a complete successful download by any particular node increases. Relative to traditional Internet distribution schemes, this permits a significant reduction in the original distributor's hardware
and bandwidth resource costs. It also provides redundancy against system problems, reduces dependence on the original distributor and provides sources for the file which are generally transient and therefore harder to trace by those who would block distribution compared to the situation provided by limiting availability of the file to a fixed host machine (or even several).
over a network, using the protocol. A peer is any computer running an instance of a client.
To share a file or group of files, a peer first creates a small file called a "torrent
" (e.g. MyFile.torrent). This file contains metadata
about the files to be shared and about the tracker
, the computer that coordinates the file distribution. Peers that want to download the file must first obtain a torrent file for it and connect to the specified tracker, which tells them from which other peers to download the pieces of the file.
Though both ultimately transfer files over a network, a BitTorrent download differs from a classic download (as is typical with an HTTP
or FTP
request, for example) in several fundamental ways:
Taken together, these differences allow BitTorrent to achieve much lower cost to the content provider, much higher redundancy, and much greater resistance to abuse or to "flash crowds
" than regular server software
. However, this protection, theoretically, comes at a cost: downloads can take time to rise to full speed because it may take time for enough peer connections to be established, and it may take time for a node to receive sufficient data to become an effective uploader. This contrasts with regular downloads (such as from an HTTP server, for example) that, while more vulnerable to overload and abuse, rise to full speed very quickly and maintain this speed throughout.
In general, BitTorrent's non-contiguous download methods have prevented it from supporting "progressive downloads" or "streaming playback". However, comments made by Bram Cohen in January 2007 suggest that streaming torrent downloads will soon be commonplace and ad supported streaming appears to be the result of those comments. In January 2011 Cohen demonstrated an early version of BitTorrent streaming, saying the feature will be available by summer 2011.
for each piece, using the SHA-1 hash function, and records it in the torrent file. Pieces with sizes greater than 512 kB will reduce the size of a torrent file for a very large payload, but is claimed to reduce the efficiency of the protocol. When another peer later receives a particular piece, the hash of the piece is compared to the recorded hash to test that the piece is error-free. Peers that provide a complete file are called seeders, and the peer providing the initial copy is called the initial seeder.
The exact information contained in the torrent file depends on the version of the BitTorrent protocol. By convention, the name of a torrent file has the suffix
of the tracker, and an "info" section, containing (suggested) names for the files, their lengths, the piece length used, and a SHA-1 hash code for each piece, all of which are used by clients to verify the integrity of the data they receive.
Torrent files are typically published on websites or elsewhere, and registered with at least one tracker. The tracker maintains lists of the clients currently participating in the torrent. Alternatively, in a trackerless system (decentralized tracking) every peer acts as a tracker. Azureus was the first BitTorrent client to implement such a system through the distributed hash table
(DHT) method. An alternative and incompatible DHT system, known as Mainline DHT, was later developed and adopted by the BitTorrent (Mainline), µTorrent, Transmission, rTorrent
, KTorrent
, BitComet
, and Deluge clients.
After the DHT was adopted, a "private" flag — analogous to the broadcast flag
— was unofficially introduced, telling clients to restrict the use of decentralized tracking regardless of the user's desires. The flag is intentionally placed in the info section of the torrent so that it cannot be disabled or removed without changing the identity of the torrent. The purpose of the flag is to prevent torrents from being shared with clients that do not have access to the tracker. The flag was requested for inclusion in the official specification in August, 2008, but has not been accepted. Clients that have ignored the private flag were banned by many trackers, discouraging the practice.
Clients incorporate mechanisms to optimize their download and upload rates; for example they download pieces in a random order to increase the opportunity to exchange data, which is only possible if two peers have different pieces of the file.
The effectiveness of this data exchange depends largely on the policies that clients use to determine to whom to send data. Clients may prefer to send data to peers that send data back to them (a tit for tat
scheme), which encourages fair trading. But strict policies often result in suboptimal situations, such as when newly joined peers are unable to receive any data because they don't have any pieces yet to trade themselves or when two peers with a good connection between them do not exchange data simply because neither of them takes the initiative. To counter these effects, the official BitTorrent client program uses a mechanism called "optimistic unchoking", whereby the client reserves a portion of its available bandwidth for sending pieces to random peers (not necessarily known good partners, so called preferred peers) in hopes of discovering even better partners and to ensure that newcomers get a chance to join the swarm.
Although swarming scales well to tolerate flash crowds for popular content, it is less useful for unpopular content. Peers arriving after the initial rush might find the content unavailable and need to wait for the arrival of a seed in order to complete their downloads. The seed arrival, in turn, may take long to happen (this is termed the seeder promotion problem). Since maintaining seeds for unpopular content entails high bandwidth and administrative costs, this runs counter to the goals of publishers that value BitTorrent as a cheap alternative to a client-server approach. This occurs on a huge scale; measurements have shown that 38% of all new torrents become unavailable within the first month. A strategy adopted by many publishers which significantly increases availability of unpopular content consists of bundling multiple files in a single swarm. More sophisticated solutions have also been proposed; generally, these use cross-torrent mechanisms through which multiple torrents can cooperate to better share content.
BitTorrent does not offer its users anonymity. It is possible to obtain the IP address
es of all current and possibly previous participants in a swarm from the tracker. This may expose users with insecure systems to attacks. It may also expose users to the risk of being sued, if they are distributing files without permission from the copyright holder(s). However, there are ways to promote anonymity; for example, the OneSwarm
project layers privacy-preserving sharing mechanisms on top of the original BitTorrent protocol.
BitTorrent has 100 million users and a greater share of network bandwidth than Netflix
and Hulu
combined.
At any given instant of time BitTorrent has, on average, more active users than YouTube
and Facebook
combined. (This refers to the number of active users at any instant and not to the total number of registered users.)
CableLabs
, the research organization of the North American cable industry, estimates that BitTorrent represents 18% of all broadband traffic. In 2004, CacheLogic put that number at roughly 35% of all traffic on the Internet. The discrepancies in these numbers are caused by differences in the method used to measure P2P traffic on the Internet.
Routers that use network address translation
(NAT) must maintain tables of source and destination IP addresses and ports. Typical home routers are limited to about 2000 table entries while some more expensive routers have larger table capacities. BitTorrent frequently contacts 20–30 servers per second, rapidly filling the NAT tables. This is a common cause of home routers locking up.
Public torrent hosting sites such as The Pirate Bay
allow users to search and download from their collection of torrent files. Users can typically also upload torrent files for content they wish to distribute. Often, these sites also run BitTorrent tracker
s for their hosted torrent files, but these two functions are not mutually dependent: a torrent file could be hosted on one site and tracked by another, unrelated site.
Private host/tracker sites operate like public ones except that they restrict access to registered users and keep track of the amount of data each user uploads and downloads, in an attempt to reduce leeching
.
Search engine
s allow the discovery of torrent files that are hosted and tracked on other sites; examples include Mininova
, BTDigg
, BTJunkie
, Torrentz
, The Pirate Bay
, Eztorrent and isoHunt
. These sites allow the user to ask for content meeting specific criteria (such as containing a given word or phrase) and retrieve a list of links to torrent files matching those criteria. This list can often be sorted with respect to several criteria, relevance (seeders-leechers ratio) being one of the most popular and useful (due to the way the protocol behaves, the download bandwidth achievable is very sensitive to this value). Bram Cohen launched a BitTorrent search engine on http://www.bittorrent.com/search that co-mingles licensed content with search results. Metasearch engine
s allow one to search several BitTorrent indices and search engines at once. DHT search engines
monitors the DHT network and indexes torrents via metadata exchange from peers.
) was released, introducing support for "trackerless" torrents through a system called the "distributed database." This system is a DHT
implementation which allows the client to use torrents that do not have a working BitTorrent tracker
. The following month, BitTorrent, Inc. released version 4.2.0 of the Mainline BitTorrent client, which supported an alternative DHT implementation (popularly known as "Mainline DHT") that is incompatible with that of Azureus. Current versions of the official BitTorrent client
, µTorrent, BitComet
, Transmission and BitSpirit all share compatibility with Mainline DHT. Both DHT implementations are based on Kademlia
. As of version 3.0.5.0, Azureus also supports Mainline DHT in addition to its own distributed database through use of an optional application plugin. This potentially allows the Azureus client to reach a bigger swarm.
Another idea that has surfaced in Vuze is that of virtual torrents. This idea is based on the distributed tracker approach and is used to describe some web resource. Currently, it is used for instant messaging
. It is implemented using a special messaging protocol and requires an appropriate plugin. Anatomic P2P is another approach, which uses a decentralized network of nodes that route traffic to dynamic trackers.
Most BitTorrent clients also use Peer exchange
(PEX) to gather peers in addition to trackers
and DHT
. Peer exchange checks with known peers to see if they know of any other peers. With the 3.0.5.0 release of Vuze, all major BitTorrent clients now have compatible peer exchange.
through the use of existing, cheap, web hosting setups. In theory, this would make using BitTorrent almost as easy for a web publisher as creating a direct HTTP download. In addition, it would allow the "web seed" to be disabled if the swarm becomes too popular while still allowing the file to be readily available.
This feature has two distinct and incompatible specifications.
The first was created by John "TheSHAD0W" Hoffman, who created BitTornado
. From version 5.0 onward, the Mainline BitTorrent client also supports web seeds, and the BitTorrent web site had a simple publishing tool that creates web seeded torrents. µTorrent added support for web seeds in version 1.7. BitComet
added support for web seeds in version 1.14. This first specification requires running a web service that serves content by info-hash and piece number, rather than filename.
The other specification is created by GetRight
authors and can rely on a basic HTTP download space (using byte serving
).
In September 2010, a new service named Burnbit was launched which generates a torrent from any URL using webseeding.
There exist server-side solutions that provide initial seeding of the file from the webserver via standard Bittorrent protocol and when the number of external seeders reach a limit, they stop serving the file from the original source.
combines RSS
with the BitTorrent protocol to create a content delivery system, further simplifying and automating content distribution. Steve Gillmor explained the concept in a column for Ziff-Davis in December, 2003. The discussion spread quickly among bloggers (Ernest Miller, Chris Pirillo
, etc.). In an article entitled Broadcatching with BitTorrent, Scott Raymond explained:
The RSS feed will track the content, while BitTorrent ensures content integrity with cryptographic
hashing
of all data, so feed subscribers will receive uncorrupted content.
One of the first and popular software clients (free
and open source) for broadcatching is Miro. Other free software clients such as PenguinTV and KatchTV are also now supporting broadcatching.
The BitTorrent web-service MoveDigital had the ability to make torrents available to any web application capable of parsing XML
through its standard REST
-based interface, although this has since been discontinued. Additionally, Torrenthut is developing a similar torrent API that will provide the same features, as well as further intuition to help bring the torrent community to Web 2.0
standards. Alongside this release is a first PHP
application built using the API called PEP, which will parse any Really Simple Syndication (RSS 2.0) feed and automatically create and seed a torrent for each enclosure found in that feed.
Protocol header encrypt (PHE) and Message stream encryption/Protocol encryption (MSE/PE)
are features of some BitTorrent clients that attempt to make BitTorrent hard to detect and throttle. At the moment Vuze
, Bitcomet
, KTorrent
, Transmission, Deluge, µTorrent, MooPolice, Halite, rTorrent
and the latest official BitTorrent client (v6) support MSE/PE encryption.
In September 2006 it was reported that some software could detect and throttle BitTorrent traffic masquerading as HTTP traffic.
Reports in August 2007 indicated that Comcast
was preventing BitTorrent seeding by monitoring and interfering with the communication between peers. Protection against these efforts is provided by proxying
the client-tracker traffic via an encrypted tunnel
to a point outside of the Comcast network. Comcast has more recently called a "truce" with BitTorrent, Inc. with the intention of shaping traffic in a protocol-agnostic manner. Questions about the ethics and legality of Comcast's behavior have led to renewed debate about net neutrality
in the United States.
In general, although encryption can make it difficult to determine what is being shared, BitTorrent is vulnerable to traffic analysis
. Thus even with MSE/PE, it may be possible for an ISP to recognize BitTorrent and also to determine that a system is no longer downloading but only uploading data, and terminate its connection by injecting TCP
RST (reset flag) packets.
, BitTornado
, BitTorrent, KTorrent
, Transmission, Deluge
, µTorrent, rtorrent
, and Vuze
. Trackers are placed in groups, or tiers, with a tracker randomly chosen from the top tier and tried, moving to the next tier if all the trackers in the top tier fail.
Torrents with multiple trackers can decrease the time it takes to download a file, but also has a few consequences:
, Torrentz
or BTDigg
.
The Tribler
BitTorrent client is the first to incorporate decentralized search capabilities. With Tribler, users can find .torrent files that are hosted among other peers, instead of on a centralized index sites. It adds such an ability to the BitTorrent protocol using a gossip protocol
, somewhat similar to the eXeem
network which was shut down in 2005. The software includes the ability to recommend content as well. After a dozen downloads the Tribler software can roughly estimate the download taste of the user and recommend additional content.
In May 2007 Cornell University
published a paper proposing a new approach to searching a peer-to-peer network for inexact strings, which could replace the functionality of a central indexing site. A year later, the same team implemented the system as a plugin for Vuze
called Cubit and published a follow-up paper reporting its success.
A somewhat similar facility but with a slightly different approach is provided by the BitComet
client through its "Torrent Exchange" feature. Whenever two peers using BitComet (with Torrent Exchange enabled) connect to each other they exchange lists of all the torrents (name and info-hash) they have in the Torrent Share storage (torrent files which were previously downloaded and for which the user chose to enable sharing by Torrent Exchange).
Thus each client builds up a list of all the torrents shared by the peers it connected to in the current session (or it can even maintain the list between sessions if instructed). At any time the user can search into that Torrent Collection list for a certain torrent and sort the list by categories. When the user chooses to download a torrent from that list, the .torrent file is automatically searched for (by info-hash value) in the DHT Network
and when found it is downloaded by the querying client which can after that create and initiate a downloading task.
, so BitTorrent clients have been created for all common operating systems using a variety of programming languages. The official BitTorrent client, µTorrent, Xunlei
, Vuze
and BitComet
are some of the most popular clients.
Some BitTorrent implementations such as MLDonkey
and Torrentflux
are designed to run as servers. For example, this can be used to centralize file sharing on a single dedicated server which users share access to on the network. Server-oriented BitTorrent implementations can also be hosted by hosting providers
at co-located
facilities with high bandwidth Internet connectivity (e.g., a datacenter) which can provide dramatic speed benefits over using BitTorrent from a regular home broadband connection.
Services such as ImageShack
can download files on BitTorrent for the user, allowing them to download the entire file by HTTP once it is finished.
The Opera
web browser
supports BitTorrent, as does Wyzo
. BitLet
allows users to download Torrents directly from their browser using a Java applet
. Sites such as xFiles and DuShare allow to transfer big files directly using bittorrent inside adobe Flash.
An increasing number of hardware devices are being made to support BitTorrent. These include routers and NAS devices containing BitTorrent-capable firmware like OpenWrt
.
Proprietary versions of the protocol which implement DRM
, encryption, and authentication are found within managed clients such as Pando
.
(SET), a technique for improving the speed at which peer-to-peer file sharing and content distribution systems can share data. SET, proposed by researchers Pucha, Andersen, and Kaminsky, works by spotting chunks of identical data in files that are an exact or near match to the one needed and transferring these data to the client if the "exact" data are not present. Their experiments suggested that SET will help greatly with less popular files, but not as much for popular data, where many peers are already downloading it. Andersen believes that this technique could be immediately used by developers with the BitTorrent file sharing system.
, BitTorrent, Inc. is working with Oversi on new Policy Discover Protocols that query the ISP for capabilities and network architecture information. Oversi's ISP hosted NetEnhancer box is designed to "improve peer selection" by helping peers find local nodes, improving download speeds while reducing the loads into and out of the ISP's network.
Various jurisdictions have pursued legal action against websites that host BitTorrent trackers. High-profile examples include the closing of Suprnova.org
, Torrentspy
, LokiTorrent
, Mininova
and OiNK.cd
. The Pirate Bay
torrent website, formed by a Swedish group, is noted for the "legal" section of its website in which letters and replies on the subject of alleged copyright infringements are publicly displayed. On 31 May 2006, The Pirate Bay's servers in Sweden were raided by Swedish police on allegations by the MPAA of copyright infringement; however, the tracker was up and running again three days later.
. In particular, one small sample indicated that 18% of all executable programs available for download contained malware. Another study claims that as much as 14.5% of BitTorrent downloads contain zero-day malware, and that BitTorrent was used as the distribution mechanism for 47% of all zero-day malware they have found.
Peer-to-peer file sharing
P2P or Peer-to-peer file sharing allows users to download files such as music, movies, and games using a P2P software client that searches for other connected computers. The "peers" are computer systems connected to each other through internet. Thus, the only requirements for a computer to join...
protocol used for distributing large amounts of data
Data
The term data refers to qualitative or quantitative attributes of a variable or set of variables. Data are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which...
over the Internet. BitTorrent is one of the most common protocols for transferring large files, and it has been estimated that it accounted for roughly 43% to 70% of all Internet traffic
Internet traffic
-Historical Internet Traffic Growth:Because of the distributed nature of the Internet, there is no single point of measurement for total Internet traffic...
(depending on geographical location) .
Programmer Bram Cohen
Bram Cohen
Bram Cohen is an American computer programmer, best known as the author of the peer-to-peer BitTorrent protocol, as well as the first file sharing program to use the protocol, also known as BitTorrent...
designed the protocol in April 2001 and released a first implementation on July 2, 2001. It is now maintained by Cohen's company BitTorrent, Inc. There are numerous BitTorrent client
BitTorrent client
BitTorrent is a peer-to-peer program developed by Bram Cohen and BitTorrent, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version...
s available for a variety of computing platforms.
BitTorrent has 100 million users and a greater share of network bandwidth than Netflix
Netflix
Netflix, Inc., is an American provider of on-demand internet streaming media in the United States, Canada, and Latin America and flat rate DVD-by-mail in the United States. The company was established in 1997 and is headquartered in Los Gatos, California...
and Hulu
Hulu
Hulu is a website and over-the-top subscription service offering ad-supported on-demand streaming video of TV shows, movies, webisodes and other new media, trailers, clips, and behind-the-scenes footage from NBC, Fox, ABC, and Obstacle on October 20th 2011 Nickelodeon and CBS and many other...
combined.
At any given instant of time BitTorrent has, on average, more active users than YouTube
YouTube
YouTube is a video-sharing website, created by three former PayPal employees in February 2005, on which users can upload, view and share videos....
and Facebook
Facebook
Facebook is a social networking service and website launched in February 2004, operated and privately owned by Facebook, Inc. , Facebook has more than 800 million active users. Users must register before using the site, after which they may create a personal profile, add other users as...
combined. (This refers to the number of active users at any instant and not to the total number of unique users.)
Description
The BitTorrent protocol can be used to reduce the server and network impact of distributing large files. Rather than downloading a file from a single source server, the BitTorrent protocol allows users to join a "swarm" of hosts to download and upload from each other simultaneously. The protocol is an alternative to the older single source, multiple mirror sources technique for distributing data, and can work over networks with lower bandwidthBandwidth (computing)
In computer networking and computer science, bandwidth, network bandwidth, data bandwidth, or digital bandwidth is a measure of available or consumed data communication resources expressed in bits/second or multiples of it .Note that in textbooks on wireless communications, modem data transmission,...
so many small computers, like mobile phones, are able to efficiently distribute files to many recipients.
A user who wants to upload a file first creates a small torrent descriptor file that they distribute by conventional means (web, email, etc.). They then make the file itself available through a BitTorrent node acting as a seed. Those with the torrent descriptor file can give it to their own BitTorrent nodes which, acting as peers or leechers, download
Uploading and downloading
In computer networks, to download means to receive data to a local system from a remote system, or to initiate such a data transfer. Examples of a remote system from which a download might be performed include a webserver, FTP server, email server, or other similar systems...
it by connecting to the seed and/or other peers.
The file being distributed is divided into segments called pieces. As each peer receives a new piece of the file it becomes a source of that piece to other peers, relieving the original seed from having to send a copy to every computer or user wishing for a copy. With BitTorrent, the task of distributing the file is shared by those who want it; it is entirely possible for the seed to send only a single copy of the file itself and eventually distribute to an unlimited number of peers.
Each piece is protected by a cryptographic hash contained in the torrent descriptor. This ensures that any modification of the piece can be reliably detected, and thus prevents both accidental and malicious modifications of any of the pieces received at other nodes. If a node starts with an authentic copy of the torrent descriptor, it can verify the authenticity of the entire file it receives.
When a peer completely downloads a file, it becomes an additional seed. This eventual shift from peers to seeders determines the overall "health" of the file (as determined by the number of times a file is available in its complete form).
The distributed nature of BitTorrent leads to a flood like
Flooding algorithm
A flooding algorithm is an algorithm for distributing material to every part of a connected network. The name derives from the concept of inundation by a flood....
spreading of a file throughout many peer computer nodes. As more peers join the swarm, the likelihood of a complete successful download by any particular node increases. Relative to traditional Internet distribution schemes, this permits a significant reduction in the original distributor's hardware
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....
and bandwidth resource costs. It also provides redundancy against system problems, reduces dependence on the original distributor and provides sources for the file which are generally transient and therefore harder to trace by those who would block distribution compared to the situation provided by limiting availability of the file to a fixed host machine (or even several).
Operation
A BitTorrent client is any program that implements the BitTorrent protocol. Each client is capable of preparing, requesting, and transmitting any type of computer fileComputer file
A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished...
over a network, using the protocol. A peer is any computer running an instance of a client.
To share a file or group of files, a peer first creates a small file called a "torrent
Torrent file
A torrent file stores metadata used for BitTorrent. It is defined in the BitTorrent specification.Simply, a torrent is data about a target file, though it contains no information about the content of the file. The only data that the torrent holds is information about the location of different...
" (e.g. MyFile.torrent). This file contains metadata
Metadata
The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...
about the files to be shared and about the tracker
BitTorrent tracker
A BitTorrent tracker is a server that assists in the communication between peers using the BitTorrent protocol. It is also, in the absence of extensions to the original protocol, the only major critical point, as clients are required to communicate with the tracker to initiate downloads...
, the computer that coordinates the file distribution. Peers that want to download the file must first obtain a torrent file for it and connect to the specified tracker, which tells them from which other peers to download the pieces of the file.
Though both ultimately transfer files over a network, a BitTorrent download differs from a classic download (as is typical with an HTTP
Hypertext Transfer Protocol
The Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web....
or FTP
File Transfer Protocol
File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...
request, for example) in several fundamental ways:
- BitTorrent makes many small data requests over different TCPTransmission Control ProtocolThe Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
connections to different machines, while classic downloading is typically made via a single TCP connection to a single machine. - BitTorrent downloads in a random or in a "rarest-first" approach that ensures high availability, while classic downloads are sequential.
Taken together, these differences allow BitTorrent to achieve much lower cost to the content provider, much higher redundancy, and much greater resistance to abuse or to "flash crowds
Slashdot effect
The Slashdot effect, also known as slashdotting, occurs when a popular website links to a smaller site, causing a massive increase in traffic. This overloads the smaller site, causing it to slow down or even temporarily close. The name stems from the huge influx of web traffic that results from...
" than regular server software
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...
. However, this protection, theoretically, comes at a cost: downloads can take time to rise to full speed because it may take time for enough peer connections to be established, and it may take time for a node to receive sufficient data to become an effective uploader. This contrasts with regular downloads (such as from an HTTP server, for example) that, while more vulnerable to overload and abuse, rise to full speed very quickly and maintain this speed throughout.
In general, BitTorrent's non-contiguous download methods have prevented it from supporting "progressive downloads" or "streaming playback". However, comments made by Bram Cohen in January 2007 suggest that streaming torrent downloads will soon be commonplace and ad supported streaming appears to be the result of those comments. In January 2011 Cohen demonstrated an early version of BitTorrent streaming, saying the feature will be available by summer 2011.
Creating and publishing torrents
The peer distributing a data file treats the file as a number of identically sized pieces, usually with byte sizes of a power of 2, and typically between 32 kB and 16 MB each. The peer creates a hashHash function
A hash function is any algorithm or subroutine that maps large data sets to smaller data sets, called keys. For example, a single integer can serve as an index to an array...
for each piece, using the SHA-1 hash function, and records it in the torrent file. Pieces with sizes greater than 512 kB will reduce the size of a torrent file for a very large payload, but is claimed to reduce the efficiency of the protocol. When another peer later receives a particular piece, the hash of the piece is compared to the recorded hash to test that the piece is error-free. Peers that provide a complete file are called seeders, and the peer providing the initial copy is called the initial seeder.
The exact information contained in the torrent file depends on the version of the BitTorrent protocol. By convention, the name of a torrent file has the suffix
.torrent
. Torrent files have an "announce" section, which specifies the URLUniform Resource Locator
In computing, a uniform resource locator or universal resource locator is a specific character string that constitutes a reference to an Internet resource....
of the tracker, and an "info" section, containing (suggested) names for the files, their lengths, the piece length used, and a SHA-1 hash code for each piece, all of which are used by clients to verify the integrity of the data they receive.
Torrent files are typically published on websites or elsewhere, and registered with at least one tracker. The tracker maintains lists of the clients currently participating in the torrent. Alternatively, in a trackerless system (decentralized tracking) every peer acts as a tracker. Azureus was the first BitTorrent client to implement such a system through the distributed hash table
Distributed hash table
A distributed hash table is a class of a decentralized distributed system that provides a lookup service similar to a hash table; pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key...
(DHT) method. An alternative and incompatible DHT system, known as Mainline DHT, was later developed and adopted by the BitTorrent (Mainline), µTorrent, Transmission, rTorrent
RTorrent
rTorrent is a text-based ncurses BitTorrent client written in C++, based on the libTorrent libraries for Unix, whose author's goal is “a focus on high performance and good code”...
, KTorrent
KTorrent
KTorrent is a BitTorrent client written in C++ for KDE using the Qt user interface toolkit. It is maintained in the KDE Extragear.- Features :*Upload and download speed capping / throttling & scheduling...
, BitComet
BitComet
BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28...
, and Deluge clients.
After the DHT was adopted, a "private" flag — analogous to the broadcast flag
Broadcast flag
A broadcast flag is a set of status bits sent in the data stream of a digital television program that indicates whether or not the data stream can be recorded, or if there are any restrictions on recorded content...
— was unofficially introduced, telling clients to restrict the use of decentralized tracking regardless of the user's desires. The flag is intentionally placed in the info section of the torrent so that it cannot be disabled or removed without changing the identity of the torrent. The purpose of the flag is to prevent torrents from being shared with clients that do not have access to the tracker. The flag was requested for inclusion in the official specification in August, 2008, but has not been accepted. Clients that have ignored the private flag were banned by many trackers, discouraging the practice.
Downloading torrents and sharing files
Users find a torrent of interest, by browsing the web or by other means, download it, and open it with a BitTorrent client. The client connects to the tracker(s) specified in the torrent file, from which it receives a list of peers currently transferring pieces of the file(s) specified in the torrent. The client connects to those peers to obtain the various pieces. If the swarm contains only the initial seeder, the client connects directly to it and begins to request pieces.Clients incorporate mechanisms to optimize their download and upload rates; for example they download pieces in a random order to increase the opportunity to exchange data, which is only possible if two peers have different pieces of the file.
The effectiveness of this data exchange depends largely on the policies that clients use to determine to whom to send data. Clients may prefer to send data to peers that send data back to them (a tit for tat
Tit for tat
Tit for tat is an English saying meaning "equivalent retaliation". It is also a highly effective strategy in game theory for the iterated prisoner's dilemma. It was first introduced by Anatol Rapoport in Robert Axelrod's two tournaments, held around 1980. An agent using this strategy will initially...
scheme), which encourages fair trading. But strict policies often result in suboptimal situations, such as when newly joined peers are unable to receive any data because they don't have any pieces yet to trade themselves or when two peers with a good connection between them do not exchange data simply because neither of them takes the initiative. To counter these effects, the official BitTorrent client program uses a mechanism called "optimistic unchoking", whereby the client reserves a portion of its available bandwidth for sending pieces to random peers (not necessarily known good partners, so called preferred peers) in hopes of discovering even better partners and to ensure that newcomers get a chance to join the swarm.
Although swarming scales well to tolerate flash crowds for popular content, it is less useful for unpopular content. Peers arriving after the initial rush might find the content unavailable and need to wait for the arrival of a seed in order to complete their downloads. The seed arrival, in turn, may take long to happen (this is termed the seeder promotion problem). Since maintaining seeds for unpopular content entails high bandwidth and administrative costs, this runs counter to the goals of publishers that value BitTorrent as a cheap alternative to a client-server approach. This occurs on a huge scale; measurements have shown that 38% of all new torrents become unavailable within the first month. A strategy adopted by many publishers which significantly increases availability of unpopular content consists of bundling multiple files in a single swarm. More sophisticated solutions have also been proposed; generally, these use cross-torrent mechanisms through which multiple torrents can cooperate to better share content.
BitTorrent does not offer its users anonymity. It is possible to obtain the IP address
IP address
An Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...
es of all current and possibly previous participants in a swarm from the tracker. This may expose users with insecure systems to attacks. It may also expose users to the risk of being sued, if they are distributing files without permission from the copyright holder(s). However, there are ways to promote anonymity; for example, the OneSwarm
OneSwarm
OneSwarm is a privacy-preserving P2P client developed at the University of Washington. Although backward compatible with traditional BitTorrent clients, OneSwarm also includes new features designed to protect user privacy when sharing data among friends through creating a distributed darknet,...
project layers privacy-preserving sharing mechanisms on top of the original BitTorrent protocol.
Adoption
A growing number of individuals and organizations are using BitTorrent to distribute their own or licensed material. Independent adopters report that without using BitTorrent technology and its dramatically reduced demands on their private networking hardware and bandwidth, they could not afford to distribute their files.Film, video and music
- BitTorrent Inc.BitTorrent Inc.BitTorrent, Inc., headquartered in San Francisco, California, is a privately held American company that is responsible for the ongoing development of the BitTorrent peer-to-peer protocol, as well as the ongoing development of µTorrent and BitTorrent Mainline, two clients for that protocol.Today,...
has obtained a number of licenses from Hollywood studios for distributing popular content from their websites. - Sub PopSub PopSub Pop is a record label founded in 1986 by Bruce Pavitt and Jonathan Poneman in Seattle, Washington. Sub Pop achieved fame in the late 1980s for first signing Nirvana, Soundgarden, Mudhoney and many other bands from the Seattle music scene...
Records releases tracks and videos via BitTorrent Inc. to distribute its 1000+ albums. BabyshamblesBabyshamblesBabyshambles are an English indie rock band established in London. The band was formed by Pete Doherty during a hiatus from his former band The Libertines, but Babyshambles has since become his main project . Babyshambles has released two albums, three EPs and a number of singles...
and The LibertinesThe LibertinesThe Libertines were an English rock band, formed in London in 1997 by frontmen Carl Barât and Pete Doherty . The band, centred on the song-writing partnership of Barat and Doherty, also included John Hassall and Gary Powell for most of its recording career...
(both bands associated with Pete DohertyPete DohertyPeter Doherty is an English musician, writer, actor, poet and artist. He is best known musically for being co-frontman of The Libertines, which he reformed with Carl Barât in 2010. His other musical project is indie band Babyshambles...
) have extensively used torrents to distribute hundreds of demos and live videos. US industrial rockIndustrial rockIndustrial rock is a musical genre that fuses industrial music and specific rock subgenres. Industrial rock spawned industrial metal, with which it is often confused...
band Nine Inch NailsNine Inch NailsNine Inch Nails is an American industrial rock project, founded in 1988 by Trent Reznor in Cleveland, Ohio. As its main producer, singer, songwriter, and instrumentalist, Reznor is the only official member of Nine Inch Nails and remains solely responsible for its direction...
frequently distributes albums via BitTorrent. - PodcastPodcastA podcast is a series of digital media files that are released episodically and often downloaded through web syndication...
ing software is starting to integrate BitTorrent to help podcasters deal with the download demands of their MP3MP3MPEG-1 or MPEG-2 Audio Layer III, more commonly referred to as MP3, is a patented digital audio encoding format using a form of lossy data compression...
"radio" programs. Specifically, JuiceJuice (podcasting)Juice is a podcast aggregator for Windows and Mac OS X used for downloading media files such as ogg and mp3 for playback on the computer or for copying to a digital audio player. Juice lets a user schedule downloading of specific podcasts, and will notify the user when a new show is available. It...
and Miro (formerly known as Democracy Player) support automatic processing of .torrent files from RSSRSS-Mathematics:* Root-sum-square, the square root of the sum of the squares of the elements of a data set* Residual sum of squares in statistics-Technology:* RSS , "Really Simple Syndication" or "Rich Site Summary", a family of web feed formats...
feeds. Similarly, some BitTorrent clients, such as µTorrent, are able to process web feeds and automatically download content found within them. - DGM Live! purchases are provided via BitTorrent.
Broadcasters
- In 2008, the CBCCanadian Broadcasting CorporationThe Canadian Broadcasting Corporation, commonly known as CBC and officially as CBC/Radio-Canada, is a Canadian crown corporation that serves as the national public radio and television broadcaster...
became the first public broadcaster in North America to make a full show (Canada's Next Great Prime Minister) available for download using BitTorrent. - The Norwegian Broadcasting Corporation (NRK) has since March 2008 experimented with bittorrent distribution, available online. Only selected material in which NRK owns all royalties are published. Responses have been very positive, and NRK is planning to offer more content.
- The Dutch VPROVPROThe VPRO was established in the Netherlands in 1926 as a religious broadcasting organization. Falling under the Protestant pillar, it represented the Liberal Protestant current...
broadcasting organization released three documentaries under a Creative CommonsCreative CommonsCreative Commons is a non-profit organization headquartered in Mountain View, California, United States devoted to expanding the range of creative works available for others to build upon legally and to share. The organization has released several copyright-licenses known as Creative Commons...
license using the content distribution feature of the MininovaMininovaMininova is a website offering BitTorrent downloads. Mininova was once one of the largest sites offering torrents of copyrighted material, but in November 2009, following legal action in the Dutch courts, the site operators deleted all torrent files uploaded by regular users including torrents that...
tracker.
Personal material
- The Amazon S3Amazon S3Amazon S3 is an online storage web service offered by Amazon Web Services. Amazon S3 provides storage through web services interfaces...
"Simple Storage Service" is a scalable Internet-based storage service with a simple web serviceWeb serviceA Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...
interface, equipped with built-in BitTorrent support. - Blog TorrentBlog TorrentBlog Torrent was a free, open source BitTorrent client and computer aimed at bloggers and other people with web hosting but little technical knowledge....
offers a simplified BitTorrent tracker to enable bloggers and non-technical users to host a tracker on their site. Blog Torrent also allows visitors to download a "stub" loader, which acts as a BitTorrent client to download the desired file, allowing users without BitTorrent software to use the protocol. This is similar to the concept of a self-extracting archiveSelf-extracting archiveA self-extracting archive is a computer application which contains a file archive, as well as programming to extract this information. Such file archives do not require a second executable file or program to extract from the archive, as archive files usually require...
.
Software
- Blizzard EntertainmentBlizzard EntertainmentBlizzard Entertainment, Inc. is an American video game developer and publisher founded on February 8, 1991 under the name Silicon & Synapse by three graduates of UCLA, Michael Morhaime, Allen Adham and Frank Pearce and currently owned by French company Activision Blizzard...
uses BitTorrent (via a proprietary client called the "Blizzard Downloader") to distribute content and patches for Diablo IIIDiablo IIIDiablo III is an upcoming dark fantasy/horror-themed action role-playing game in development by Blizzard, making it the third installment in the Diablo franchise...
, StarCraft IIStarCraft IIStarCraft II: Wings of Liberty is a military science fiction real-time strategy video game developed and released by Blizzard Entertainment for Microsoft Windows and Mac OS X. A sequel to the award-winning 1998 video game StarCraft and its expansions, the game was released worldwide on July 27, 2010...
and World of WarcraftWorld of WarcraftWorld of Warcraft is a massively multiplayer online role-playing game by Blizzard Entertainment. It is the fourth released game set in the fantasy Warcraft universe, which was first introduced by Warcraft: Orcs & Humans in 1994...
, including the games themselves. - Many software games, especially those whose large size makes them difficult to host due to bandwidth limits, extremely frequent downloads, and unpredictable changes in network traffic, will distribute instead a specialized, stripped down bittorrent client with enough functionality to download the game from the other running clients and the primary server (which is maintained in case not enough peers are available).
- Many major open sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
and free softwareFree softwareFree software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
projects encourage BitTorrent as well as conventional downloads of their products (via HTTP, FTP etc.) to increase availability and to reduce load on their own servers, especially when dealing with larger files.
Government
- The UK government used BitTorrent to distribute details about how the tax money of UK citizens was spent.
Others
- FacebookFacebookFacebook is a social networking service and website launched in February 2004, operated and privately owned by Facebook, Inc. , Facebook has more than 800 million active users. Users must register before using the site, after which they may create a personal profile, add other users as...
uses BitTorrent to distribute updates to Facebook servers. - TwitterTwitterTwitter is an online social networking and microblogging service that enables its users to send and read text-based posts of up to 140 characters, informally known as "tweets".Twitter was created in March 2006 by Jack Dorsey and launched that July...
uses BitTorrent to distribute updates to Twitter servers.
BitTorrent has 100 million users and a greater share of network bandwidth than Netflix
Netflix
Netflix, Inc., is an American provider of on-demand internet streaming media in the United States, Canada, and Latin America and flat rate DVD-by-mail in the United States. The company was established in 1997 and is headquartered in Los Gatos, California...
and Hulu
Hulu
Hulu is a website and over-the-top subscription service offering ad-supported on-demand streaming video of TV shows, movies, webisodes and other new media, trailers, clips, and behind-the-scenes footage from NBC, Fox, ABC, and Obstacle on October 20th 2011 Nickelodeon and CBS and many other...
combined.
At any given instant of time BitTorrent has, on average, more active users than YouTube
YouTube
YouTube is a video-sharing website, created by three former PayPal employees in February 2005, on which users can upload, view and share videos....
and Facebook
Facebook
Facebook is a social networking service and website launched in February 2004, operated and privately owned by Facebook, Inc. , Facebook has more than 800 million active users. Users must register before using the site, after which they may create a personal profile, add other users as...
combined. (This refers to the number of active users at any instant and not to the total number of registered users.)
CableLabs
CableLabs
Founded in 1988 by cable television operating companies, Cable Television Laboratories, Inc. is a not-for-profit research and development consortium that has cable operators as its members. System operators from around the world are eligible to be members. Members dues are based on revenue...
, the research organization of the North American cable industry, estimates that BitTorrent represents 18% of all broadband traffic. In 2004, CacheLogic put that number at roughly 35% of all traffic on the Internet. The discrepancies in these numbers are caused by differences in the method used to measure P2P traffic on the Internet.
Routers that use network address translation
Network address translation
In computer networking, network address translation is the process of modifying IP address information in IP packet headers while in transit across a traffic routing device....
(NAT) must maintain tables of source and destination IP addresses and ports. Typical home routers are limited to about 2000 table entries while some more expensive routers have larger table capacities. BitTorrent frequently contacts 20–30 servers per second, rapidly filling the NAT tables. This is a common cause of home routers locking up.
Indexing
The BitTorrent protocol provides no way to index torrent files. As a result, a comparatively small number of websites have hosted a large majority of torrents, many linking to copyrighted material without the authorization of copyright holders, rendering those sites especially vulnerable to lawsuits. Several types of websites support the discovery and distribution of data on the BitTorrent network.Public torrent hosting sites such as The Pirate Bay
The Pirate Bay
The Pirate Bay is a Swedish website which hosts magnet links and .torrent files, which allow users to share electronic files, including multimedia, computer games and software via BitTorrent...
allow users to search and download from their collection of torrent files. Users can typically also upload torrent files for content they wish to distribute. Often, these sites also run BitTorrent tracker
BitTorrent tracker
A BitTorrent tracker is a server that assists in the communication between peers using the BitTorrent protocol. It is also, in the absence of extensions to the original protocol, the only major critical point, as clients are required to communicate with the tracker to initiate downloads...
s for their hosted torrent files, but these two functions are not mutually dependent: a torrent file could be hosted on one site and tracked by another, unrelated site.
Private host/tracker sites operate like public ones except that they restrict access to registered users and keep track of the amount of data each user uploads and downloads, in an attempt to reduce leeching
Leech (computing)
In computing and specifically Internet, a leech or leecher is one who benefits, usually deliberately, from others' information or effort but does not offer anything in return, or makes only token offerings in an attempt to avoid being called a leech...
.
Search engine
Search engine
A search engine is an information retrieval system designed to help find information stored on a computer system. The search results are usually presented in a list and are commonly called hits. Search engines help to minimize the time required to find information and the amount of information...
s allow the discovery of torrent files that are hosted and tracked on other sites; examples include Mininova
Mininova
Mininova is a website offering BitTorrent downloads. Mininova was once one of the largest sites offering torrents of copyrighted material, but in November 2009, following legal action in the Dutch courts, the site operators deleted all torrent files uploaded by regular users including torrents that...
, BTDigg
BTDigg
BTDigg is the first BitTorrent DHT search engine.It analyses the DHT network in the real-time and providesfull-text search over active torrents in European and Asian languages.Site name is acronym from BitTorrent Digger.-Features:...
, BTJunkie
BTJunkie
BTJunkie is an advanced BitTorrent search engine. It uses a web crawler to search for torrent files from other torrent sites and store it in its database. It has nearly 4,000,000 active torrents and about 4,200 torrents added daily , making it the largest torrent site indexer on the web...
, Torrentz
Torrentz
Torrentz is a Finland-based meta-search engine for BitTorrent that is run by an individual known as Flippy. It indexes torrents from various major torrent sites such as Mininova, BTJunkie, and The Pirate Bay, and offers compilations of various trackers per torrent that are not necessarily present...
, The Pirate Bay
The Pirate Bay
The Pirate Bay is a Swedish website which hosts magnet links and .torrent files, which allow users to share electronic files, including multimedia, computer games and software via BitTorrent...
, Eztorrent and isoHunt
IsoHunt
isoHunt is a BitTorrent index with over 1.7 million torrents in its database and 20 million peers from indexed torrents. With 7.4 million unique visitors , isoHunt is one of the most popular BitTorrent search engines. Thousands of torrents are added to and deleted from it every day. Users of...
. These sites allow the user to ask for content meeting specific criteria (such as containing a given word or phrase) and retrieve a list of links to torrent files matching those criteria. This list can often be sorted with respect to several criteria, relevance (seeders-leechers ratio) being one of the most popular and useful (due to the way the protocol behaves, the download bandwidth achievable is very sensitive to this value). Bram Cohen launched a BitTorrent search engine on http://www.bittorrent.com/search that co-mingles licensed content with search results. Metasearch engine
Metasearch engine
A metasearch engine is a search tool that sends user requests to several other search engines and/or databases and aggregates the results into a single list or displays them according to their source. Metasearch engines enable users to enter search criteria once and access several search engines...
s allow one to search several BitTorrent indices and search engines at once. DHT search engines
BTDigg
BTDigg is the first BitTorrent DHT search engine.It analyses the DHT network in the real-time and providesfull-text search over active torrents in European and Asian languages.Site name is acronym from BitTorrent Digger.-Features:...
monitors the DHT network and indexes torrents via metadata exchange from peers.
Technologies built on BitTorrent
The BitTorrent protocol is still under development and therefore may still acquire new features and other enhancements such as improved efficiency.Distributed trackers
On May 2, 2005, Azureus 2.3.0.0 (now known as VuzeVuze
Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...
) was released, introducing support for "trackerless" torrents through a system called the "distributed database." This system is a DHT
Distributed hash table
A distributed hash table is a class of a decentralized distributed system that provides a lookup service similar to a hash table; pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key...
implementation which allows the client to use torrents that do not have a working BitTorrent tracker
BitTorrent tracker
A BitTorrent tracker is a server that assists in the communication between peers using the BitTorrent protocol. It is also, in the absence of extensions to the original protocol, the only major critical point, as clients are required to communicate with the tracker to initiate downloads...
. The following month, BitTorrent, Inc. released version 4.2.0 of the Mainline BitTorrent client, which supported an alternative DHT implementation (popularly known as "Mainline DHT") that is incompatible with that of Azureus. Current versions of the official BitTorrent client
BitTorrent client
BitTorrent is a peer-to-peer program developed by Bram Cohen and BitTorrent, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version...
, µTorrent, BitComet
BitComet
BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28...
, Transmission and BitSpirit all share compatibility with Mainline DHT. Both DHT implementations are based on Kademlia
Kademlia
Kademlia is a distributed hash table for decentralized peer-to-peer computer networks designed by Petar Maymounkov and David Mazières in 2002. It specifies the structure of the network and the exchange of information through node lookups. Kademlia nodes communicate among themselves using UDP. A...
. As of version 3.0.5.0, Azureus also supports Mainline DHT in addition to its own distributed database through use of an optional application plugin. This potentially allows the Azureus client to reach a bigger swarm.
Another idea that has surfaced in Vuze is that of virtual torrents. This idea is based on the distributed tracker approach and is used to describe some web resource. Currently, it is used for instant messaging
Instant messaging
Instant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...
. It is implemented using a special messaging protocol and requires an appropriate plugin. Anatomic P2P is another approach, which uses a decentralized network of nodes that route traffic to dynamic trackers.
Most BitTorrent clients also use Peer exchange
Peer exchange
Peer exchange or PEX is a communications protocol that augments the BitTorrent file sharing protocol. It allows a group of users that are collaborating to share a given file to do so more swiftly and efficiently....
(PEX) to gather peers in addition to trackers
BitTorrent tracker
A BitTorrent tracker is a server that assists in the communication between peers using the BitTorrent protocol. It is also, in the absence of extensions to the original protocol, the only major critical point, as clients are required to communicate with the tracker to initiate downloads...
and DHT
Distributed hash table
A distributed hash table is a class of a decentralized distributed system that provides a lookup service similar to a hash table; pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key...
. Peer exchange checks with known peers to see if they know of any other peers. With the 3.0.5.0 release of Vuze, all major BitTorrent clients now have compatible peer exchange.
Web seeding
Web seeding was implemented in 2006 as the ability of BitTorrent clients to download torrent pieces from an HTTP source in addition to the swarm. The advantage of this feature is that a website may distribute a torrent for a particular file or batch of files and make those files available for download from that same web server; this can simplify long-term seeding and load balancingLoad balancing (computing)
Load balancing is a computer networking methodology to distribute workload across multiple computers or a computer cluster, network links, central processing units, disk drives, or other resources, to achieve optimal resource utilization, maximize throughput, minimize response time, and avoid...
through the use of existing, cheap, web hosting setups. In theory, this would make using BitTorrent almost as easy for a web publisher as creating a direct HTTP download. In addition, it would allow the "web seed" to be disabled if the swarm becomes too popular while still allowing the file to be readily available.
This feature has two distinct and incompatible specifications.
The first was created by John "TheSHAD0W" Hoffman, who created BitTornado
BitTornado
BitTornado is a free BitTorrent client for transfer of computer files over networks, including the Internet. It is developed by John Hoffman, who also created its predecessor, Shad0w's Experimental Client...
. From version 5.0 onward, the Mainline BitTorrent client also supports web seeds, and the BitTorrent web site had a simple publishing tool that creates web seeded torrents. µTorrent added support for web seeds in version 1.7. BitComet
BitComet
BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28...
added support for web seeds in version 1.14. This first specification requires running a web service that serves content by info-hash and piece number, rather than filename.
The other specification is created by GetRight
GetRight
GetRight is a shareware download manager developed by Headlight Software.-Features:GetRight is able to pause and resume downloads, download from multiple servers to speed up download time , scheduling the starting and stopping of downloads and shutting off the computer or disconnecting the modem...
authors and can rely on a basic HTTP download space (using byte serving
Byte serving
Byte serving is the process of sending only a portion of an HTTP/1.1 message from a server to a client. Clients which request byte-serving might do so in cases in which a large file has been only partially delivered and a limited portion of the file is needed in a particular range. Byte Serving is...
).
In September 2010, a new service named Burnbit was launched which generates a torrent from any URL using webseeding.
There exist server-side solutions that provide initial seeding of the file from the webserver via standard Bittorrent protocol and when the number of external seeders reach a limit, they stop serving the file from the original source.
RSS feeds
A technique called broadcatchingBroadcatching
Broadcatching is the downloading of digital content that has been made available over the Internet using RSS.The general idea is to use an automated mechanism to aggregate various web feeds and download content for viewing or presentation purposes....
combines RSS
RSS (file format)
RSS is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format...
with the BitTorrent protocol to create a content delivery system, further simplifying and automating content distribution. Steve Gillmor explained the concept in a column for Ziff-Davis in December, 2003. The discussion spread quickly among bloggers (Ernest Miller, Chris Pirillo
Chris Pirillo
Christopher Joseph Pirillo is the founder and maintainer of Lockergnome, which is a network of blogs, web forums, mailing lists, and online communities. He spent two years hosting the TechTV television program Call for Help, where he also hosted the first annual Call-for-Help-a-Thon...
, etc.). In an article entitled Broadcatching with BitTorrent, Scott Raymond explained:
The RSS feed will track the content, while BitTorrent ensures content integrity with cryptographic
Cryptography
Cryptography is the practice and study of techniques for secure communication in the presence of third parties...
hashing
Hash function
A hash function is any algorithm or subroutine that maps large data sets to smaller data sets, called keys. For example, a single integer can serve as an index to an array...
of all data, so feed subscribers will receive uncorrupted content.
One of the first and popular software clients (free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
and open source) for broadcatching is Miro. Other free software clients such as PenguinTV and KatchTV are also now supporting broadcatching.
The BitTorrent web-service MoveDigital had the ability to make torrents available to any web application capable of parsing XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
through its standard REST
Representational State Transfer
Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...
-based interface, although this has since been discontinued. Additionally, Torrenthut is developing a similar torrent API that will provide the same features, as well as further intuition to help bring the torrent community to Web 2.0
Web 2.0
The term Web 2.0 is associated with web applications that facilitate participatory information sharing, interoperability, user-centered design, and collaboration on the World Wide Web...
standards. Alongside this release is a first PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
application built using the API called PEP, which will parse any Really Simple Syndication (RSS 2.0) feed and automatically create and seed a torrent for each enclosure found in that feed.
Throttling and encryption
Since BitTorrent makes up a large proportion of total traffic, some ISPs have chosen to throttle (slow down) BitTorrent transfers to ensure network capacity remains available for other uses. For this reason, methods have been developed to disguise BitTorrent traffic in an attempt to thwart these efforts.Protocol header encrypt (PHE) and Message stream encryption/Protocol encryption (MSE/PE)
BitTorrent protocol encryption
Protocol encryption , message stream encryption , or protocol header encrypt are related features of some peer-to-peer file-sharing clients, including BitTorrent clients. They attempt to enhance privacy and confidentiality...
are features of some BitTorrent clients that attempt to make BitTorrent hard to detect and throttle. At the moment Vuze
Vuze
Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...
, Bitcomet
BitComet
BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28...
, KTorrent
KTorrent
KTorrent is a BitTorrent client written in C++ for KDE using the Qt user interface toolkit. It is maintained in the KDE Extragear.- Features :*Upload and download speed capping / throttling & scheduling...
, Transmission, Deluge, µTorrent, MooPolice, Halite, rTorrent
RTorrent
rTorrent is a text-based ncurses BitTorrent client written in C++, based on the libTorrent libraries for Unix, whose author's goal is “a focus on high performance and good code”...
and the latest official BitTorrent client (v6) support MSE/PE encryption.
In September 2006 it was reported that some software could detect and throttle BitTorrent traffic masquerading as HTTP traffic.
Reports in August 2007 indicated that Comcast
Comcast
Comcast Corporation is the largest cable operator, home Internet service provider, and fourth largest home telephone service provider in the United States, providing cable television, broadband Internet, and telephone service to both residential and commercial customers in 39 states and the...
was preventing BitTorrent seeding by monitoring and interfering with the communication between peers. Protection against these efforts is provided by proxying
Proxy server
In computer networks, a proxy server is a server that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource available from a different server...
the client-tracker traffic via an encrypted tunnel
Tunneling protocol
Computer networks use a tunneling protocol when one network protocol encapsulates a different payload protocol...
to a point outside of the Comcast network. Comcast has more recently called a "truce" with BitTorrent, Inc. with the intention of shaping traffic in a protocol-agnostic manner. Questions about the ethics and legality of Comcast's behavior have led to renewed debate about net neutrality
Network neutrality
Network neutrality is a principle that advocates no restrictions by Internet service providers or governments on consumers' access to networks that participate in the Internet...
in the United States.
In general, although encryption can make it difficult to determine what is being shared, BitTorrent is vulnerable to traffic analysis
Traffic analysis
Traffic analysis is the process of intercepting and examining messages in order to deduce information from patterns in communication. It can be performed even when the messages are encrypted and cannot be decrypted. In general, the greater the number of messages observed, or even intercepted and...
. Thus even with MSE/PE, it may be possible for an ISP to recognize BitTorrent and also to determine that a system is no longer downloading but only uploading data, and terminate its connection by injecting TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
RST (reset flag) packets.
Multitracker
Another unofficial feature is an extension to the BitTorrent metadata format proposed by John Hoffman and implemented by several indexing websites. It allows the use of multiple trackers per file, so if one tracker fails, others can continue to support file transfer. It is implemented in several clients, such as BitCometBitComet
BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28...
, BitTornado
BitTornado
BitTornado is a free BitTorrent client for transfer of computer files over networks, including the Internet. It is developed by John Hoffman, who also created its predecessor, Shad0w's Experimental Client...
, BitTorrent, KTorrent
KTorrent
KTorrent is a BitTorrent client written in C++ for KDE using the Qt user interface toolkit. It is maintained in the KDE Extragear.- Features :*Upload and download speed capping / throttling & scheduling...
, Transmission, Deluge
Deluge (software)
- See also :* Comparison of BitTorrent clients* Usage share of BitTorrent clients-External links:* * * *...
, µTorrent, rtorrent
RTorrent
rTorrent is a text-based ncurses BitTorrent client written in C++, based on the libTorrent libraries for Unix, whose author's goal is “a focus on high performance and good code”...
, and Vuze
Vuze
Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...
. Trackers are placed in groups, or tiers, with a tracker randomly chosen from the top tier and tried, moving to the next tier if all the trackers in the top tier fail.
Torrents with multiple trackers can decrease the time it takes to download a file, but also has a few consequences:
- Poorly implemented clients may contact multiple trackers, leading to more overhead-traffic.
- Torrents from closed trackers suddenly become downloadable by non-members, as they can connect to a seed via an open tracker.
Decentralized keyword search
Even with distributed trackers, a third party is still required to find a specific torrent. This is usually done in the form of a hyperlink from the website of the content owner or through indexing websites like The Pirate BayThe Pirate Bay
The Pirate Bay is a Swedish website which hosts magnet links and .torrent files, which allow users to share electronic files, including multimedia, computer games and software via BitTorrent...
, Torrentz
Torrentz
Torrentz is a Finland-based meta-search engine for BitTorrent that is run by an individual known as Flippy. It indexes torrents from various major torrent sites such as Mininova, BTJunkie, and The Pirate Bay, and offers compilations of various trackers per torrent that are not necessarily present...
or BTDigg
BTDigg
BTDigg is the first BitTorrent DHT search engine.It analyses the DHT network in the real-time and providesfull-text search over active torrents in European and Asian languages.Site name is acronym from BitTorrent Digger.-Features:...
.
The Tribler
Tribler
Tribler is an open source peer-to-peer client with various features for watching videos online. The user interface of Tribler is very basic and focused on ease of use, instead of including features...
BitTorrent client is the first to incorporate decentralized search capabilities. With Tribler, users can find .torrent files that are hosted among other peers, instead of on a centralized index sites. It adds such an ability to the BitTorrent protocol using a gossip protocol
Gossip protocol
A gossip protocol is a style of computer-to-computer communication protocol inspired by the form of gossip seen in social networks. Modern distributed systems often use gossip protocols to solve problems that might be difficult to solve in other ways, either because the underlying network has an...
, somewhat similar to the eXeem
EXeem
eXeem was a peer-to-peer file sharing client using the BitTorrent protocol. eXeem was designed to replace the need for centralized trackers...
network which was shut down in 2005. The software includes the ability to recommend content as well. After a dozen downloads the Tribler software can roughly estimate the download taste of the user and recommend additional content.
In May 2007 Cornell University
Cornell University
Cornell University is an Ivy League university located in Ithaca, New York, United States. It is a private land-grant university, receiving annual funding from the State of New York for certain educational missions...
published a paper proposing a new approach to searching a peer-to-peer network for inexact strings, which could replace the functionality of a central indexing site. A year later, the same team implemented the system as a plugin for Vuze
Vuze
Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...
called Cubit and published a follow-up paper reporting its success.
A somewhat similar facility but with a slightly different approach is provided by the BitComet
BitComet
BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28...
client through its "Torrent Exchange" feature. Whenever two peers using BitComet (with Torrent Exchange enabled) connect to each other they exchange lists of all the torrents (name and info-hash) they have in the Torrent Share storage (torrent files which were previously downloaded and for which the user chose to enable sharing by Torrent Exchange).
Thus each client builds up a list of all the torrents shared by the peers it connected to in the current session (or it can even maintain the list between sessions if instructed). At any time the user can search into that Torrent Collection list for a certain torrent and sort the list by categories. When the user chooses to download a torrent from that list, the .torrent file is automatically searched for (by info-hash value) in the DHT Network
Distributed hash table
A distributed hash table is a class of a decentralized distributed system that provides a lookup service similar to a hash table; pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key...
and when found it is downloaded by the querying client which can after that create and initiate a downloading task.
Implementations
The BitTorrent specification is free to use and many clients are open sourceOpen source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
, so BitTorrent clients have been created for all common operating systems using a variety of programming languages. The official BitTorrent client, µTorrent, Xunlei
Xunlei
Xunlei is a download manager developed by Thunder Networking Technologies , supporting HTTP, FTP, EDonkey, BitTorrent protocols. , it was the most commonly used BitTorrent client worldwide....
, Vuze
Vuze
Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...
and BitComet
BitComet
BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28...
are some of the most popular clients.
Some BitTorrent implementations such as MLDonkey
MLDonkey
MLDonkey is an open source, multi-protocol, peer-to-peer file sharing application that runs as a back-end server application on many platforms. It can be controlled through a user interface provided by one of many separate front-ends, including a Web interface, telnet interface and over a dozen...
and Torrentflux
TorrentFlux
TorrentFlux is a free and open source multi-user GUI for BitTornado. Unlike most BitTorrent clients, its main user interface is a web interface...
are designed to run as servers. For example, this can be used to centralize file sharing on a single dedicated server which users share access to on the network. Server-oriented BitTorrent implementations can also be hosted by hosting providers
Internet hosting service
An Internet hosting service is a service that runs Internet servers, allowing organizations and individuals to serve content to the Internet. There are various levels of service and various kinds of services offered....
at co-located
Colocation centre
A colocation centre or colocation center , is a type of data centre where equipment space and bandwidth are available for rental to retail customers...
facilities with high bandwidth Internet connectivity (e.g., a datacenter) which can provide dramatic speed benefits over using BitTorrent from a regular home broadband connection.
Services such as ImageShack
ImageShack
ImageShack is a free image hosting website. ImageShack has a subscription service but the majority of its revenue is produced from advertising related to its free image hosting. The imageshack.us Alexa ranking in September 25, 2007 was one of the top 40, but now as of September 25, 2011 it's...
can download files on BitTorrent for the user, allowing them to download the entire file by HTTP once it is finished.
The Opera
Opera (web browser)
Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,...
web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...
supports BitTorrent, as does Wyzo
Wyzo
Radical Software Ltd is an internet startup company that is based in Jersey, UK. It is known for developing the FireTorrent extension and Wyzo web browser.-Radical Software Ltd Products:...
. BitLet
BitLet
BitLet, abbreviation for BitTorrent Applet, is a BitTorrent program that enables the use of this file sharing protocol inside any Java-enabled web browser, without the need of an external dedicated client program.- Features :...
allows users to download Torrents directly from their browser using a Java applet
Java applet
A Java applet is an applet delivered to users in the form of Java bytecode. Java applets can run in a Web browser using a Java Virtual Machine , or in Sun's AppletViewer, a stand-alone tool for testing applets...
. Sites such as xFiles and DuShare allow to transfer big files directly using bittorrent inside adobe Flash.
An increasing number of hardware devices are being made to support BitTorrent. These include routers and NAS devices containing BitTorrent-capable firmware like OpenWrt
OpenWrt
OpenWrt is a Linux distribution primarily targeted at routing on embedded devices. It comprises a set of about 2000 software packages, installed and uninstalled via the opkg package management system. OpenWrt can be configured using the command-line interface of BusyBox ash, or the web interface...
.
Proprietary versions of the protocol which implement DRM
Digital rights management
Digital rights management is a class of access control technologies that are used by hardware manufacturers, publishers, copyright holders and individuals with the intent to limit the use of digital content and devices after sale. DRM is any technology that inhibits uses of digital content that...
, encryption, and authentication are found within managed clients such as Pando
Pando (application)
Pando is proprietary software for P2P file sharing. It's mainly aimed at sending files using both peer-to-peer and client–server architectures that would normally be too large to send via more conventional means.Stable release: win 2.5.1.11 , mac 2.5.1.4...
.
Development
An unimplemented unofficial feature is Similarity Enhanced TransferSimilarity Enhanced Transfer
Similarity-Enhanced Transfer is a technique for improving the speed at which peer-to-peer file sharing and content distribution systems can share data...
(SET), a technique for improving the speed at which peer-to-peer file sharing and content distribution systems can share data. SET, proposed by researchers Pucha, Andersen, and Kaminsky, works by spotting chunks of identical data in files that are an exact or near match to the one needed and transferring these data to the client if the "exact" data are not present. Their experiments suggested that SET will help greatly with less popular files, but not as much for popular data, where many peers are already downloading it. Andersen believes that this technique could be immediately used by developers with the BitTorrent file sharing system.
, BitTorrent, Inc. is working with Oversi on new Policy Discover Protocols that query the ISP for capabilities and network architecture information. Oversi's ISP hosted NetEnhancer box is designed to "improve peer selection" by helping peers find local nodes, improving download speeds while reducing the loads into and out of the ISP's network.
Legal issues
There has been much controversy over the use of BitTorrent trackers. BitTorrent metafiles themselves do not store file contents. Whether the publishers of BitTorrent metafiles violate copyrights by linking to copyrighted material without the authorization of copyright holders is controversial.Various jurisdictions have pursued legal action against websites that host BitTorrent trackers. High-profile examples include the closing of Suprnova.org
Suprnova.org
Suprnova.org was a Slovenia-based website which distributed torrents for various music and video files, computer programs and games. Started in late 2002 by Andrej Preston and for a while considered the most popular BitTorrent search engine, Suprnova.org closed in late 2004 after legal threats...
, Torrentspy
TorrentSpy
TorrentSpy was a popular BitTorrent indexing website. It provided .torrent files, which enabled users to exchange data between one another.It also provided a forum to comment on them and integrated the user-driven content site ShoutWire into the front page...
, LokiTorrent
LokiTorrent
LokiTorrent was a BitTorrent indexing service operated by Edward Webber from 2004 until 2005. The domain name was originally registered on 24 February 2004....
, Mininova
Mininova
Mininova is a website offering BitTorrent downloads. Mininova was once one of the largest sites offering torrents of copyrighted material, but in November 2009, following legal action in the Dutch courts, the site operators deleted all torrent files uploaded by regular users including torrents that...
and OiNK.cd
Oink's Pink Palace
Oink's Pink Palace was a prominent BitTorrent tracker which operated from 2004 to 2007. Following a two-year investigation by the International Federation of the Phonographic Industry , and the British Phonographic Industry , the site was shut down on 23 October 2007, by British and Dutch police...
. The Pirate Bay
The Pirate Bay
The Pirate Bay is a Swedish website which hosts magnet links and .torrent files, which allow users to share electronic files, including multimedia, computer games and software via BitTorrent...
torrent website, formed by a Swedish group, is noted for the "legal" section of its website in which letters and replies on the subject of alleged copyright infringements are publicly displayed. On 31 May 2006, The Pirate Bay's servers in Sweden were raided by Swedish police on allegations by the MPAA of copyright infringement; however, the tracker was up and running again three days later.
BitTorrent and malware
Several studies on BitTorrent have indicated that a large portion of files available for download via BitTorrent contain malwareMalware
Malware, short for malicious software, consists of programming that is designed to disrupt or deny operation, gather information that leads to loss of privacy or exploitation, or gain unauthorized access to system resources, or that otherwise exhibits abusive behavior...
. In particular, one small sample indicated that 18% of all executable programs available for download contained malware. Another study claims that as much as 14.5% of BitTorrent downloads contain zero-day malware, and that BitTorrent was used as the distribution mechanism for 47% of all zero-day malware they have found.
See also
- BitTorrent tracker software
- BitTyrantBitTyrantBitTyrant is a BitTorrent client modified from the Java-based Azureus 2.5 code base. BitTyrant is designed to give preference to clients uploading to it fastest and limiting slower uploaders...
- BitThiefBitThiefBitThief is a Java-based BitTorrent client designed to download from, but not upload to, BitTorrent networks. It is freeware and cross-platform...
- BencodeBencodeBencode is the encoding used by the peer-to-peer file sharing system BitTorrent for storing and transmitting loosely structured data.It supports four different types of values:* byte strings,* integers,* lists, and* dictionaries ....
- Comparison of BitTorrent clients
- Comparison of BitTorrent sitesComparison of BitTorrent sitesThere are many different BitTorrent websites, each providing information about files distributed via the BitTorrent protocol. They typically contain multiple torrent files and an index of those files. In a typical scenario, a user would enter such a site and browse or search for the content they...
- FastTrack
- KazaaKazaaKazaa Media Desktop started as a peer-to-peer file sharing application using the FastTrack protocol licensed by Joltid Ltd. and operated as Kazaa by Sharman Networks...
- Magnet URI scheme
- Segmented downloadingSegmented downloadingSegmented downloading can be a more efficient way of downloading files from many peers at once. The one single file is downloaded, in parallel, from several distinct sources or uploaders of the file...
- Similarity Enhanced TransferSimilarity Enhanced TransferSimilarity-Enhanced Transfer is a technique for improving the speed at which peer-to-peer file sharing and content distribution systems can share data...
- Simple file verification
- Super-seedingSuper-seedingSuper-seeding is a feature of some BitTorrent clients that attempts to minimize the amount of data which must be uploaded by the original seed until the first completion of a downloading peer. The feature was conceived by John Hoffman and first implemented in the BitTornado client in 2003...
- Terminology of BitTorrentTerminology of BitTorrentThis list explains terms used when discussing BitTorrent clients, and in particular the BitTorrent protocol used by these clients.-Availability: The number of full copies of a file directly available to the client. Each seed adds 1.0 to this number, as they have one complete copy of the file...
- Torrent fileTorrent fileA torrent file stores metadata used for BitTorrent. It is defined in the BitTorrent specification.Simply, a torrent is data about a target file, though it contains no information about the content of the file. The only data that the torrent holds is information about the location of different...
- µTP (Micro Transport Protocol)Micro Transport ProtocolMicro Transport Protocol or µTP is an open UDP-based variant of the BitTorrent peer-to-peer file sharing protocol intended to mitigate poor latency and other congestion control issues found in conventional bittorrent over TCP, while providing reliable, ordered delivery.It was devised to...
- Anti-Counterfeiting Trade AgreementAnti-Counterfeiting Trade AgreementThe Anti-Counterfeiting Trade Agreement is a proposed plurilateral agreement for the purpose of establishing international standards on intellectual property rights enforcement...
- Torrent poisoningTorrent poisoningTorrent poisoning is the act of intentionally sharing corrupt data or data with misleading file names using the BitTorrent protocol. This practice of uploading fake torrents is sometimes carried out by anti-piracy organisations as an attempt to prevent the peer-to-peer sharing of copyrighted...
External links
- Official BitTorrent website
- Official BitTorrent Specification
- Interview with chief executive Ashwin Navin
- Unofficial BitTorrent Protocol Specification v1.0 at wiki.theory.org
- Unofficial BitTorrent Location-aware Protocol 1.0 Specification at wiki.theory.org
- Michal Czerniawski, Responsibility of Bittorrent Search Engines for Copyright Infringements, at SSRN (December 2009)
- Under the hood of BitTorrent — lecture given by BitTorrent protocol designer, Bram Cohen at Stanford UniversityStanford UniversityThe Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is a private research university on an campus located near Palo Alto, California. It is situated in the northwestern Santa Clara Valley on the San Francisco Peninsula, approximately northwest of San...
(video archive).