A A A A Автор Тема: IPFS как альтернатива традиционным сайтам, ftp, torrent-ам  (Прочитано 657 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ЗанудаАвтор темы

  • *****
  • Сообщений: 1 521
  • Благодарностей: 46
  • ТАЛ-150К и бинокли
    • Jabber - shurale51650@jabber.ru
    • Сообщения от Зануда
    • домашняя страничка
Уважаемые коллеги!

В этом разделе есть хорошая, но ныне заглохшая тема о файлообмене через torrent-ы. Собственно, почему она заглохла, понятно - распространение быстрого интернета с одной стороны и борьба копирастов с распространением нелицензионных копий с другой стороны сделали эту технологию неудобной, а во многих странах и незаконной. Однако необходимость передавать файлы  от одного многим не исчезла, как и проблемы скорости связи, доступности сайта-источника и прочая, прочая, прочая. И появились новые технические решения. Одно из которых носит очень астрономическое название - IPFS (InterPlanetary File System, буквально "межпланетная файловая система").

Домашняя страница этой технологии - https://ipfs.io, статьи, где она рассматривается описывается популярно и по-русски есть на Хабре (например, https://habr.com/ru/post/314768/, https://habr.com/ru/post/465599/) и других ресурсах (например, https://sysadmin.pm/ipfs-cloudflare/, https://vc.ru/future/49616-ipfs-kak-besplatnoe-hranilishche-faylov)

А если очень кратко и грубо - файлы в этой системе адресуются по хэшам, так что получается что-то вроде magnet-ссылок, имеющих вид /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme. Файл можно скачать по ссылке через гейт https://ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme, а можно клиентом ipfs. В последнем случае он будет кэширован и ваш компьютер сможет раздавать его желающим наравне с другими хостами.

Примеры опубликованной таким образом информации собраны на сайте https://awesome.ipfs.io, но из имеющего отношение к астрономиии я нашел только архивы проекта "Аполлон", выложенные NASA в общий доступ: https://ipfs.io/ipfs/QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D

Мне эта технология показалась перспективной. Тем более, что её уже применяет компания CloudFlare. Давайте попробуем публиковать файлы таким образом. Если есть какие-то вопросы - спрашивайте, постараюсь ответить.

Оффлайн ЗанудаАвтор темы

  • *****
  • Сообщений: 1 521
  • Благодарностей: 46
  • ТАЛ-150К и бинокли
    • Jabber - shurale51650@jabber.ru
    • Сообщения от Зануда
    • домашняя страничка
Для примера я скачал и загрузил в IPFS популярные астрономические программы и каталоги:
Stellarium релиз v0.20.4 (декабрь 2020, каталог):
https://ipfs.io/ipfs/QmNig7cyjyjLr4xKLBLSjieguNswgKQU353wJQDACkp5rQ/stellarium
/ipfs/QmNig7cyjyjLr4xKLBLSjieguNswgKQU353wJQDACkp5rQ/stellarium
HeavenSat релиз 2.5.2 (январь 2021, каталог)
https://ipfs.io/ipfs/QmancL16KbtGyomp6wbnZrr2ZFb2a7Acb7yhbECbe6EzzN/HeavenSat
/ipfs/QmancL16KbtGyomp6wbnZrr2ZFb2a7Acb7yhbECbe6EzzN/HeavenSat
Каталог Tycho-2 (с сайта ftp://cdsarc.u-strasbg.fr/cats/I/259/)
https://ipfs.io/ipfs/QmTYpCVqzPBJDPXDQwCVaSRMyctCqenwNpFhn9WPMsgBMy/259
/ipfs/QmTYpCVqzPBJDPXDQwCVaSRMyctCqenwNpFhn9WPMsgBMy/259
Экспериментируйте - скачивайте, измеряйте скорость, задавайте вопросы - постараюсь ответить.

Оффлайн xd

  • *****
  • Сообщений: 17 982
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
А безлимитные веники уже завезли?
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн ЗанудаАвтор темы

  • *****
  • Сообщений: 1 521
  • Благодарностей: 46
  • ТАЛ-150К и бинокли
    • Jabber - shurale51650@jabber.ru
    • Сообщения от Зануда
    • домашняя страничка
А безлимитные веники уже завезли?

Извините, не понял. Если вы про накладные расходы - IPFS расходует сетевой трафик, дисковое пространство на хосте и процессорное время на вычисление контрольных сумм. Тем, у кого что-то из этого ограничено, эта система, вероятно, будет неудобна. У меня дома тариф интернета безлимитный и ещё я арендую VPS, возможности которой использую далеко не полностью. Вот и экспериментирую с разными системами и сервисами, которым могут быть полезны знакомым и коллегам.

Оффлайн xd

  • *****
  • Сообщений: 17 982
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Такая система предполагает реплики на всех узлах, что мало отличается от других систем синхронизации вроде BTSync и подобных. Кроме того, если у пользователей будет различный размер дискового пространства, то как будет вести себя ФС на узлах с меньшим доступным объёмом?
Что с конкурентной записью в файлы на разных узлах?
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн ЗанудаАвтор темы

  • *****
  • Сообщений: 1 521
  • Благодарностей: 46
  • ТАЛ-150К и бинокли
    • Jabber - shurale51650@jabber.ru
    • Сообщения от Зануда
    • домашняя страничка
Такая система предполагает реплики на всех узлах, что мало отличается от других систем синхронизации вроде BTSync и подобных.

В том-то и дело, что не на всех, а лишь на скачавших этот конкретный файл. IPFS это не система синхронизации, а система раздачи файлов.


"Под капотом" системы файлы разбиваются на блоки (по умолчанию 2 Мб), контрольные суммы которых распространяются между хостами по протоколу DHT. Если вам нужен файл, вы получаете по его контрольной сумме список его блоков, и по их контрольным суммам запрашиваете эти блоки для скачивания. Точнее, этим занимается незаметно для вас IPFS-демон. Он же кэширует скачанные блоки в локальном хранилище, объём которого задан в настройках. И, если будет запрос на хранимый локально блок или файл, отдаёт его. Как это делают торрент-клиенты. Если кэш уже заполнен, вновь заказанные блоки и файлы будут записываться на место самых старых.

Однако для IPFS есть надстройка - IPFS-cluster. Которая заставляет работать IPFS-демоны, объединённые в кластер, как демоны BTSync - передавать новые файлы с одного хоста в кластере на все остальные.

Запись в один файл на разных узлах невозможна - изменение файла/блока приведёт к изменению контрольной суммы и для IPFS это будет другой файл/блок. И чтобы передать его клиенту, надо будет сообщить ему новую контрольную сумму. Потому, насколько я понимаю, эта система оптимальна для публикации/распространения от одного многим.

Оффлайн xd

  • *****
  • Сообщений: 17 982
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
А что по конкурентной записи?
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн ЗанудаАвтор темы

  • *****
  • Сообщений: 1 521
  • Благодарностей: 46
  • ТАЛ-150К и бинокли
    • Jabber - shurale51650@jabber.ru
    • Сообщения от Зануда
    • домашняя страничка
А что по конкурентной записи?

Насколько я понимаю, её в принципе нет. Это content-addressed storage, то есть файлы с разным содержимым и, соответственно, хэшами это разные файлы, даже если все остальные атрибуты у них одинаковые. А если содержимое файлов идентичное, то и хэш будет одинаковый и скачиваться они будут по этому хэшу, но так как IPFS передаёт только содержимое, то и разницы вы не обнаружите.

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

Оффлайн ЗанудаАвтор темы

  • *****
  • Сообщений: 1 521
  • Благодарностей: 46
  • ТАЛ-150К и бинокли
    • Jabber - shurale51650@jabber.ru
    • Сообщения от Зануда
    • домашняя страничка
Сервисы...
« Ответ #8 : 13 Фев 2021 [17:39:33] »
Оказывается, есть уже сервис, куда можно загрузить файлы для скачивания (в терминологии IPFS - запинить): https://pinata.cloud. Зарегистрировавшимся пользователям они предоставляют 1 Гб бесплатно и выбор из нескольких тарифных планов, если нужно больше или какой-то сервис (например, раздачу с нескольких нод)

У них есть свой гейт из IPFS в привычный нам веб (https://gateway.pinata.cloud) и блог на английском (https://medium.com/pinata).
« Последнее редактирование: 13 Фев 2021 [17:45:10] от Зануда »

Оффлайн Ihtamnet II

  • *****
  • Забанен!
  • Сообщений: 3 019
  • Благодарностей: 144
    • Сообщения от Ihtamnet II
Не понял чем это отличается от торрентов и в каком смысле они стали "неудобными". Мне как было удобно так и есть. Тем более, с каких-то версий там поддерживается даже прямой обмен файлами.
Дурака учить - только портить.  (с) народная мудрость.

Оффлайн ЗанудаАвтор темы

  • *****
  • Сообщений: 1 521
  • Благодарностей: 46
  • ТАЛ-150К и бинокли
    • Jabber - shurale51650@jabber.ru
    • Сообщения от Зануда
    • домашняя страничка
Не понял чем это отличается от торрентов и в каком смысле они стали "неудобными".

От торрентов это отличается тем, что не нужны выделенные сервера-трекеры. И тем, что копирасты пока не добрались до этой технологии. Торренты-то в некоторых странах уже под запретом. Де-юре - если там есть файлы, нарушающие авторские и смежные права и законы. Де-факто интернет-провайдеры нередко просто блокируют соответствующий сетевой трафик, а то и пользователя целиком (пример - Билайн в Москве: если не маскировать свой торрент шифрованием соединений, они урезают канал до нескольких десятков килобайт в секунду до перелогинивания), а в правилах многих хостеров явно прописан запрет на использование их серверов для торрент-трекеров и клиентов.