Что такое IPFS?

Что такое IPFS?

IPFS (InterPlanetary File System, «межпланетная файловая система») — это гипермедийный протокол связи с открытым кодом, с помощью которого одноранговые узлы осуществляют хранение и распространение данных в единой распределенной файловой системе.

Автор решения — основатель и глава американского стартапа Protocol Labs Хуан Бенет — назвал его «распределенным постоянным вебом» (Distributed, Permanent Web), имея в виду, что созданный в IPFS сайт никогда и никем не может быть закрыт.

«В некотором смысле IPFS похожа на Интернет, но IPFS можно рассматривать как единый рой BitTorrent, обменивающийся объектами в одном репозитории Git. Другими словами, IPFS представляет высокопроизводительную модель хранилища блоков с контентно-адресуемыми гиперссылками», — пояснил он в whitepaper проекта.

Как работает IPFS?

При загрузке информации в IPFS адрес для доступа к объекту, файлу или пользовательским данным в системе формируется с привязкой не к серверу, а к его уникальному криптографическому хешу-идентификатору (Content Identifier, CID).

При повторной загрузке файла CID не изменяется, а обновленным версиям файла присваиваются новые хеш-идентификаторы. Чтобы получившие доступ к ранней версии файла пользователи могли иметь его и к более поздним вариантам, применяется сервис имен InterPlanetary Naming System (IPNS) — аналог DNS в традиционном Интернете.

Файлы размером свыше 256 Кб в системе разбиваются на части, хешируются и организовываются в IPLD-объекты (InterPlanetary Linked Data), состоящие из двух компонентов: самих данных и ссылок на части файла, связанных между собой благодаря применению направленного ациклического графа дерева Меркла (Merkle DAG).

Затем отвечающее за коммуникации в системе программное обеспечение, IPFS-демон (IPFS daemon), временно кеширует данные либо по выбору пользователя «прикрепляет» (pin) их к себе на постоянной основе и по запросу раздает их другим узлам. В дальнейшем такие узлы могут выполнять функции провайдеров контента или остаться его получателями.

После запроса контента в распределенной хеш-таблице (Distributed Hash Table, DHT) системы проводится поиск ближайших к пользователю узлов с копией искомых данных — и именно они отдают части файла.

Пример гиперссылки в IPFS:

https://ipfs.io/ipfs/QmRTSA1UFHSx3z7taNRwUVM8AjB2EQwKvyZu3BfJg9QRtZ/home.html

Как используют IPFS?

Протокол и имплементации IPFS все еще находятся в разработке и, возможно, содержат ошибки и скрытые уязвимости. Однако предполагается, что IPFS может быть удобна для хранения важной информации и создания статичных сайтов. На практике ее использование повышает скорость передачи данных и пропускную способность сети, уменьшает нагрузку на узлы за счет ее распределения, позволяет обходить цензуру, избегать DDoS-атак и появления «мертвых» ссылок. В системе нет точки отказа, и узлам не нужно доверять друг другу. Кроме того, теоретически контент в IPFS может храниться вечно.

Первым веб-ресурсом с поддержкой IPFS в 2015 году стал хостинг-сервис Neocities. На основе IPFS созданы децентрализованная видеоплатформа DTube, торговая онлайн-площадка OpenBazaar и другие решения.

Добавленная в криптовалютную транзакцию IPFS-ссылка позволяет сохранять огромные массивы защищенных от изменений данных в блокчейне, не утяжеляя его. Например, весной этого года после ареста Джулиана Ассанжа один из разработчиков Bitcoin Cash в знак поддержки разместил на сайте Wikileaks.cash в IPFS и в виде ссылки в блокчейне BCH полный архив документов Wikileaks — около 30 Гб.

С 2014 года команда разработчиков Protocol Labs также работает над созданием децентрализованного хостинга файлов Filecoin на основе IPFS. Проект готовится к запуску тестовой и основной сетей, однако еще в 2018 году Хуан Бенет обнаружил, что наработки его компании вдохновили создателей TRON: несколько листов из документации по Filecoin и IPFS в слегка измененном виде вошли в whitepaper этого китайского проекта. А весной 2019 года TRON заявил о намерении запустить собственную версию IPFS на основе BitTorrent — BTFS.

Источник: forklog.com



Самые актуальные новости - в Telegram-канале

Читайте также

Вверх