Ipfs что это
Перейти к содержимому

Ipfs что это

  • автор:

Коротко об IPFS: что это, зачем нужно, как настроить и использовать

image

Хотите попробовать IPFS, но не знаете, с чего начать? Тогда эта статья для вас.

Межпланетная файловая система (Interplanetary File System, IPFS) — это децентрализованная сеть и одноимённый протокол, разработанный для обмена и хранения данных в Интернете. Основная идея IPFS заключается в том, чтобы заменить традиционную модель клиент-сервер на модель peer-to-peer, которая позволяет пользователям обмениваться информацией напрямую, без посредников. Вместо того, чтобы опираться на централизованные серверы для хранения файлов, IPFS использует распределённую сеть узлов, где каждый участник хранит и предоставляет доступ к данным. Файлы на IPFS идентифицируются уникальными хешами, что позволяет быстро и надёжно находить их в сети. IPFS предоставляет несколько преимуществ, включая повышенную отказоустойчивость, ускоренную передачу данных и снижение нагрузки на серверы. Это также обеспечивает возможность доступа к данным даже в условиях отключения от интернета или когда сервер с данными недоступен. Протокол IPFS является открытым и использует современные криптографические методы для обеспечения безопасности данных и подтверждения подлинности. IPFS активно развивается и находит применение в различных областях, включая распределённое хранение файлов, смарт-контракты, децентрализованные приложения и другие сферы деятельности в рамках блокчейн-технологий.

Как настроить IPFS

  • Настольный клиент IPFS

Чтобы настроить IPFS в отдельном клиенте, необходимо сначала его установить. Для этого нужно посетить страницу загрузок IPFS Desktop на Github, скачать нужную версию программы и установить на своё устройство. Настольные клиенты существуют в вариациях для Windows, macOS и Linux и не требуют какой бы то ни было настройки, они готовы к работе сразу после завершения установки.

IPFS существует также в версии для веб-браузера. Предпочтительнее всего использовать браузер Brave, так как он полностью поддерживает протокол IPFS прямо «из коробки». В Brave необходимо вбить в адресную строку «brave://settings/ipfs» и указать настройки со скриншота ниже:

При активации пункта «IPFS Companion» браузер предложит установить соответствующее расширение, которое и позволит получить доступ к функционалу IPFS.

Если вдруг на расширение или настольный клиент ругнётся брандмауэр операционной системы, даём необходимый доступ к сети, если хотим, чтобы всё корректно работало.

Когда вы увидите следующий приветственный экран, можно считать, что с настройкой всё, а IPFS полностью готов к работе.

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

Вот пример URL-адреса IPFS, который ведёт на страницу распределённой английской Википедии:

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

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

Варианты использования IPFS

IPFS предлагает множество вариантов использования, которые полагаются на её децентрализованный, ориентированный на контент и одноранговый характер. Ниже перечислены три наиболее практичных варианта использования IPFS.

1. Хостинг веб-сайтов и приложений

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

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

2. Обмен конфиденциальной информацией

Если вам нужно поделиться конфиденциальной информацией через Интернет, вас легко отследить по вашему IP-адресу. Это связано с тем, что текущая природа Интернета адресует файлы в зависимости от их местоположения.

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

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

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

3. Хостинг NFT

Наиболее популярным применением IPFS является хостинг NFT — уникальных цифровых активов, записанных в блокчейне и используемых для подтверждения подлинности и права собственности. IPFS является идеальным способом хранения NFT из-за адресации содержимого, неизменности и распределённого характера.

Используя IPFS для хостинга NFT, авторы контента могут сохранять контроль над своими активами, извлекая выгоду из децентрализованной и надёжной инфраструктуры. Некоторые из ведущих компаний NFT, использующих IPFS, включают: OpenSea, Rarible и Decentraland.

Проблемы использования IPFS

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

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

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

Заключение

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

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

Пройдите по шифрованной тропе информационной безопасности – подпишитесь на наш ТГ-канал!

Что такое «межпланетная файловая система» IPFS и как она работает

Что такое «межпланетная файловая система» IPFS и как она работает

Современный интернет – централизован. Большую часть доступной в рамках сети информации хранят на серверах ряда крупных корпораций, а значит контроль над данными находится в руках группы топ-менеджеров. Команда проекта IPFS нашла решение проблемы. Им стало построение «межпланетной файловой системы». Рассказываем, как IPFS решает проблему централизации интернета.

В этой статье:

  • Что такое IPFS
  • Какие проблемы решает «межпланетная файловая система»
  • Как работает IPFS

Что такое IPFS

InterPlanetary File System (IPFS) в переводе – «межпланетная файловая система». Проект появился на рынке в 2014 году. Автором технического решения выступил разработчик, соучредитель Protocol Labs Хуан Бенет.

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

