Glossary of BitTorrent terms

Last updated

This is a glossary of jargon related to peer-to-peer file sharing via the BitTorrent protocol.

Contents

Terms

Availability

(Also known as distributed copies.) The availability of each piece in the torrent is defined as the number of peers who have a copy of that piece.
The availability of the entire torrent is defined as the nonnegative real number whose integer part is the minimum piece availability and whose fractional part is the fraction of pieces that have higher availability than the minimum piece availability. [1]
Example: There are 10 pieces, Peer A has pieces 0 to 5, Peer B has 2 to 7, and Peer C has 4 to 9. Pieces 0, 1, 8, 9 have availability 1. Pieces 2, 3, 6, 7 have availability 2. Pieces 4 and 5 have availability 3. The entire torrent has availability 1.6 (1 + 6/10). The integer part is 1 because 1 is the lowest piece availability. The fractional part is 6/10 because more than one peer has pieces 2 to 7 (6 pieces) and there are 10 total pieces. Even though 3 peers have pieces 4 and 5, it does not further increase the availability. [1]
Sometimes "distributed copies" is considered to be "availability minus 1". So if the availability is 2.6, the distributed copies will be 1.6 because it is only counting the additional "copies" of the file.

Choked

Describes a peer to which the client refuses to send file pieces. A client chokes another client in several situations:
  • The second client is a seed, in which case it does not want any pieces (i.e., it is completely uninterested)
  • The client is already uploading at its full capacity (it has reached the value of max_uploads)
  • The second client has been blacklisted for being abusive or is using a blacklisted BitTorrent client.

Client

The program that enables peer-to-peer file sharing via the BitTorrent protocol. See Comparison of BitTorrent clients.

Distributed Hash Table

Distributed Hash Tables (DHT) are used in Bittorrent for peers to send a list of other seeds/peers in the swarm for a particular torrent directly to a client without the need for a tracker.

Endgame / Endgame mode

Any applied algorithm for downloading the last few pieces (see below) of a torrent.
In typical client operation the last download pieces arrive more slowly than the others. This is because the faster and more easily accessible pieces should have already been obtained. In order to prevent the last pieces becoming unobtainable, BitTorrent clients attempt to get the last missing pieces from all of its peers. Upon receiving the last pieces a cancel request command is sent to other peers.

Fake

A fake torrent is a torrent that does not contain what is specified in its name or description (e.g. a torrent is said to contain a video, but it contains only a snapshot of a moment in the video, or in some cases malware).

Freeleech

Freeleech means that the download size of the torrent does not count towards your overall ratio, only the uploaded amount on the torrent counts toward your ratio.

Grab

A torrent is grabbed when its metadata files have been downloaded.

Hash

The hash is a digital fingerprint in the form of a string of alphanumeric characters (typically hexadecimal) in the .torrent file that the client uses to verify the data that is being transferred. "Hash" is the shorter form of the word "hashsum".
Torrent files contain information like the file list, sizes, pieces, etc. Every piece received is first checked against the hash. If it fails verification, the data is discarded and requested again.
Hash checks greatly reduce the chance that invalid data is incorrectly identified as valid by the BitTorrent client, but it is still possible for invalid data to have the same hash value as the valid data and be treated as such. This is known as a hash collision. Torrent and p2p files typically use 160 bit hashes that are reasonably free from hash collision problems, so the probability of bad data being received and passed on is extraordinarily small.

Health

Health is shown in a bar or in % usually next to the torrent's name and size, on the site where the .torrent file is hosted. It shows if all pieces of the torrent are available to download (i.e. 50% means that only half of the torrent is available). Health does not indicate whether the torrent is free of viruses.

Hit-and-run

To intentionally "leech" a file; downloading a file while seeding as little as possible. It's abbreviated HnR or H&R.

Index

An index is a list of .torrent files (usually including descriptions and other information) managed by a website and available for searches. An index website can also be a tracker.

Interested

Describes a downloader who wishes to obtain pieces of a file the client has. For example, the uploading client would flag a downloading client as 'interested' if that client did not possess a piece that it did, and wished to obtain it.

Leech

Leech has two meanings. Often, leecher is synonymous with downloader: simply describing a peer or any client that does not have 100% of the data.
The term leech also refers to a peer (or peers) that has a negative effect on the swarm by having a very poor share ratio, downloading much more than they upload. Leeches may be on asymmetric Internet connections or do not leave their BitTorrent client open to seed the file after their download has completed. However, some leechers intentionally avoid uploading by using modified clients or excessively limiting their upload speed.

Lurker

