Anonymous Peer-to-Peer

An anonymous peer-to-peer system is a distributed p2p application in which nodes/participants obscure their identity. Typically, anonymity is attained by a routing overlay in the network that hide the physical location of each node from other users.

BitTorrent

BitTorrent Applications

How BitTorrent works (image)

BitTorrent begins when a user (known as a seed) provides a file to a network. Other users (known as peers) are able to connect to the seed and download the file. Peers who successfully download a part of the data from that file make it available for downloading from other peers. Once the file is fully downloaded, the peer who downloaded it becomes a seed and peers can then connect to that seed. As more seeds are added, the likelihood of a successful connection increases exponentially. The health of this network, like a peer-to-peer network, is dependent upon users to make files available.

Client

A client is a peer-to-peer software application (such as Azureus, BitTorrent, Frostwire, etc.) that is used as an access point to peer-to-peer networks.

Distributed Hash Table

A Distributed hash table (DHT) is a class of decentralized distributed systems that provide a lookup service similar to a hash table: (key, value) pairs are stored in the DHT and any participating node can efficiently retrieve the value associated with a given key

Distribtued Hash Table image detail showding data -> hash function -> key ->distributed network diagram

Download

A data transfer from one system to another (can be remote or local).

File Sharing

In peer-to-peer terms, file sharing refers to the distributing and sharing of files across a network. Although file sharing is not inherently illegal, it certainly can be used for illegal purposes (a user making available material to which he or she does not hold the intellectual property rights, for example.) Different methods exist to facilitate file sharing, including peer-to-peer (a decentralized system), file sharing with a central server (centralized system) or a BitTorrent system. File sharing can also occur over removable media, such as a flash drive.

Peer-to-Peer

Peer-to-Peer refers to the sharing (uploading and downloading) of files between participants without a centralized server.

Pure peer-to-peer model

A pure peer-to-peer model describes a file-sharing network that has no centralized server. Instead, each "peer" is able to initialize connections to other "peers" and acts as both a client and a server for downloading and uploading, respectively.

A graphical representation:

How Peer-to-Peer works (image)

Peer-to-Peer (also known as "p2p") networks are a cluster of individual computers that merge the roles of client and server into a single function, known as a peer. Peers are individual computers that participate in the p2p network and are able to connect to other peers to transfer (download and upload) various types of data files. This type of network is classifed by the absence of a centralized server that data passes through, making the entire network decentralized and dependent upon individual users for its existence.

Seed/Seeding

A seed (seeder) is a peer that has a complete copy of a torrent and makes it available for downloading (seeing).

Super-seeding

Super-seeding is a feature of certain 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.

Rather than claiming to have every piece from the outset, the seeder claims to have no pieces of a requested file. As peers connect, the seed will inform a peer that it has received a new piece, one that has not yet been sent to any other peers. The seed then unchokes the peer and allows it to download the piece. The seed will not upload another piece to the same peer until the seed receives confirmation from other peers that the piece has been uploaded again.

Swarm

A swarm is a collaboration of many peers (including seeders) that share a torrent together. For example, two peers and five seeders would make a swarm of seven.

Tracker

A tracker is a server that keeps track of seeds and peers in a swarm. Clients are responsible for reporting and in exchange receive information about other clients to which they can connect. Trackers do not store or manipulate data, either for storage reasons or in transfers.

Tracker

The transfer of data from a local system to a remote system. In peer-to-peer usage, this involves the transfers of files or directories from a local machine (your computer) to a remote machine (a central server or another user's machine).