Jump to navigation Jump to search This article is about the file sharing protocol. 27 million concurrent users at any time. Animation of protocol use: The colored dots beneath each magner bitcoin wiki in the animation represent different parts of the file being shared.
The middle computer is acting as a “seed” to provide a file to the other computers which act as peers. The file being distributed is divided into segments called pieces. As more peers join the swarm, the likelihood of a completely 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. Each client is capable of preparing, requesting, and transmitting any type of computer file over a network, using the protocol. A peer is any computer running an instance of a client.
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 hash for each piece, using the SHA-1 hash function, and records it in the torrent file. 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. 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 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. The effectiveness of this data exchange depends largely on the policies that clients use to determine to whom to send data. Although “swarming” scales well to tolerate “flash crowds” for popular content, it is less useful for unpopular or niche market 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.