Скрин IPFS

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 и как использовать?

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: скорость загрузки и отказоустойчивость.

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

Как устроена межпланетная файловая система

Мы уже рассказывали про файловые системы и зачем они нужны. Интуитивно там всё понятно: файлы — это куски данных на диске, которые хранятся в каком-то месте, им ведётся учёт в файловой системе, при необходимости вы с диска их берёте и используете. Это классика. Так устроены файлы и в наших компьютерах, и в интернете.

Но есть и другой способ хранения информации в интернете: когда нет ни серверов, ни единого места хранения. Такая технология называется IPFS — про неё и поговорим.

Что такое iPFS

IPFS — это сокращение от Interplanetary File System, межпланетная файловая система. Это официальное название, у программистов бывает такой юмор.

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

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

Если интересно и хотите изучить тему получше — вот официальная документация проекта с подробностями и примерами.

Хеш и адреса

Когда в IPFS-сети появляется новый файл, система делает так:

  1. Считает хеш, или контрольную сумму файла, по специальному алгоритму — для каждого файла получается уникальная последовательность букв и цифр.
  2. Присваивает файлу эту последовательность — например, файл в IPFS-сети обычно имеет какое-то такое имя: QmQJXYB8LnxWBkx5XR2WRCJYKLZB2Xxy9LoPngw98eNk4r
  3. Рассылает информацию всем узлам сети о том, что у неё появился этот файл вот с таким хешем.
  4. Для доступа к файлу в браузере нужно ввести этот хеш и указать, что нужна IPFS-сеть: ipfs://QmQJXYB8LnxWBkx5XR2WRCJYKLZB2Xxy9LoPngw98eNk4r/

Если компьютер пользователя не умеет работать с IPFS, можно использовать публичный шлюз — он переведёт запрос по обычному HTTP-протоколу в IPFS-запрос. Например, запрос через шлюз может выглядеть так:

Как устроена межпланетная файловая система

Зачем это нужно

Такой подход позволяет решить сразу несколько проблем, и у него есть преимущество перед стандартным способом хранения данных.

Доступность и надёжность. Если в сети есть хотя бы одна копия файла — он будет доступен для всех. Чем больше обращений к файлу, тем больше копий будет в сети. Это значит, что даже если заблокировать основной сервер с данными, то всё будет доступно в копиях с точно таким же адресом. Получается, что для пользователя вообще нет разницы, где физически находится файл, если к нему есть доступ.

Стабильные ссылки. У каждого файла в IPFS есть своя уникальная ссылка. При этом, если содержимое файла изменится даже на один байт, система будет считать это новым файлом и даст ему новую ссылку. Это помогает следить за версиями файлов и быть уверенным в том, что файл не менялся со временем.

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

Где можно попробовать

У компании SpaceWeb, где мы купили хостинг для нашего учебного сайта, появилась такая услуга — размещение файлов в IPFS. Можно подключить это в разделе хостинга, а потом просто закачивать туда файлы через браузер и получать в ответ IPFS-ссылки. Файлы будут храниться на хостинге, а как только кто-то обратится к ним первый раз, копия появится и там. Даже если SpaceWeb отключит эту опцию, файлы всё равно останутся в сети IPFS — вот так и работает децентрализация и Web 3.0.

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

Как устроена межпланетная файловая система

Минусы IPFS

При всех плюсах у IPFS есть и минусы — именно они тормозят развитие этой технологии и ограничивают её применение.

  • Сеть плохо работает с динамическим контентом — тем, который генерирует сервер в ответ на действия пользователя. Сюда относятся, например, соцсети, видеохостинги с рекомендациями и интернет-магазины.
  • Сложные адреса — вместо привычных и понятных имён IPFS использует длинные цепочки букв и цифр, которые выглядят как бессмысленный набор символов. Есть решения на базе блокчейн-технологии, которые помогают привязать понятные адреса к IPFS-адресам, но пока это работает не везде, и там тоже есть свои сложности.
  • Не все браузеры сразу поддерживают доступ к сети IPFS — пока с ним умеют работать без плагинов только Brave и некоторые версии Opera.
  • Для установки IPFS на компьютере и работы с ней нужны хорошие технические знания — с этой сетью работать сложнее, чем с привычным хостингом.

Что дальше

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

Рекламный блок «Яндекс Практикума»

Этот рекламный блок сообщает, что после обучения в «Яндекс Практикуме» вы можете получить высокооплачиваемую работу разработчика, тестировщика, аналитика, менеджера и дата-сайентиста.

Рекламный блок «Яндекс Практикума» Рекламный блок «Яндекс Практикума» Рекламный блок «Яндекс Практикума» Рекламный блок «Яндекс Практикума»

Получите ИТ-профессию

В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *