Раздел помощи SpaceWeb

Что такое IPFS и как использовать?

12 дек, 2023

Что такое IPFS

IPFS (InterPlanetary File System) — это распределенная система для хранения и доступа к файлам, веб-сайтам, приложениям и данным.

Технология IPFS является важным инфраструктурным решением для Web3 и может полностью изменить принцип хранения данных в сети и доступ к ним, решив проблемы доступности контента.

Контент, размещенный в IPFS, хранится не на одном сервере, а на множестве  расположенных в любой точке мира одноранговых узлов, которые могут передавать информацию, хранить ее, или делать и то и другое. Ключевое отличие IPFS от существующего интернет-протокола HTTP в том, что доступ к данным осуществляется не по местоположению сайта, а напрямую по адресу его содержимого. 

Простыми словами IPFS — это аналог торрент-трекера, в котором некоторое количество узлов (компьютеров) свободно делятся хранящимися на них файлами, таким образом распространяя их по всей сети с возможностью получения свободного доступа.

Преимущества IPFS

IPFS предоставляет несколько преимуществ по сравнению с традиционной моделью клиент-сервер:

  • Во-первых, он более безопасен и отказоустойчив, поскольку данные хранятся в распределенной сети компьютеров, а не на одном сервере. Это затрудняет доступ хакеров к данным и затрудняет их потерю. 
  • Во-вторых, это быстрее, так как данные можно получить с нескольких узлов одновременно. 
  • Наконец, он более надежен, так как данные хранятся в сети избыточно, а это означает, что даже если один узел выйдет из строя, к данным все еще можно будет получить доступ.

Особенности IPFS

Вместо определения местоположения IPFS обращается к файлу по тому, что в нем находится, или по его содержимому.

Например, так выглядят традиционные URL-адреса и пути к файлам:

  • https://sweb.ru
  • /Users/Documents/budget.pdf
  • C:\Users\Sweb\My Documents\project_sprint_presentation.ppt

А адрес каждого фрагмента контента, который использует протокол IPFS, имеет идентификатор контента или CID, то есть его хэш и может выглядеть например так:

/ipfs/bafybeiaysi4s6lnjev27ln5icwm6tueaw2vdykrtjkwiphwekaywqhcjze/wiki/Aardvark

Приведенный выше идентификатор контента представляет собой криптографический хэш. Хэш уникален для контента, из которого он был получен, при этом может относиться к данным только одного фрагмента файла, всего файла, каталога, всего веб-сайта или любого другого контента.

Поскольку адрес файла в IPFS создается из самого контента, ссылки в IPFS изменить нельзя. При каждом обновлении данных будет формироваться новый хэш и, соответственно, новая ссылка на него.  Именно поэтому злоумышленники не могут просто передать несоответствующий контент.

Если текст на веб-странице изменяется, новая версия получает новый, другой адрес.
Контент нельзя переместить на другой адрес. В современном интернете компания может реорганизовать контент на своем веб-сайте и переместить страницу https://sweb.ru/hosting на  https://sweb.ru/services/hosting. В IPFS старая ссылка, которая у вас есть, по-прежнему будет указывать на тот же старый контент.

Существуют технологии доступа к динамически изменяемому контенту по одной и той же ссылке, такие как IPNS или Unstoppable Domain, которые мы планируем развивать на нашей платформе в будущем.

Шлюзы IPFS

Развитие IPFS направлено, в том числе на включение встроенной поддержки IPFS во все популярные браузеры и инструменты. Шлюзы предоставляют обходные пути для приложений, которые еще не поддерживают IPFS. Например, ошибки возникают, когда браузер, не поддерживающий IPFS, пытается получить доступ к содержимому IPFS в канонической форме ipfs://{CID}/{optional path to resource}

Шлюзы IPFS предоставляют службу на основе HTTP, которая позволяет браузерам и инструментам, не поддерживающим IPFS, получать доступ к содержимому IPFS.

SpaceWeb поддерживает собственный шлюз, с его помощью можно получить доступ к загруженному контенту сразу после загрузки, не дожидаясь, пока информация о хеше “разойдется” по всей IPFS сети.

Как работать с IPFS в SpaceWeb

 Для корректной работы с IPFS на аккаунте должны быть включены исходящие соединения в разделе "Инструменты - Антивирус и трафик" панели управления во вкладке "Трафик".

SpaceWeb предлагает клиентам виртуального хостинга загрузить любой свой контент в сеть IPFS, используя знакомый файловый менеджер в панели управления аккаунтом.

Для этого достаточно выполнить несколько действий:

  1. Авторизоваться в панели управления
  2. Перейти в раздел IPFS

  1. Подключить IPFS для аккаунта
  2. После подключения в Файловом менеджере появится папка IPFS, куда можно скопировать любой контент

  1. В разделе IPFS вам будет доступен хеш-адрес ко всей вашей личной папке IPFS, а также доступ к просмотру всего контента папки и хеши отдельных файлов и поддиректорий. 

SpaceWeb поддерживает Web3 технологии, поэтому мы подняли собственный шлюз IPFS, используя его вы сразу сможете получить доступ к загруженному контенту по протоколу IPFS, но чтобы вся сеть “узнала” о загруженном контенте мы также отправляем информацию на основные публичные шлюзы сети IPFS. 

Лимит хранения данных на узле SpaceWeb – 30ГБ для каждого аккаунта. Уже загруженные в систему IPFS файлы сохраняются при смене тарифного плана, в том числе на нехостинговые ("Почтовый", "Домен", "Партнёр"). На нехостинговых тарифах загрузка новых файлов будет недоступна.

Как получить доступ к загруженному контенту в сети IPFS

  1. Через шлюз SpaceWeb или другой публичный IPFS шлюз. С помощью HTTP-шлюза можно получить доступ к контенту через любой браузер. При этом, при загрузке данных через панель управления SpaceWeb доступ к ним через шлюз SpaceWeb будет доступен мгновенно. Путь к контенту в общем случае будет выглядеть так:
https://{gateway URL}/ipfs/{content ID}/{optional path to resource}.

Например:

https://ipfs.sweb.ru/ipfs/QmQJXYB8LnxWBkx5XR2WRCJYKLZB2Xxy9LoPngw98eNk4r/
  1. По канонической ссылке ipfs://{CID}/{optional path to resource}. Однако, такой путь будет работать только если ваш браузер или другое ПО поддерживает протокол IPFS. “Из коробки” это умеют делать браузеры Brave и Opera, для других популярных браузеров Chrome, FireFox или Edge существуют расширения, позволяющие использовать канонические ссылки.

Например:

ipfs://QmQJXYB8LnxWBkx5XR2WRCJYKLZB2Xxy9LoPngw98eNk4r/

Как можно использовать IPFS

  1. Обмен файлами
  2. Хранение статичного медиа-контента: изображения, видео, аудио и размещения ссылок на контент на сайте или любых других ресурсах, при этом используются преимущества децентрализации IPFS: скорость загрузки и отказоустойчивость.

Сообщество предлагает множество других способов эффективного использования IPFS.

SpaceWeb со своей стороны будет и дальше развивать Web3 инфраструктуру. Если вы хотите поддержать эту инициативу – пишите нам и предлагайте идеи.