Выпуск глобальной децентрализованной файловой системы IPFS 0.9
27 июня 2021 года
Представлен выпуск децентрализованной файловой системы IPFS 0.9 (InterPlanetary File System), образующей глобальное версионированное хранилище файлов, развёрнутое в форме P2P-сети, образованной из систем участников. IPFS комбинирует идеи, ранее реализованные в таких системах, как Git, BitTorrent, Kademlia, SFS и Web, и напоминает единый "рой" BitTorrent (пиры, участвующие в раздаче), обменивающийся Git-объектами. IPFS отличается адресацией по содержимому, а не месту размещения и произвольным именам. Код эталонной реализации написан на языке Go и распространяется под лицензиями Apache 2.0 и MIT.
В новой версии:
- В шлюзах реализована возможность загрузки произвольных графов IPLD (InterPlanetary Linked Data, пространство имён для адресации ресурсов на основе хэшей) через обработчик "/api/v0/dag/export", выполняющий функцию, аналогичную команде "ipfs dag export". Экспорт осуществляется в формате архива DAG (Ориентированный ациклический граф). Полученный IPLD даёт пользователю возможность удостовериться, что загруженные с публичного шлюза данные соответствуют запрошенному символьному имени (например, получив файл "/ipfs/bafyexample" можно проверить его соответствие с хэшем содержимого, изначально связанным с символьным именем).
- Предоставлена возможность определения собственного DNS-резолвера, использующего протокол "DNS over HTTPS", который будет применяться вместо резолвера из настроек операционной системы. В том числе можно переопределять резолвер для отдельных доменов первого уровня. В DNSLink, механизме для привязки обычных DNS-имён к адресам IPFS, выборочная замена резолвера может применяться для создания доменный имён, не связанных с ICANN, например, можно подключить резолвер "https://eth.link/dns-query(недоступная ссылка)" для обработки доменов первого уровня ".eth", которые официально не утверждены в ICANN.
- Обновлён web-интерфейс (WebUI), в котором появилась экспериментальная поддержка закрепления внешних сервисов (аналог команды "ipfs pin remote service"). Изменено оформление экранов для работы с файлами и пирами.
- В CLI-интерфейсе предоставлена возможность экспорта ключей командой "ipfs key export" без остановки фонового процесса ipfs.
- Добавлен экспериментальный клиент DHT для поиска данных с использованием распределённой хэш-таблицы, который отличается от решения на базе IPNS более высокой производительностью.
- Компоненты для миграции на новые версии go-ipfs разделены на отдельные пакеты для ускорения загрузки и упрощения организации обновлений в конфигурациях с собственными плагинами. Автоматизирован процесс загрузки обновлений через IPFS и добавлены настройки для упрощения применения обновлений в условиях отсутствия сетевого соединения или блокировки межсетевым экраном.
Напомним, что в IPFS ссылка для доступа к файлу непосредственно связана с его содержимым и включает криптографический хэш содержимого. Адрес файла невозможно произвольно переименовать, он может измениться только после изменения содержимого. Аналогично невозможно внести изменение в файл без изменения адреса (старый вариант останется на прежнем адресе, а новый будет доступен через другой адрес, так как хэш от содержимого файла изменится). Учитывая то, что идентификатор файла меняется при каждом изменении, чтобы каждый раз не передавать новые ссылки предоставляются сервисы для привязки постоянных адресов, учитывающих разные версии файла ( IPNS), или закрепления псевдонима по аналогии с традиционными ФС и DNS ( MFS (Mutable File System) и DNSLink).
По аналогии с BitTorrent данные непосредственно хранятся на системах участников, которые обмениваются информацией в режиме P2P, без привязки к централизованным узлам. При необходимости получить файл с определённым содержимым система находит участников, у которых имеется данный файл и отдаёт его с их систем частями в несколько потоков. После загрузки файла на свою систему участник автоматически становится одной из точек по его раздаче. Для определения участников сети на узлах которых присутствует интересующий контент используется распределённая хэш таблица ( DHT). Для доступа к глобальной ФС IPFS может использоваться протокол HTTP или монтироваться виртуальная ФС /ipfs при помощи модуля FUSE.
IPFS помогает решить такие задачи как надёжность хранения (если исходное хранилище будет выведено из строя, файл можно загрузить с систем других пользователей), противостояние цензурированию контента (для блокировки потребуется заблокировать все системы пользователей, на которых имеется копия данных) и организация доступа при отсутствии прямого соединения к интернету или при плохом качестве канала связи (можно загрузить данные через ближайших участников в локальной сети). Кроме хранения файлов и обмена данными IPFS может использоваться как основа для создания новых сервисов, например, для организации работы сайтов, не привязанных к серверам, или для создания распределённых приложений (Архивная копия от 28 декабря 2021 на Wayback Machine).
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.