Что такое IPFS и как она работает
Современный интернет – централизован. Большую часть доступной в рамках сети информации хранят на серверах ряд крупных корпораций, а значит контроль над данными находится в руках группы топ-менеджеров. Команда проекта IPFS нашла решение проблемы. Им стало построение «межпланетной файловой системы» IPFS.
Что такое IPFS
InterPlanetary File System (IPFS) в переводе – «межпланетная файловая система».
Проект появился на рынке в 2014 году. Автором технического решения выступил разработчик, соучредитель Protocol Labs Хуан Бенет.
Сами разработчики называют IPFS гипермедиа P2P-протоколом. Суть технологии в отказе от централизованного подхода в пользу организации децентрализованной сети для хранения информации.
IPFS, это проект с открытым исходным кодом. Ссылки на ресурсы и документы:
Также на официальном сайте проекта доступны ссылки для скачивания ПО, которое позволяет получить доступ к файловой системе.
Какие проблемы решает «межпланетная файловая система»
Главная задача IPFS – борьба с централизацией интернета. Разработчики предложили отказаться от традиционного способа хранения данных на принадлежащих корпорациях серверах в пользу распределения записей по компьютерам участников децентрализованной системы. Вот какие проблемы решает такой подход:
1. Уход от централизованного контроля. Сегодня большая часть сетевых данных хранится на серверах, подконтрольных крупных корпорациям, включая Amazon, Google, IBM и Microsoft. Такое положение означает, что информация миллионов пользователей находится в руках топ-менеджмента группы компаний. Корпорации могут использовать данные по своему усмотрению. В том числе, некоторые принципы работы владельцев серверов могут противоречить интересам самих владельцев данных.
2. Повышение безопасности. Централизованные сервера могут взломать. Децентрализованный же подход, который использует IPFS, позволяет предотвратить утечки и фальсификацию данных.
3. Снижение рисков цензуры. Крупные корпорации могут фильтровать данные и, при необходимости, даже управлять ими. Например, в случае ввода ограничений в отношении какого-либо ресурса со стороны властей, владельцы серверов могут вывести платформу в оффлайн. При этом сам владелец площадки не сможет противостоять решению корпораций.
4. Повышение скорости работы сети. P2P-система подразумевает работу сразу с несколькими сетевыми узлами, вместо одного. Такой подход повышает скорость передачи данных.
5. Хорошие показатели эффективности. Децентрализованную систему сложнее вывести из строя и каким-либо образом повлиять на ее быстродействие. Поэтому такие решения для хранения данных превосходят по эффективности свои централизованные аналоги.
Интересно! Решением похожих проблем занята команда проекта Unstoppable Domains. В рамках инициативы разработчикам удалось совместить криптокошелек с децентрализованным доменом.
Как работает IPFS
Система IPFS дробит информацию на мелкие части и распределяет ее по нодам – сетевым узлам (компьютерам), подключенным к сети. Дробные частицы называют объектами IPFS. В каждом из них содержатся ссылки на другие части файла.
Всем загруженным данным присваивается именной хеш-ID из 24 символов, который также называют content ID (CID) – его можно сравнить с отпечатком пальцев. Специальное значение выступает идентификатором файла в общей системе и упрощает его поиск. В нем, в том числе, содержится запись о сетевом узле, который отвечает за хранение информации.
После дробления на части, все «осколки» первичного файла также сохраняют данные о выданном хеше. В дальнейшем значение помогает системе оперативно находить и предоставлять информацию по запросу.
К сожалению, на YouTube-канале проекта нет короткой видеопрезентации, которая вкратце помогла бы объяснить и визуализировать принципы работы системы. При этом разработчики представили получасовую лекцию, в которой раскрыли техническую сторону проекта:
Система поиска данных
Чтобы получить данные, нужно ввести их хеш в веб-браузере, совместимом с IPFS. Например, подойдут Brave Browser или Opera. В случае с другими браузерами, пользователь может воспользоваться шлюзами Cloudflare-IPFS и IPFS.io. Процесс получения доступа можно сравнить с переходом на веб-сайт через ввод URL-адреса страницы.
В случае изменения данных в файле, система меняет его хеш. При этом технология позволяет, при необходимости, добавлять новые версии файлов и присоединять их к исходнику.
Интересно! Чтобы упростить поиск файлов, разработчики предложили пользователям упрощенную децентрализованную систему нейминга – InterPlanetary Name System (IPNS). Техническое решение позволяет присваивать файлам удобочитаемые имена.
Нюансы хранения файлов
Чем популярнее файл – тем больше его загрузок, а следовательно – тем больше сетевых узлов могут помочь в предоставлении данных (читайте, тем быстрее загрузка). Похожий принцип использован в Торрент-системах.
Периодически сетевые узлы очищают кэш, в котором хранятся невостребованные объекты IPFS. Чтобы избежать удаления файла через систему, нужно закрепить его в собственном хранилище «межпланетной файловой системы».
Как запустить IPFS-ноду
Для запуска собственной ноды IPFS потребуется скачать декстопную версию ПО. Разработчики предложили версии программного обеспечения для Windows, Mac и Ubuntu.
Существует также надстройка для браузера (компаньон IPFS), которая позволяет взаимодействовать с рабочим столом IPFS и нодой прямо из веб-обозревателя. Дополнение совместимо с браузерами Chrome, Edge, Firefox, Brave и Opera.