Если коротко: один большой файл делится на много маленьких кусочков, каждый пользователь скачивает по кусочку, а потом раздает его другим пользователям.

Протокол BitTorrent разработал американский программист Брэм Коэн, основатель одноименной компании, которая занимается развитием и адаптацией этой технологии.

Ситуация такая: школа, домашку по математике сделал только один ботан, за перемену надо всем списать, а в классе 30 учеников. Одновременно списывать могут только два человека. Это займет 3 минуты, а в перемене 15 минут. Получается, успеют только 10 человек. Что делать?

Если я уже списал, то могу поделиться своей тетрадью. Чем дальше, тем больше есть списанных домашек и тем больше людей одновременно могут ее скачать, то есть списать.

  • — Через 3 минуты пятерку себе обеспечат 1 ботан и 2 двоечника.
  • — 6 минут: + 6 двоечников (итого 9).
  • — 9 минут: + 18 двоечников (итого 27).
  • — 12 минут: осталось 3 лузера, у которых есть 3 минуты, чтобы успеть сбегать в курилку.

BitTorrent — самый популярный способ обмена файлами, но не первый. До него были eDonkey2000, Kazaa, FastTrack, Freenet, Gnutella, и наделавшая в свое время много шума музыкальная файлообменная сеть Napster.

Теперь подробнее о том, как это реализовано в протоколе BitTorrent.

1. Человек, который хочет поделиться большим файлом, запускает у себя на компьютере программу торрент-клиент. Она по специальному формату создает описание файла: имя, размер, на какие кусочки файл поделен – и сохраняет его с расширением torrent.

2. После этого человек закачивает файл на специальный сервер – торрент-треккер. Он управляет раздачей файла, хотя сам в ней не участвует. Сервер добавляет в файл свои координаты и выкладывает его для скачивания.

3. После этого все, кому нужен этот большой файл, скачивают торрент, открывают его при помощи программы-клиента; она читает описание файла, находит координаты сервера и спрашивает у него, откуда этот файл можно скачать.

4. У каждого пользователя свой список скачанных частей файла. Программа связывается с пользователями и просит у них кусочки файла.

5. Допустим, я скачиваю кусочек файла: я оповещаю об этом сервер. И,  когда кому-то нужен будет этот кусочек, он попросит его у меня. Мне не жалко – берите. Чем больше людей раздает, тем быстрее файл качается.

Сразу возникает проблема — не все такие бескорыстные, как я. Все хотят скачивать, но не каждый готов отдавать файлы. Их нужно постоянно хранить в неизменном виде у себя на винчестере (который и так трещит по швам с начала нового сезона сериалов), компьютер надо держать всегда включенным, и не у всех безлимитный интернет.

Чтобы принудить людей к альтруизму и заставить их раздавать, на некоторых треккерах появилось такое понятие, как рейтинг — соотношение розданных и закачанных данных. Если ты мало раздаешь, то у тебя низкий рейтинг и тебе могут закрыть доступ к скачиванию.

Единственный способ посмотреть в Зимбабве последнюю серию Mad Men, на самом деле, является незаконным.

Через торренты удобно передавать большие файлы, например, фильмы и музыку. Серьезные киностудии и музыкальные лейблы этого, разумеется, не оценили и постоянно ставят палки в колеса техническому прогрессу и свободному распространению информации: выставляют судебные иски владельцам торрент-треккеров и слишком активным пользователям.

Компании, которые умеют считать деньги и видят преимущества дешевой передачи данных, наоборот, используют эту технологию для своих нужд. Технологией BitTorrent пользуются некоторые правообладатели:

  • — Радиостанции распространяют таким образом свои записи (CBC, норвежская радиостанция NRK и голландская VPRO).
  • — Звукозаписывающие лейблы и киностудии пытаются использовать эту технологию для дистрибуции фильмов и музыки за деньги, но пока дальше экспериментов дело не зашло.
  • — Производители софта и компьютерных игр распространяют через торренты свои программы. Например, компания Blizzard написала свою собственную программу для скачивания игр на основе торрентов.
  • — Высший пилотаж: фейсбук и твиттер используют торренты для автоматического обновления программного обеспечения на своих многочисленных серверах.