IPFS: новая технология для децентрализованного интернета
Главное
- IPFS (InterPlanetary File System) — протокол связи для создания распределенной файловой системы, призванный заменить существующий интернет-протокол HTTP. Контент, размещенный в IPFS, хранится не на одном сервере, а на множестве узлов.
- IPFS — важное инфраструктурное решение для Web3, которое позволяет децентрализовать хранение данных в различных децентрализованных приложениях, включая NFT, GameFi, DeFi.
- В дальнейшем IPFS может полностью изменить принцип хранения данных в сети и доступ к ним, решив проблему цензуры и монополии популярных облачных платформ, которые предоставляют Google, Amazon, Alibaba, Microsoft и другие техгиганты.
Чем IPFS отличается от HTTP
IPFS (InterPlanetary File System, «Межпланетная файловая система») — это гипермедийный протокол связи с открытым кодом, с помощью которого компьютерные узлы осуществляют хранение и распространение данных в единой распределенной файловой системе.
Ключевое отличие IPFS от существующего интернет-протокола HTTP в том, что доступ к данным осуществляется не по местоположению сайта, а напрямую по адресу его содержимого (файлу, документу, изображению, папке).
Отличия структуры коммуникации в HTTP и IPFS. Данные: Medium
IPFS представляет собой децентрализованную структуру хранения данных, решающую проблему цензуры. Автором является основатель и глава стартапа Protocol Labs Хуан Бенет , который называет IPFS «распределенным постоянным вебом», так как сайты, размещенные в системе, не могут быть закрыты никогда и никем.
«В некотором смысле IPFS похожа на Интернет, но IPFS можно рассматривать как единый рой BitTorrent, обменивающийся объектами в одном репозитории Git. Другими словами, IPFS представляет высокопроизводительную модель хранилища блоков с контентно-адресуемыми гиперссылками», — пояснил он в white paper проекта.
В IPFS адреса указывают на файлы или данные, полученные из содержимого самого файла или данных с помощью хэширования. Контент веб-сайтов в сети IPFS можно перемещать и получать к нему доступ децентрализованным способом в одноранговой сети.
IPFS — это аналог торрент-трекера, где узлы свободно делятся хранящимися на них файлами, распространяя их по всей сети с возможностью получения свободного доступа. Это решает проблемы HTTP, который направляет весь трафик через централизованные сервера, что приводит к дополнительным расходам и рискам массовых отключений из-за проблем с сервером. Сеть IPFS позволяет узлам загружать и передавать файлы из многих узлов одновременно. Когда пользователь запрашивает файл, сеть IPFS находит узлы, у которых есть необходимые хэши, и извлекает данные.
Кто и когда разработал IPFS
Автором IPFS стал основатель американской компании Protocol Labs Хуан Бенет. Публикация технической документации новой файловой системы состоялась в июле 2014 года.
Первый релиз протокола состоялся в феврале 2014 года. Первым крупным сайтом в сентябре 2015 года, использующим распределенный веб IPFS, стал бесплатный веб-хостинг Neocities , позволяющий создавать мини-сайты на своей платформе.
Следующим важным моментом в истории развития IPFS стало ICO Filecoin на $257 млн . Продажа токенов проходила на платформе Coinlist, которую основала Protocol Labs совместно с AngelList. Как отметили тогда разработчики, целью Filecoin было создать экономические стимулы для пользователей IPFS c помощью криптовалюты.
-
Блокчейн и криптовалюта Filecoin (FIL): что это и как работает
Блокчейн и криптовалюта Filecoin (FIL): что это и как работает
- В июне 2019 году Protocol Labs организовала первое IPFS -мероприятие в Барселоне, результатом которого стало сотрудничество с Netflix, а также с Opera , Microsoft и Cloudflare .
- Не менее важным событием стал запуск основной сети Filecoin в октябре 2020 года. По заявлению команды Protocol Labs, это позволило создать уровень принятия IPFS со встроенными экономическими стимулами.
Как работает IPFS — подробное объяснение
При загрузке контента в IPFS адрес для доступа к объекту, файлу или пользовательским данным в системе формируется с привязкой не к адресу сервера, которым является IP-адрес, а к его уникальному криптографическому хешу-идентификатору Content Identifier (CID).
- CID — это идентификатор файла, который не меняется при повторной загрузке, но обновленным версиям файла присваиваются новые хеш-идентификаторы.
- Для доступа к ранней версии файла применяется сервис имен InterPlanetary Naming System (IPNS) — аналог реестра DNS.
- Файлы IPFS размером свыше 256 Кб разбиваются на части, хешируются и организовываются в IPLD-объекты (InterPlanetary Linked Data) .
- IPLD состоит из двух компонентов: самих данных и ссылок на части файла, связанных между собой через направленный ациклический граф дерева Меркла (Merkle DAG).
- Для коммуникации в системе используется специальная программа IPFS-дэймон (IPFS daemon) , которая временно кэширует данные и по запросу раздает их другим узлам.
- Ноды могут выполнять функции провайдеров контента или остаться его получателями.
- После запроса контента в распределенной хеш-таблице (Distributed Hash Table, DHT) системы проводится поиск ближайших к пользователю узлов с копией искомых данных, которые отдают части файла.
Где используется IPFS
Согласно статистике сервиса BuiltWith , на 5 октября 2022 года IPFS используют около 6 500 сайтов по всему миру. Из них чуть менее трети расположены в США. В этот список входят децентрализованная биржа Uniswap, сервис данных о децентрализованных приложениях Dapp Radar и платформа для криптовалютных стартапов DAO Maker.
Первым веб-ресурсом с поддержкой IPFS в 2015 году стал хостинг-сервис Neocities.
Крупнейший провайдер сетевых услуг Cloudflare начал использовать IPFS в 2018 году и запустил собственный шлюз в системе в 2022-м.
В марте 2020 года браузер Opera предоставил доступ к децентрализованным ресурсам провайдера Unstoppable Domains, разместив контент в IPFS.
В начале 2021 года протокол интегрировал криптобраузер Brave.
Технология IPFS стала использоваться как ответ на цензуру со стороны регуляторов.
Первым примером стала загрузка в IPFS турецкой версии Wikipedia.
Весной 2019 года в ответ на арест Ассанжа активисты загрузили в IPFS архив WikiLeaks .
IPFS также используется для хранения кода.
Это практикует, например, команда децентрализованной биржи Uniswap, которая размещает в IPFS.
IPFS также выступает важным инфраструктурным слоем Web3 , поддерживая работу NFT -проектов, децентрализованных приложений и других ресурсов. Появились специальные компании, предоставляющие услуги по управлению файлами в IPFS . Например, платформа Pinata позволяет монетизировать медиафайлы для NFT , выпущенных в разных блокчейнах, включая Ethereum, Solana, Polygon, Avalanche и Algorand.
Как открыть IPFS-ссылку
Многие популярные браузеры, такие как Opera и Brave, уже добавили нативную поддержку IPFS -ссылок. Это значит, что вы сможете открыть в указанных браузерах сайты через адрес с префиксом ipfs://, например:
ipfs://bafybeiaysi4s6lnjev27ln5icwm6tueaw2vdykrtjkwiphwekaywqhcjze/wiki/
Однако в Google Chrome такая ссылка не откроется. Вместо этого для доступа к ресурсу придется использовать существующий протокол HTTPS вместе с адресом сайта, где хранится файл, например:
https://ipfs.io/ipfs/bafybeiaysi4s6lnjev27ln5icwm6tueaw2vdykrtjkwiphwekaywqhcjze/wiki/
Чтобы напрямую открывать IPFS -ссылки в Google Chrome, потребуется установить специальное расширение IPFS Companion . Для корректной работы расширения разработчики рекомендуют установить собственный узел IPFS на свой компьютер. Чтобы это сделать, нужно зайти в раздел IPFS Desktop .
На официальном сайте IPFS и следовать простым указаниям, предварительно выбрав подходящую платформу: Windows, macOS или Ubuntu.
Команда Protocol Labs также позаботилась и о владельцах доменов и сайтов, планирующих перенести свои веб-ресурсы на IPFS. Разработан специальный сервис загрузки Fleek , который позволяет перенести и настроить сайты без необходимости устанавливать что-либо на свой компьютер и разбираться с командной строкой или кодом.