IPFS — одноранговый гипермедийный протокол связи, который позволяет осуществлять хранение данных в децентрализованной файловой системе, образованной узлами IPFS. Полное название — InterPlanetary File System (межпланетная файловая система). Технология разработана американским проектом Protocol Labs и имеет открытый исходный код и представляет из себя распределенную файловую систему, которая объединяет все участвующие устройства, создавая единую систему файлов.
IPFS — одна из перспективных замен интернет-протокола HTTP, который не отвечает сегодняшним реалиям и давно исчерпал свои возможности. IPFS призван поднять на новый уровень принципы передачи данных в сети интернет Web 3.0.
Как работает IPFS?
Загруженные в IPFS данные привязываются не к серверу, а к его уникальному криптографическому hash-идентификатору (Content Identifier, CID). При повторной загрузке идентификатор не меняется, а обновленным версиям файлов назначаются новые CID. Чтобы пользователи имели доступ к более поздним редакциям файлов, используется сервис имен InterPlanetary Naming System (IPNS) — децентрализованный аналог DNS в интернете Web 2.0.
Файлы, имеющие размер свыше 256 Kb, разбиваются на части, хешируются и образовывают IPLD-объекты (InterPlanetary Linked Data). Эти объекты имеют 2 компонента: данные и ссылки на части файлов, связанных между собой при помощи ациклического графа дерева Меркла (Merkle DAG).
После этого IPFD daemon, временно кеширует данные и по запросу раздает их других IPFS-узлам. Такие узлы выполняют функции провайдеров данных или просто остаются получателями.
После запроса данных пользователем, в распределенной hash-таблице (Distributed Hash Table) системы проводится поиск ближайших к пользователю узлов с необходимыми файлами и с них производится передача этих данных.
Для чего нужен IPFS?
IPFS призван решить накопившиеся проблемы протокола HTTP, который был изобретен в далеком 1991 году и принят веб-браузерами в 1996 году. Основная проблема старого протокола заключается в неэффективной доставке данных пользователю из-за одновременной загрузки с определенного сервера, что в свою очередь вызывает высокие требования к пропускной способности и скорости физических носителей.
IPFS предоставляет в распоряжение пользователей распределенное бесплатное хранилище файлов, в котором файлы распространяются по протоколу на основе комбинации BitTorrent, Kodemilla и Git.
Проекты, использующие эту технологию
- Brave — браузер с открытым исходным кодом, разработанный на основе Chromium. Браузер отличается повышенным уровнем приватности в интернете и уменьшает количество передаваемых данных пользователя.
- Filecoin — нативная сеть хранения данных Protocol Labs, основанная на технологии IPFS. Используют вознаграждение в криптовалюте для стимулирования операторов узлов.
- Storj — безопасное хранилище данных на основе технологии IPFS. Как и Filecoin, использует поощрение узлов вознаграждением в криптовалюте.
- Audius — децентрализованный музыкальных сервис, использующий технологию IPFS для хранения музыкальных файлов.
- Pinata — эта служба хостинга токенов NFT, которая использует технологию IPFS для резервного копирования криптографических предметов коллекционирования для Rarible и Sorare.
В этот список вошли основные проекты, использующие данную технологию, но на них список не заканчивается. Последнее время запускаются все новые и новые проекты, которые способствуют всемирному принятию IPFS.