Что такое <a href="https://ru.wikipedia.org/wiki/IPFS" target="_blank">IPFS</a>?

Advanced
10m

IPFS (InterPlanetary File System) - это распределённая система для равноправного участия хранения и доступа к контенту. В отличие от традиционного интернет-провайдера, система не организована центральными учреждениями (децентрализована). Вместо этого к системе может присоединиться любой участник в качестве узла, предоставив на своем компьютере пространство для хранения и обмена файлами с другими.

Например, когда вы ищете термин в Википедии, ваш компьютер запрашивает у сервера Википедии определенную веб-страницу. Однако в IPFS ваш компьютер обратится к другим компьютерам по всему миру, чтобы передать вам данные.

IPFS была основана Protocol Labs в 2015 году. Команда стремится создать систему, которая будет работать в различных местах, отдаленных друг от друга как планеты. Отсюда и происходит название InterPlanetary File System.

Механизм поиска в IPFS: Адресация контента

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

Например, когда вы ищете 'Биткойн' на TokenInsight, вам предоставляется URL (Унифицированный адрес ресурса): https://tokeninsight.com/ru/coins/bitcoin/overview, что дает вам доступ к определенной странице на домене TokenInsight (Адресация местоположения). Однако в IPFS вы обратитесь к другим участникам, у которых есть страница, чтобы они поделились ею с вами. В IPFS контентом могут быть файлы, веб-сайты, приложения или метаданные.

Вот пример из IPFS Doc. Когда вы ищете книгу в библиотеке, вы обычно спрашиваете ее по названию; это адресация контента, потому что вы спрашиваете что это такое. Если бы вы использовали адресацию местоположения для поиска книги, вы бы спрашивали о ней где она находится: "Мне нужна книга, которая на втором этаже, первой полке, третьей полке снизу, четвертая книга слева." Если кто-то переместит эту книгу, вы останетесь без нее!

Операционный механизм IPFS

Когда пользователь загружает контент на IPFS, контент будет помещен ​​с уникальным идентификатором, называемым CID, и затем распределен по сети. Для обеспечения скорости сети IPFS может разбивать контент на части, и хранить каждую часть отдельно с CID. Эти контенты будут классифицированы и сгруппированы через структуру данных, называемую Merkle DAG.

Если пользователь ищет конкретный контент, он/она может искать контент через CID (Адресация контента)

Затем система найдет участника, которому принадлежит цель, и попросит его передать контент запросителю.

Хранение контента на IPFS

Идентификатор контента

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

Граф Merkle Directed Acyclic

Для структуризации CID в сети IPSF используется структура данных под названием Merkle DAG (Merkle Directed Acyclic Graph), который происходит от DAG.

Что такое Merkle DAG?

Граф означает диаграмму, показывающую отношения между различными объектами. Он содержит объекты (также известные как узлы) и рёбра (см. граф ниже). Направленный граф означает, что каждое ребро имеет направление. Ациклический указывает на отсутствие петли или цикла в графе. Что касается Merkle DAG, это своего рода DAG, где каждый объект имеет идентификатор, и это является результатом хеширования содержимого объекта.

Для обеспечения скорости сети IPFS обычно разбивает контент на небольшие части (например, 256 КБ), и каждая из них будет храниться в одном блоке (в отличие от 'блока' в распределенном реестре) с CID. Когда пользователи запрашивают кусок контента, компьютер извлечет эти части из блоков и объединит их в один кусок.

IPFS использует Merkle DAG для представления отношений между контентом и его разделами, а также для разделения контента на категории (как документы и папки).

Особенности Merkle DAG:

  • Merkle DAG могут быть построены только снизу вверх (от листового узла к корневому узлу).
  • Любое изменение в узле изменит его CID и дальше повлияет на всех предков в DAG.
  • Листовой узел может иметь несколько корневых узлов.

Как контент находится и обменивается на IPFS

Распределенная хеш-таблица

После хранения IPFS применяет DHT (Distributed Hash Table) для того, чтобы пользователи могли найти целевой контент, а именно какой участник удерживает желаемый контент и где находится этот участник. Хеш-таблица является базой данных ключей (CID) и значений (контентов), и каждому значению соответствует уникальный ключ, чтобы пользователи могли идентифицировать значение по ключу. Распределенная хеш-таблица - это

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

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

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

Применение IPFS

Существуют некоторые проекты Web3, использующие IPFS в качестве инфраструктуры хранения в различных областях, таких как Filecoin (сервис хранения), Audius (децентрализованный сервис для музыки), Pinata (сервис хостинга NFT), OpenBazaar (пиринговая платформа электронной коммерции), Morpheus.Network (сервис сети поставок) и т. д.

Возможно, вас также заинтересует следующий контент:

Web3

Storage

What else do you want to learn?

Send

Связанные Активы

delate
Use TokenInsight App All Crypto Insights Are In Your Hands
Open