A lurker is a user that only downloads files from the group but does not add new content. It does not necessarily mean that the lurker will not seed. Not to be confused with a leecher.
A mechanism different from a .torrent metafile which can be used to identify a set of files for BitTorrent based on content, as opposed to referencing any particular tracker. The method is not limited to BitTorrent data. See Magnet URI scheme.

Overseeded

In private trackers using ratio credit, a torrent is overseeded when its availability is so high that seeders have difficulty finding downloaders.

p2p

In a p2p network, each node (or computer on the network) acts as both a client and a server. In other words, each computer is capable of both responding to requests for data and requesting data itself.

Peer

A peer is one instance of a BitTorrent client running on a computer on the Internet to which other clients connect and transfer data. Depending on context, "peer" can refer either to any client in the swarm or more specifically to a downloader, a client that has only parts of the file.

Piece

This refers to the torrented files being divided up into equal specific sized pieces (e.g., 64kB, 128kB, 512kB, 1MB, 2MB, 4MB or 8MB). The pieces are distributed in a random fashion among peers in order to optimize trading efficiency.

Ratio credit

A ratio credit, also known as upload credit or ratio economy, is a currency system used on a number of private trackers to provide an incentive for higher upload/download ratios among member file-sharers. In such a system, those users with greater amounts of bandwidth, hard drive space (particularly seedboxes) or idle computer uptime are at a greater advantage to accumulate ratio credits versus those lacking in any one or more of the same resources.

Scraping

This is when a client sends a request to the tracking server for information about the statistics of the torrent, such as with whom to share the file and how well those other users are sharing.

Seed / seeding

A seed refers to a machine possessing all of the data (100% completion). A peer or downloader becomes a seed when it completely downloads all the data and continues/starts uploading data for other peers to download from. This includes any peer possessing 100% of the data or a web seed. When a downloader starts uploading content, the peer becomes a seed.[ citation needed ]
Seeding refers to leaving a peer's BitTorrent client open and available for additional individuals to download from. Normally, a peer should seed more data than download. However, whether to seed or not, or how much to seed, depends on the availability of downloaders and the choice of the peer at the seeding end.[ citation needed ]

Share ratio

A user's share ratio for any individual torrent is a number determined by dividing the amount of data that user has uploaded by the amount of data they have downloaded. Final share ratios over 1.0 carry a positive connotation in the BitTorrent community, because they indicate that the user has sent more data to other users than they received. Likewise, share ratios under 1 have negative connotation.

Snatch

A torrent is snatched when its data files have been downloaded.

Snubbing

An uploading client is displayed as snubbed if the downloading client has not received any data from it in over 60 seconds.

Super-seeding

When a file is new, much time can be wasted because the seeding client might send the same file piece to many different peers, while other pieces have not yet been downloaded at all. Some clients, like Vuze, μTorrent, and qBittorrent have a "super-seed" mode, where they try to only send out pieces that have never been sent out before, theoretically making the initial propagation of the file much faster. However the super-seeding becomes less effective and may even reduce performance compared to the normal "rarest first" model in cases where some peers have poor or limited connectivity. This mode is generally used only for a new torrent, or one which must be re-seeded because no other seeds are available.

Swarm

Together, all peers (including seeds) sharing a torrent are called a swarm. [2] For example, six ordinary peers and two seeds make a swarm of eight. This is a holdover from the predecessor to BitTorrent, a program called Swarmcast, originally from OpenCola.
BitTorrent may sometimes display a swarm number that has no relation to the number of seeds and peers you are connected to or who are available. E.g. it may show 5 out of 10 connected peers, 20 out of 100 connected seeds, and a swarm of 3.

Torrent

A torrent can mean either a .torrent metadata file or all files described by it, depending on context. The torrent file contains metadata about all the files it makes downloadable, including their names and sizes and checksums of all pieces in the torrent. It also contains the address of a tracker that coordinates communication between the peers in the swarm. [2]

Tracker

A tracker is a server that keeps track of which seeds and peers are in the swarm. [2] Clients report information to the tracker periodically and in exchange, receive information about other clients to which they can connect. The tracker is not directly involved in the data transfer and does not have a copy of the file. It only receives information from the client.

Related Research Articles

Uploading refers to transmitting data from one computer system to another through means of a network. Common methods of uploading include: uploading via web browsers, FTP clients], and terminals (SCP/SFTP). Uploading can be used in the context of clients that send files to a central server. While uploading can also be defined in the context of sending files between distributed clients, such as with a peer-to-peer (P2P) file-sharing protocol like BitTorrent, the term file sharing is more often used in this case. Moving files within a computer system, as opposed to over a network, is called file copying.

eDonkey2000

eDonkey2000 was (is) a peer-to-peer file sharing application developed by US company MetaMachine, using the Multisource File Transfer Protocol. It supported both the eDonkey2000 network and the Overnet network.

