✅✅✅
Протоколы для децентрализованных сетей
Протокол 2-го поколения P2P сетей - BitTorrent
Часть 1. Торрент файлы и содержимое
https://t.me/CryptoBotan/767Часть 2. Обмен данными
⬇️⬇️⬇️
Принцип работы протокола заключается в том, что нагрузка на распространителя файла уменьшается за счет скачивающим клиентам. Они начинают обмениваться данными сразу же, даже если файл не докачан ими до конца.
Для работы BitTorrent, как писалось в 1 части, необходим трекер — специализированный сервер, работающий по протоколу HTTP. Он нужен, чтобы клиенты, именуемые пирами, могли найти друг друга. Перед началом скачивания клиент подсоединяется к трекеру по указанному в торрент-файле адресу, сообщает ему свой адрес и идентификатор файла, который требуется скачать (он именуется хеш-суммой). В ответ клиент получает адреса других клиентов, скачивающих или раздающих этот файл. Впоследствии клиент периодически информирует трекер о ходе процесса и получает обновлённые списки адресов. Пиры соединяются друг с другом и обмениваются сегментами файлов без непосредственного участия трекера. Он лишь хранит информацию, получаемую от клиентов.
Раздача поделена на множество небольших блоков. Вопрос - как их закачивать?
Последовательно, увы, не вариант. Допустим 10 пиров качают у одного сида и при чем последовательно. Сид уходит и 10 человек скачали только первые блоки, а следующих ни у кого нет. Итог: раздача мертва.
Рандомный кач? тоже не вариант. Не факт, что все блоки будут скачаны одинаковое количество раз, дабы не стопорить раздачу.
Ответ прост: блоки качаются так, что приоритет отдается самым редким из них. Поэтому то, поддерживается баланс скорости закачки.
Также, есть возможность закачать лишь часть раздачи, но с большой долей вероятности, мы закачаем больше чем нужно. Это происходит из-за того, что не все файлы в раздаче разбиваются целыми в блоки. В одном блоке может находиться части сразу нескольких файлов. И качается целый блок. Также происходит передача служебной информации на трекер и другим пирам.
Можно заметить, что при завершении загрузки скорость закачки падает и последние пару процентов раздачи качаются ну очень долго. Пока клиент может, он качает много блоков параллельно и держит скорость на той, которую мы ограничили. Но под конец, блоков для закачки остается мало и скорость проседает, поэтому оставшиеся блоки нужно докачать у самых быстрых пиров. Есть такой специальный режим End Game, который опрашивает всех пиров о наличие оставшихся блоков и быстрее докачивает остаток.
Так же вы можете скачать раздачу без торрент-клиента. Закачка происходит по TCP и хватает простого браузера. Но так, можно скачать лишь торрент. Раздавать их не получится
Сегодня получили развитие приватные трекеры. Скачанный торрент имеет метку private и качать можно только у тех, у кого есть торрент с этой меткой. Это и плюс и минус. Есть закрытые сообщества, где можно передавать файлы лишь доверенным лицам. Но также, за регистрацию в таких трекерах, нужно платить. У монеты всегда две стороны...
Чем больше распространялся торрент, тем больше появлялось раздач с книгами, картинками и т.п., вес которых не превышает пары мегабайт. Создавать полноценный .torrent файл не очень удобно, поэтому были придуманы .micro.torrent — файлы для раздач, где данные умещаются в один сегмент, а в самом микро-торренте хранится лишь контрольная сумма, размер и название файла в раздаче. При этом закачка ведется торрент-клиентом напрямую с веб-сервера.
И сегодня очень часто в торрент файлы вшиваются трояны, вымогатели или скрытые майнеры.
Это один из самых существенных минусов протокола. Но рассмотрение положительных и отрицательных сторон протокола, я оставляю для вас😉
У каждого из нас есть свое мнение на этот счет...
#децентрализация #протоколы