Что такое IPFS?


Давайте просто начнем с однострочного определения IPFS:

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



Что именно это значит? Допустим, вы проводите какое-то исследование трубкозубов (трубкозубы-это круто! Знаете ли вы, что они могут проложить туннель длиной 1 метр всего за 5 минут?). Вы можете начать с посещения страницы Википедии о трубкозубах по адресу:

https://en.wikipedia.org/wiki/Aardvark
Когда вы вводите этот URL-адрес в адресную строку своего браузера, ваш компьютер запрашивает страницу трубкозуба у одного из компьютеров википедии, который может находиться где-то на другом конце страны (или даже планеты).

Однако это не единственный вариант для удовлетворения ваших потребностей в трубкозубах! В IPFS хранится зеркало Википедии, и вы можете использовать его вместо этого. Если вы используете IPFS, ваш компьютер запросит страницу трубкозуба примерно так:

/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/Aardvark.html
Самый простой способ просмотреть приведенную выше ссылку - открыть ее в своем браузере через шлюз IPFS. Просто добавьте https://ipfs.io перейдите по ссылке выше, и вы сможете просмотреть страницу →(откроется новое окно)

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

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

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

Децентрализация

Возможность загрузки файла из многих мест, которые не управляются одной организацией:

  • Поддерживает устойчивый интернет. Если кто-то атакует веб-серверы википедии или инженер википедии допустит большую ошибку, которая приведет к возгоранию их серверов, вы все равно сможете получить те же веб-страницы откуда-то еще.
  • Усложняет цензуру контента. Поскольку файлы в IPFS могут поступать из многих мест, любому человеку (будь то государства, корпорации или кто-то еще) сложнее блокировать что-либо. Мы надеемся, что IPFS поможет найти способы обойти подобные действия, когда они произойдут.
  • Может ускорить работу в интернете, когда вы находитесь далеко или отключены. Если вы можете получить файл от кого-то поблизости, а не за сотни или тысячи миль, вы часто можете получить его быстрее. Это особенно ценно, если ваше сообщество подключено к локальной сети, но не имеет хорошего подключения к более широкому Интернету. (Хорошо финансируемые организации с техническим опытом делают это сегодня, используя несколько центров обработки данных или CDNS-сетей распространения контента (открывается новое окно). IPFS надеется сделать это возможным для всех.)
  • Именно в этом последнем пункте IPFS получает свое полное название: Межпланетная файловая система. Мы стремимся создать систему, которая будет работать в таких разобщенных или удаленных друг от друга местах, как планеты. Хотя это идеалистическая цель, она заставляет нас усердно работать и думать, и почти все, что мы создаем для достижения этой цели, также полезно здесь, дома.
Адресация контента

Как насчет ссылки на страницу трубкозуба выше? Это выглядело немного необычно:

/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/Aardvark.html
Это нагромождение букв после /ipfs/ называется идентификатором контента, и именно так IPFS может получать контент из нескольких мест.

Традиционные URL-адреса и пути к файлам, такие как…

https://en.wikipedia.org/wiki/Aardvark
/Users/Alice/Documents/term_paper.doc
C:\Users\Joe\My Documents\project_sprint_presentation.ppt
...определите файл по тому, где он находится — на каком компьютере он находится и где на жестком диске этого компьютера он находится. Это не сработает, если файл находится во многих местах, например, на компьютере вашего соседа или вашего друга на другом конце города.

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

Примечание

Почему здесь мы говорим "контент" вместо "файлы" или "веб-страницы"? Потому что идентификатор содержимого может указывать на множество различных типов данных, таких как один небольшой файл, фрагмент файла большего размера или метаданные. (На случай, если вы не знаете, метаданные-это "данные о данных". Вы используете метаданные, например, при доступе к дате, местоположению или размеру файла ваших цифровых изображений.) Таким образом, отдельный IPFS-адрес может ссылаться на метаданные только одного фрагмента файла, целого файла, каталога, всего веб-сайта или любого другого контента.

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

Содержимое не может быть перемещено на другой адрес. В современном Интернете компания может реорганизовать контент на своем веб-сайте и переместить страницу на http://mycompany.com/what_we_do чтобы http://mycompany.com/services. В IPFS старая ссылка, которая у вас есть, все равно будет указывать на тот же старый контент.

Конечно, люди хотят постоянно обновлять и изменять контент и не хотят отправлять новые ссылки каждый раз, когда они это делают. Это вполне возможно в мире IPFS, но для объяснения этого требуется немного больше информации, чем то, что входит в рамки этого введения в IPFS. Ознакомьтесь с руководствами по концепции IPN, изменяемой файловой системе (MFS) и DNSLink, чтобы узнать больше о том, как изменение содержимого может работать в распределенной системе с адресом содержимого.

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

Участие

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

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

Если вы хотите убедиться, что один из ваших собственных файлов постоянно доступен в Интернете сегодня, вы можете воспользоваться платным сервисом обмена файлами, таким как Dropbox. Некоторые люди начали предлагать аналогичные услуги на основе IPFS, называемые службами закрепления. Но поскольку IPFS делает такой обмен встроенной функцией, вы также можете сотрудничать с друзьями или партнерами с учреждениями (например, музеи и библиотеки могут работать вместе), чтобы обмениваться файлами друг друга.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, интернет, IPFS




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




Помощь по программированию на Java
Как создать ТЗ (техническое задание) на программу или сайт
Работа с API