Представлен выпуск децентрализованной файловой системы IPFS 0.8 (InterPlanetary File System), образующей глобальное версионированное хранилище файлов, развёрнутое в форме P2P-сети, образованной из систем участников. IPFS комбинирует идеи, ранее реализованные в таких системах, как Git, BitTorrent, Kademlia, SFS и Web, и напоминает единый "рой" BitTorrent (пиры, участвующие в раздаче), обменивающийся Git-объектами. IPFS отличается адресацией по содержимому, а не месту размещения и произвольным именам. Код эталонной реализации написан на языке Go и распространяется под лицензиями Apache 2.0 и MIT.
В новой версии:
По аналогии с BitTorrent данные непосредственно хранятся на системах участников, которые обмениваются информацией в режиме P2P, без привязки к централизованным узлам. При необходимости получить файл с определённым содержимым система находит участников, у которых имеется данный файл и отдаёт его с их систем частями в несколько потоков. После загрузки файла на свою систему участник автоматически становится одной из точек по его раздаче. Для определения участников сети на узлах которых присутствует интересующий контент используется распределённая хэш таблица (DHT). Для доступа к глобальной ФС IPFS может использоваться протокол HTTP или монтироваться виртуальная ФС /ipfs при помощи модуля FUSE.
IPFS помогает решить такие задачи как надёжность хранения (если исходное хранилище будет выведено из строя, файл можно загрузить с систем других пользователей), противостояние цензурированию контента (для блокировки потребуется заблокировать все системы пользователей, на которых имеется копия данных) и организация доступа при отсутствии прямого соединения к интернету или при плохом качестве канала связи (можно загрузить данные через ближайших участников в локальной сети). Кроме хранения файлов и обмена данными IPFS может использоваться как основа для создания новых сервисов, например, для организации работы сайтов, не привязанных к серверам, или для создания распределённых приложений.
Источник статьи: https://www.opennet.ru/opennews/art.shtml?num=54644
В новой версии:
- Реализована возможность создания внешних сервисов для закрепления данных пользователей (pinning - привязка данных к узлу, для гарантирования, что важные данные сохранены). Закреплённые за сервисом данные могут иметь отдельные имена, отличающиеся от идентификатора содержимого (CID). Возможен поиск данных как по имени, так и по CID. Для обработки запросов по закреплению данных предложен API IPFS Pinning Service, который может использоваться непосредственно в go-ipfs. В командной строке для прикрепления предложена команда "ipfs pin remote":
ipfs pin remote service add mysrv https://my-service.example.com/api-endpoint myAccessToken
ipfs pin remote add /ipfs/bafymydata --service=mysrv --name=myfile
ipfs pin remote ls --service=mysrv --name=myfile
ipfs pin remote rm --service=mysrv --name=myfile
- Ускорены операции привязки (pinning) и отвязки (unpinning) данных на локальном узле. Увеличение производительности и сокращение потребляемой памяти особенно заметно при выполнении операций вывода или изменения на системах с большим числом привязок.
- При формировании ссылок "https://" для шлюзов добавлена возможность передачи имён DNSLink с использованием поддоменов. Например, для загрузки имени "ipns://en.wikipedia-on-ipfs.org" помимо ранее поддерживаемых ссылок "https://dweb.link/ipns/en.wikipedia-on-ipfs.org" теперь можно использовать ссылки "https://en-wikipedia--on--ipfs-org.ipns.dweb.link", в которых точки в изначальных именах заменяются на символ "-", а существующие символы "-" экранируются ещё одним подобным символом.
- Расширена поддержка протокола QUIC. Для увеличения производительности предоставлена возможность увеличения принимающих буферов для UDP.
По аналогии с BitTorrent данные непосредственно хранятся на системах участников, которые обмениваются информацией в режиме P2P, без привязки к централизованным узлам. При необходимости получить файл с определённым содержимым система находит участников, у которых имеется данный файл и отдаёт его с их систем частями в несколько потоков. После загрузки файла на свою систему участник автоматически становится одной из точек по его раздаче. Для определения участников сети на узлах которых присутствует интересующий контент используется распределённая хэш таблица (DHT). Для доступа к глобальной ФС IPFS может использоваться протокол HTTP или монтироваться виртуальная ФС /ipfs при помощи модуля FUSE.
IPFS помогает решить такие задачи как надёжность хранения (если исходное хранилище будет выведено из строя, файл можно загрузить с систем других пользователей), противостояние цензурированию контента (для блокировки потребуется заблокировать все системы пользователей, на которых имеется копия данных) и организация доступа при отсутствии прямого соединения к интернету или при плохом качестве канала связи (можно загрузить данные через ближайших участников в локальной сети). Кроме хранения файлов и обмена данными IPFS может использоваться как основа для создания новых сервисов, например, для организации работы сайтов, не привязанных к серверам, или для создания распределённых приложений.
Источник статьи: https://www.opennet.ru/opennews/art.shtml?num=54644