Как работает BitTorrent и почему пиратские торренты так сложно заблокировать

Как работает BitTorrent и почему пиратские торренты так сложно заблокировать

Конспект подкаста «Запуск завтра»

Продолжаем славную традицию пятничных конспектов подкаста «Запуск завтра». Его делают при поддержке «Практикума», а мы тоже работаем по заказу и во славу «Практикума», ну и тема наша. 

Если есть время — слушайте подкаст. Если есть желание, но нет времени — читайте наш конспект.

Герои

Станислав Шалунов. Создал протокол LEDBAT, которым пользуется BitTorrent. Протокол переносит 15‒20% всего трафика в интернете. 

Андрей Кравец. Оcнователь Lostfilm — одного из самых популярных торрент-трекеров в рунете. Директор студии Kravet’s Records. Студия Андрея переводит на русский язык и озвучивает зарубежные сериалы, сотрудничает с телеканалом СТС и онлайн-кинотеатром Amediateka. 

BitTorrent — сетевой протокол для обмена файлами через Интернет. Файлы передаются частями: каждый клиент получает эти части и сразу отдаёт их другим клиентам. Это снижает нагрузку и зависимость от каждого клиента-источника, обеспечивает избыточность данных.

Главная идея работы всех распределённых сетей,
включая BitTorrent

Станислав Шалунов: Это был конец 90-х. Меня интересовали системы распределённого протокола ― хотелось научиться делать так, чтобы контент мог жить в интернете без сервера.

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

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

Хеш-сумму можно сравнить с отпечатками пальцев. Цифровой отпечаток позволяет точно идентифицировать файл, как отпечатки пальцев на месте происшествия позволяют определить преступника. У каждого файла есть отпечаток ― именно он служит адресом файла. Это главная идея, которая используется во всех распределённых сетях.

Нельзя просто так взять и объяснить, как устроен протокол BitTorrent

Файлы по протоколу BitTorrent передаются частями. Чтобы скачать нужную часть файла, программа должна определить, у кого из пользователей в системе есть кусочки этого файла и, в частности, — нужные тебе кусочки. Этот принцип объясняет на высоком уровне любую распределённую систему, включая BitTorrent. 

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

Кто придумал BitTorrent и после чего технология стала популярной

Главный вклад в создание протокола BitTorrent внес Брем Куин. Он первым создал рабочий протокол, в основе которого был принцип распределённых сетей. Куин же написал и первую реализацию BitTorrent на Python. То есть он придумал, как концепт будет работать с точки зрения логики, а затем запрограммировал алгоритм, который на практике подтвердил идею. 

Я в это время работал в сети «Интернет-2». Это консорциум около 200 американских исследовательских университетов, которые разрабатывали и тестировали идеи для обычного интернета. Среди всего прочего я занимался collative service — это технология, которая позволяет перераспределять трафик. Например, благодаря ей у вас нормально работает Zoom, когда рядом кто-то качает фильм. Из этих моих занятий появился протокол LEDBAT, которым стал пользоваться BitTorrent. Протокол LEDBAT — мой главный вклад в BitTorrent. Разработка протокола привела к взрывному росту количества пользователей. 

Благодаря LEDBAT стало наконец-то возможно нормально пользоваться интернетом и параллельно качать торренты. 

До интеграции LEDBAT BitTorrent работал плохо: если кто-то качал кино, всё остальное переставало работать. Причём не только у тебя, но ещё у соседей.

Что такое торрент-трекер и почему пираты никак не связаны с создателями BitTorrent

В терминологии BitTorrent трекер — это сервер, который сводит друг с другом разных клиентов. Пользователи же стали называть так сайты с форумами, куда люди загружают файлы, чтобы их можно было скачать. 

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

То есть эти форумы технически — таблицы, в которых могут быть зафиксированы хеши любого контента в интернете. Под капотом торрент-трекеры используют протокол BitTorrent, но с создателем BitTorrent они никак не связаны. 

Как появился Lostfilm — один из самых популярных трекеров в русском интернете

Андрей Кравец: Lostfilm — это студия переводов и один из самых популярных торрент-трекеров в России.

Как-то я захотел посмотреть «Вавилон 5». Где-то скачал и обнаружил, что некоторые серии оказались без перевода. Захотелось самому перевести и наговорить чисто для себя, чтобы потом сесть и посмотреть сразу несколько серий.

Позже вышел сериал Lost, и, как всегда, первый сезон закончился на самом интересном месте. В Америке в это время уже показывали второй сезон, а мы здесь не знали, что будет дальше. Я нашёл в сети пиратский перевод, но он был ужасен. Решил попробовать сделать лучше.

Начал сам переводить новые серии «Остаться в живых», затем озвучивать. Потом подтянулись переводчики, которые сказали: «Не мучайся, мы будем переводить, ты начитывай». Я стал начитывать, выкладывать звуковые дорожки, и началось.

Дальше я стал думать, куда мне эти переводы отдавать, чтобы люди могли увидеть продолжение сериала с нормальным переводом. Я на один трекер, на второй, на сайты Lost. Один послал меня, а другой предложил: «Выкладывай у нас на форуме, сделаем тебя админом». Я согласился и стал заливать новые переводы на файлообменники. 

Пользователи качали много, файлообменники падали. Выяснилось, что никакой сервер не выдержит такой нагрузки. Тогда хозяин сайта сам построил трекер, чтобы сделать распределённую нагрузку. Это помогло, но временно. Потом был второй трекер, третий, и раз на пятый мы нашли сервис, который стал выдерживать нагрузку.

Почему торренты так сложно заблокировать

Станислав Шалунов: В какой-то момент государство начало серьёзно бороться с пиратскими переводами. Интересно, что службы блокируют сайт, на котором люди переписываются, а саму технологию BitTorrent заблокировать практически невозможно. 

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

В 2007‒2008 годах мы прошли через историю блокировок BitTorrent с Comcast. Это крупнейший американский провайдер, типа МГТС или «Ростелеком». Comcast в 2000-е делал ровно то же, что сейчас делает Роскомнадзор, только он блокировал не конкретные сайты, а торренты целиком. Нам приходилось придумывать способы обхода этих блокировок.

Я в итоге даже подружился со всеми этими людьми. Они перестали блокировать BitTorrent. Особенно после того, как мы их победили сперва в интернете, а потом и в суде.

Была прорва таких оппонентов, кто только не попробовал приложить руку к блокировкам BitTorrent. BitTorrent прошёл через многие поколения эволюции, через которые централизованные протоколы никогда не проходили. Если кто-нибудь захочет заблокировать HTTP, никаких проблем у него не будет. Он заблокирует порт 80, и на этом всё кончится. BitTorrent — один из самых живучих протоколов интернета. Ничего не работает, а торренты всё равно скачиваются.

Полная версия подкаста:

Ведущий подкаста:

Самат Галимов

Редактор подкаста:

Юля Яковлева

Продюсер подкаста:

Павел Боровков

Звукорежиссёр:

Нина Мамотина

Дизайнер обложки

подкаста:

Пётр Сутупов

Редакторы конспекта:

Сервис «Чистовик», Максим Ильяхов

Корректор «Кода»:

Ира Михеева

Вёрстка статьи:

Кирилл Климентьев

Соцсети:

Алина Грызлова

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
easy