BitTorrent, also referred to as simply torrent, is a communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a decentralized manner. The protocol is developed and maintained by Rainberry, Inc., and was first released in 2001.

<span class="mw-page-title-main">BitComet</span> BitTorrent, FTP and HTTP client

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. The current BitComet logo has been used since version 0.50.

<span class="mw-page-title-main">Magnet URI scheme</span> Scheme that defines the format of magnet links

Magnet is a URI scheme that defines the format of magnet links, a de facto standard for identifying files (URN) by their content, via cryptographic hash value rather than by their location.

In file sharing, super-seeding is an algorithm developed by John Hoffman for the BitTorrent communications protocol that helps downloaders become uploaders more quickly, but it introduces the danger of total seeding failure if there is only one downloader.

A BitTorrent tracker is a special type of server that assists in the communication between peers using the BitTorrent protocol.

In computing and specifically in Internet slang, a leech 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. In economics, this type of behavior is called "free riding" and is associated with the free rider problem. The term originated in the bulletin board system era, when it referred to users that would download files and upload nothing in return.

<span class="mw-page-title-main">Pando (application)</span>

Pando was an application which was mainly aimed at sending files which would normally be too large to send via more "conventional" means. It used both peer-to-peer and client-server architectures and was released for Windows and Mac OS X operating systems.

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.

eMule Free peer-to-peer file sharing application for Microsoft Windows.

eMule is a free peer-to-peer file sharing application for Microsoft Windows. Started in May 2002 as an alternative to eDonkey2000, eMule now connects to both the eDonkey network and the Kad network. The distinguishing features of eMule are the direct exchange of sources between client nodes, fast recovery of corrupted downloads, and the use of a credit system to reward frequent uploaders. Furthermore, eMule transmits data in zlib-compressed form to save bandwidth.

qBittorrent Free and open source BitTorrent client

qBittorrent is a cross-platform free and open-source BitTorrent client written in native C++. It relies on Boost, OpenSSL, zlib, Qt 6 toolkit and the libtorrent-rasterbar library, with an optional search engine written in Python.

<span class="mw-page-title-main">Tribler</span> Peer-to-peer filesharing software and protocol

Tribler is an open source decentralized BitTorrent client which allows anonymous peer-to-peer by default. Tribler is based on the BitTorrent protocol and uses an overlay network for content searching. Due to this overlay network, Tribler does not require an external website or indexing service to discover content. The user interface of Tribler is very basic and focused on ease of use instead of diversity of features. Tribler is available for Linux, Windows, and OS X.

The following is a general comparison of BitTorrent clients, which are computer programs designed for peer-to-peer file sharing using the BitTorrent protocol.

A seedbox is a high-bandwidth remote server for uploading and downloading of digital files from a P2P network. The bandwidth ranges generally from 100 Mbit/s to 20 Gbit/s. After the seedbox has acquired the files, people with access to the seedbox can download the file to their personal computers.

libtorrent

libtorrent is an open-source implementation of the BitTorrent protocol. It is written in and has its main library interface in C++. Its most notable features are support for Mainline DHT, IPv6, HTTP seeds and μTorrent's peer exchange. libtorrent uses Boost, specifically Boost.Asio to gain its platform independence. It is known to build on Windows and most Unix-like operating systems.

In the BitTorrent file distribution system, a torrent file or meta-info file is a computer file that contains metadata about files and folders to be distributed, and usually also a list of the network locations of trackers, which are computers that help participants in the system find each other and form efficient distribution groups called swarms. Torrent files are normally named with the extension .torrent.

Torrent poisoning is 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-infringement organisations as an attempt to prevent the peer-to-peer (P2P) sharing of copyrighted content, and to gather the IP addresses of downloaders.

File sharing in Japan is notable for both its size and sophistication.

<span class="mw-page-title-main">Seeding (computing)</span>

In computing, and specifically peer-to-peer file sharing, seeding is the uploading of already downloaded content for others to download from. A peer, a computer that is connected to the network, becomes a seed when having acquired the entire set of data, it begins to offer its upload bandwidth to other peers attempting to download the file. This data consists of small parts so that seeds can effectively share their content with other peers, handing out the missing pieces. A peer deliberately chooses to become a seed by leaving the upload task active once the content has downloaded. The motivation to seed is mainly to keep the file being shared in circulation and a desire to not act as a parasite. The opposite of a seed is a leech, a peer that downloads more than they upload.

References

  1. 1 2 "How is 'availability' calculated in BitTorrent?". Super User. Retrieved 2023-06-30.
  2. 1 2 3 "BEP-0003: The BitTorrent Protocol Specification". Bittorrent.org. Archived from the original on 2019-07-26. Retrieved 2009-10-22.