What is a torrent?

FrostWire utilizes torrents to accomplish peer to peer file sharing. There seems to be a lot of confusion on what a torrent is and how it is used.

First, let’s consider how files are organized and accessed. Any file can be considered as a string of bytes, starting at one and going to the end of the file. In most files systems, data can be read and written to a specific point in the file by using the character number, which can be expressed in many ways, but that’s not your problem. If you want character 10, ask the file system to give you character 10, and you don’t care how that happened.

You can think of torrents as two basic types: File torrents and Folder torrents. A file torrent names one file and only one file. If you wanted to obtain an album of 20 songs, you’d have to use 20 different torrents, if you used file torrents.

A folder torrent describes all of the data in a folder, which can include sub-folders. If an album of 20 songs is contained in one folder, that one torrent will allow you to obtain that entire album. Some torrents can contain a primary folder containing sub-folders, each containing many files. Torrents containing over a thousand files are NOT uncommon.

Even with a folder torrent, there is provision to select specific files and exclude others from the download process. This can vary from program to program. For FrostWire, its fairly easy and covered in many help articles.

The key is that a torrent is NOT the data that you want. It is a description of the data you want. Torrents are created by torrent programs. They organized the data into chunks and provide a data map of the file structure, based on those chunks, so that data matching the torrent description can be read and written, randomly, from the disk.

Because the data can be read and written randomly you can send to and receive from multiple people at one time. This means that the data describe by a torrent MUST be and remain unchanged on the disk, once the torrent is made. If the data is changed, it will invalidate the torrent and cause errors, which the system will catch and attempt to deal with, usually by disabling the offending torrent.

Each torrent can be identified by a unique hash total of the data layout. The hash description is not so large as to be difficult to handle, but is large enough to make generation of the same hash from different data almost impossible.

The hash is considered a unique identifier for each torrent and is the mechanism that torrent programs use to exchange information about who has what torrent.

Here are some facts.
A torrent contains NO data from the files it describes. It only contains a mapping of the way the data is organized on disk.

A torrent has NO information about who has the file described. If someone decides to share files from a torrent, the torrent program will advertise the hash, and those looking for that file will be so informed.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s