Кратко
- BitTorrent перенёс значительную часть исходящего трафика популярных файлов с издателя на тех, кто их скачивает. В цепочке остались веб-сервер, трекер и первый сид с полной копией.
- Описанный Cohen взаимный choking был политикой клиента, а не обязательным правилом протокола. Пир мог передавать больше, чем получать, ограничиться вкладом ради собственной скорости или прекратить раздачу.
- Исследование 2007 года показало, что стратегический клиент мог сократить отправку данных и улучшить собственную производительность. Эти выводы относятся к измеренным тогда роям и условиям, а не ко всем последующим сетям.
Экономика начинается с исходящего канала
При обычной загрузке по HTTP исходный сервер отправляет каждую копию. Если файл внезапно становится популярным, издателю приходится обеспечивать больший исходящий канал или мириться с задержками. В статье 2003 года Bram Cohen предложил распределить эту работу: когда файл одновременно загружают несколько человек, они обмениваются его фрагментами и сами становятся частью доставки.
Меняется место, где сосредоточена пропускная способность. Издатель запускает раздачу, но не обязан быть единственным источником каждого байта. Cohen считал, что так можно сделать доступной раздачу очень популярных файлов, особенно там, где исходящий трафик пользователей часто не тарифицировался по объёму. Это условный вывод. Безлимитный тариф не делает бесплатными сеть, электричество и эксплуатацию и не описывает все схемы оплаты доступа.
Начальная инфраструктура остаётся вполне конкретной. Издатель размещает файл метаданных .torrent на обычном веб-сервере; трекер помогает скачивающим найти друг друга; сид с полным файлом начинает передачу. В описании Cohen веб-серверу и трекеру требовалось мало пропускной способности по сравнению с передачей самого файла, но сид всё равно должен был отправить как минимум одну полную копию. BitTorrent перераспределяет основной поток данных, но не отменяет его источник.
Поэтому формула «бесплатный хостинг» вводит в заблуждение. Издатель может отправлять меньше байтов, однако влияние на его расходы зависит от тарификации, ограничений канала, реального вклада пиров и срока, в течение которого доступна полная копия. Работа не исчезает: часть мощности и ответственности переходит участникам.
Что именно регулировала взаимность
Cohen описывает вариант tit-for-tat, при котором пиры сами выбирают, кому передавать данные. Клиент может применить choking и временно перестать отправлять данные конкретному соединению, не обязательно прекращая загрузку от него. Optimistic unchoke периодически пробует соединение, которому данные пока не отправлялись, чтобы найти более удачного партнёра.
Техническая оговорка важна: Cohen прямо пишет, что алгоритм choking формально не входит в wire protocol BitTorrent. Протокол позволяет обмениваться данными и сигналами, а выбор получателей остаётся локальной политикой клиента. Поэтому фраза «BitTorrent гарантирует взаимность» приписывает общему протоколу то, что определяет реализация. На обмен влияют доступные фрагменты, смена подключений, различия между клиентами и свободная исходящая мощность.
Решение об использовании BitTorrent принимает и издатель. Пользователи подключаются, потому что хотят получить файл. Cohen отмечал, что простого действия «нажать ссылку и сохранить файл» могло быть достаточно, чтобы простота интерфейса повлияла на распространение сильнее, чем скорость или перераспределение расходов. Механизм стимулов помогает только тогда, когда людям удобно войти в систему и оставаться в ней.
Проверка гипотезы в 2007 году
В 2007 году Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy и Arun Venkataramani вновь проверили, делает ли система стимулов BitTorrent устойчивым. В их модели, настроенной по реальным трассам, пиры предоставляли ресурсы, которые не улучшали их собственную производительность напрямую. Разработанный ими BitTyrant пытался использовать этот запас, меняя набор активных пиров и скорость отправки каждому из них.
В аннотации конференции USENIX указано медианное улучшение производительности на 70% для клиента с каналом 1 Mbit/s в измеренных работающих роях. Авторы также предупреждали, что всеобщее применение стратегических клиентов могло бы снизить среднюю производительность отдельного роя по сравнению с исследованными реализациями. Это ставит под сомнение утверждение, будто одного tit-for-tat достаточно для надёжного вклада. Но исследование не измеряет все нынешние клиенты, а 70% нельзя считать универсальным обещанием скорости.
Разница проходит между правилом, которое организует обмен, и правилом, которое заставляет каждого использовать весь канал на благо роя. Взаимность поощряла полезную отправку данных, однако пробные соединения и разная пропускная способность оставляли вклад без прямой отдачи. Стратегический клиент мог попытаться присвоить часть этой выгоды. Последствия для конкретного роя зависели от поведения участников и оставшейся мощности.
Полная копия остаётся точкой риска
Издатель начинает раздачу, публикуя метаданные, сохраняя доступ к трекеру или другому механизму обнаружения пиров и запуская полный сид. Далее каждый клиент сам выбирает объём участия. В описанной Cohen конструкции нет центрального распределителя, который назначал бы каждому обязательную долю отправки.
Это даёт гибкость при росте нагрузки, но оставляет неопределённость предложения. Издатель может не покупать весь исходящий канал самостоятельно, а пользователь вправе прекратить раздачу после завершения загрузки. Однако сам протокол не создаёт постоянного источника мощности. Если сид отключится до распространения всех частей или уйдёт последний пир с редким фрагментом, файл может оказаться неполным. Выбор наименее распространённых частей помогает копировать их раньше, но не возвращает фрагмент после исчезновения последней копии.
Практический вопрос состоит не в том, «решил» ли BitTorrent проблему хостинга. Нужно выяснять, какую долю трафика по-прежнему отправляет исходный сервер, сколько действительно принимают на себя пиры и что сохраняет полноту файла после падения спроса. Cohen превратил скачивающих в потенциальных раздатчиков. Последующие исследования показывают, почему их вклад надо измерять, а не считать гарантированным.
Источники
- Bram Cohen, “Incentives Build Robustness in BitTorrent” (2003).
- Bram Cohen, BEP 3: The BitTorrent Protocol Specification.
- Michael Piatek et al., “Do Incentives Build Robustness in BitTorrent?” (USENIX NSDI 2007), полный текст.
- Heng Lu, «Минимальная исходная спецификация, локальные будущие решения и добровольное принятие в интернет-системах координации» (Note 64). Это только редакционная рамка, а не свидетельство о Cohen или BitTorrent.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
