Представлен выпуск децентрализованной файловой системы IPFS 0.9 (InterPlanetary File System), образующей глобальное версионированное хранилище файлов, развёрнутое в форме P2P-сети, образованной из систем участников. IPFS комбинирует идеи, ранее реализованные в таких системах, как Git, BitTorrent, Kademlia, SFS и Web, и напоминает единый «рой» BitTorrent (пиры, участвующие в раздаче), обменивающийся Git-объектами. IPFS отличается адресацией по содержимому, а не месту размещения и произвольным именам. Код эталонной реализации написан на языке Go и распространяется под лицензиями Apache 2.0 и MIT.
Uues versioonis:
- В шлюзах реализована возможность загрузки произвольных графов IPLD (InterPlanetary Linked Data, пространство имён для адресации ресурсов на основе хэшей) через обработчик «/api/v0/dag/export», выполняющий функцию, аналогичную команде «ipfs dag export». Экспорт осуществляется в формате архива DAG (Ориентированный ациклический граф). Полученный IPLD даёт пользователю возможность удостовериться, что загруженные с публичного шлюза данные соответствуют запрошенному символьному имени (например, получив файл «/ipfs/bafyexample» можно проверить его соответствие с хэшем содержимого, изначально связанным с символьным именем).
- Предоставлена возможность определения собственного DNS-резолвера, использующего протокол «DNS over HTTPS», который будет применяться вместо резолвера из настроек операционной системы. В том числе можно переопределять резолвер для отдельных of domains первого уровня. В 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 и добавлены настройки для упрощения применения обновлений в условиях отсутствия сетевого соединения или блокировки межсетевым экраном.
Tuletame meelde, et IPFS-is on faili juurde pääsemiseks link otseselt seotud selle sisuga ja sisaldab sisu krüptograafilist räsiväärtust. Faili aadressi ei saa juhuslikult ümber nimetada; see võib muutuda ainult sisu muutmisel. Samuti ei ole võimalik faili muuta ilma aadressi muutmata (vana versioon jääb oma aadressile, uus versioon on kättesaadav uue aadressi kaudu, kuna faili sisu räsiväärtus muutub). Arvestades, et faili identifikaator muutub iga kord muutmise korral, et mitte iga kord uusi linke edastada, pakuvad teenused püsivate aadresside sidumist, arvestades erinevaid faili versioone (IPNS), või pseudonüümi kinnitamist sarnasel viisil traditsiooniliste FS ja DNS-iga (MFS (Muudetav Failisüsteem) ja DNSLink).
Nagu BitTorreni puhul, salvestatakse andmed otse osalejate süsteemides, kes vahetavad teavet P2P-režiimis, ilma tsentraliseeritud sõlmedele tuginemiseta. Kui on vaja teatud sisuga faili saada, leiab süsteem osalejad, kellel see fail olemas on, ja edastab selle nende süsteemidest tükkidena mitme voogude kaudu. Pärast faili oma süsteemi allalaadimist muutub osaleja automaatselt selle jagamise punktiks. Võrgus osalejate määramiseks, kelle sõlmedes on huvipakkuv sisu, kasutatakse jaotatud räsimistabelit (DHT). Globaalset IPFS-i failisüsteemi saab kasutada HTTP-protokolli kaudu või mountida virtuaalse failisüsteemina /ipfs FUSE mooduli abil.
IPFS aitab lahendada selliseid probleeme nagu salvestamise usaldusväärsus (kui algne salvestus seadme rikki läheb, saab failide alla laadida teiste kasutajate süsteemidest), sisuruumi tsenseerimise vastu (sisu blokeerimiseks tuleb blokeerida kõik süsteemid, kus andmed on olemas) ja ligipääsu korraldamine, kui otsest internetiühendust ei ole või kanali kvaliteet on halb (andmeid saab alla laadida lähimalt kohaliku võrgu osaliselt). Lisaks failide salvestamisele ja andmete vahetamisele võib IPFS-i kasutada ka uute teenuste loomiseks, näiteks serveritest sõltumatute veebisaitide opereerimiseks või jaotatud rakenduste loomise aluseks.

Allikas: opennet.ru
