Что такое IPFS? «Межпланетная файловая система»: Как работает? Это блокчейн?
IPFS расшифровывается как Межпланетная Файловая Система - это открытый одноранговый распределенный гипермедиа протокол с открытым исходным кодом, который призван функционировать как повсеместная файловая система для всех вычислительных устройств.
Это сложный и очень амбициозный проект, имеющий некоторые серьезные и глубокие последствия для будущего развития и структуры интернета в том виде, в котором мы его знаем.
Вкратце:
- IPFS - это одноранговая децентрализованная сеть, которая позволяет пользователям создавать резервные копии файлов и веб-сайтов, размещая их на многочисленных узлах.
- Это гарантирует, что контент устойчив к цензуре и централизованным точкам отказа, таким как проблемы с сервером или скоординированные атаки.
InterPlanetary File System (IPFS) — это распределенная одноранговая (P2P) система для хранения, доступа и обмена файлами, веб-сайтами, приложениями и данными. Представленная в 2015 году компьютерным инженером Хуаном Бенетом, IPFS представляет собой разработку в области хранения и извлечения файлов, направленную на обеспечение более устойчивого интернет-опыта.
Когда веб-сайт выходит из строя, часто это происходит из-за сбоя централизованной службы, например из-за проблемы с сервером хостинга или системы доменных имен (DNS), или из-за распределенной атаки типа DDOS.
Иногда это вопрос цензуры в Интернете, особенно в странах, которые подавляют определенный контент, чтобы скрыть его от своих граждан.
IPFS это децентрализованная одноранговая сеть обмена файлами и служба Web3 с открытым исходным кодом, предназначенная для преодоления централизованных точек отказа и попыток цензуры, чтобы обеспечить свободный доступ к сети для всех.
Это также способ резервного копирования цифровых файлов, таких как криптографические предметы коллекционирования с невзаимозаменяемыми токенами (NFT), чтобы они не исчезли внезапно из Интернета.
В этой статье Вы узнаете, как работает IPFS и как вы можете его использовать.
Что такое IPFS? Жесткий диск для блокчейна
С момента своего появления в 2016 году IPFS претерпела значительные улучшения и была принята как отдельными лицами, так и коммерческими организациями.
Эта система позволяет пользователям обмениваться файлами и информацией без барьеров. IPFS хорошо работает с большими файлами, которые могут потреблять или требовать высокой пропускной способности для загрузки и/или скачивания через Интернет.
Быстрое принятие этой распределенной файловой системы произошло отчасти потому, что IPFS разработана для работы по разным протоколам, таким как FTP и HTTP.
Для хранения данных IPFS использует DHT или распределенную хэш-таблицу. Как только у нас есть хэш, мы спрашиваем одноранговую сеть, у кого находится контент, расположенный в этом хэше, и мы загружаем контент напрямую с узла, на котором находятся нужные данные.
Основная идея, с которой разработчики построили IPFS, заключается в моделировании всех данных как части самого Merkle DAG.
Однако популярность и эффективность IPFS как распределенной файловой системы также создает проблемы безопасности и контроля доступа. В распределенной сети, такой как IPFS, когда объект загружается в сеть, любой, у кого есть доступ к хэш-адресу файла, может получить доступ к его содержимому!
Почему IPFS и как она создавалась?
Нынешняя итерация Интернета не настолько децентрализована, как это идеалистически и изначально воспринималось. Это также основано на некоторых устаревших протоколах, которые привели к множеству проблем. Проблемы, решаемые IPFS, связаны с проблемами с текущим HTTP-протоколом интернета.
Если вы не знакомы с функцией HTTP по отношению к интернету, она в основном лежит в основе передачи данных по всему Интернету. HTTP был изобретен в 1991 году, принят веб-браузерами в 1996 году, и он в основном определяет, как сообщения передаются через интернет, а также как браузеры должны реагировать на команды, а серверы обрабатывают запросы.
По сути, это базовый протокол того, как мы просматриваем сеть, и основа протокола парадигмы клиент-сервер.
Хотя HTTP обеспечил нас интернетом, каким мы его знаем сегодня, он устарел, и спустя более 20 лет преобладающие проблемы становятся все более очевидными.
Основные проблемы, возникающие с внедрением HTTP сегодня, являются результатом огромного увеличения интернет-трафика и усиливающихся точек стресса. С текущей реализацией HTTP возникли следующие проблемы:
- Неэффективная доставка контента из-за одновременной загрузки файлов с одного сервера.
- Дорогие затраты на пропускную способность и дублирование файлов, приводящие к раздуваемому хранилищу.
- Усиление централизации серверов и провайдеров ведет к усилению интернет-цензуры.
- Хрупкая история информации, хранящаяся в Интернете, и короткая продолжительность жизни веб-страниц.
- Прерывистые соединения, которые ведут к автономному развивающемуся миру и медленным скоростям соединения.
Список проблем продолжается, и неудивительно, что технология, которой более 20 лет, становится все более и более устаревшей в эпоху технологических инноваций.
IPFS предоставляет распределенное хранилище и файловую систему, необходимые интернету для достижения своего истинного потенциала.
Вместо загрузки файлов с отдельных серверов в IPFS вы запрашиваете одноранговые узлы в сети, чтобы они указывали путь к файлу, а не к центральному серверу.
Это позволяет осуществлять распределение больших объемов данных с высокой эффективностью, историческим управлением версиями, отказоустойчивыми сетями и постоянной доступностью контента, защищенного и проверенного посредством криптографического хеширования и распределенных по сети одноранговых узлов.
Все это звучит многообещающе, но как это работает?
Как работает IPFS?
По сути, IPFS - это концепция, аналогичная всемирной паутине, как мы ее знаем сегодня, но она больше напоминает единый рой BitTorrent, который обменивается объектами в одном репозитории Git.
Файлы распространяются по протоколу на основе BitTorrent. Важно отметить, что IPFS выступает в качестве своего рода комбинации Kodemila, BitTorrent и Git для создания распределенной подсистемы интернета.
Дизайн протокола обеспечивает историческое управление версиями интернета, как в Git. Каждому файлу и всем блокам в нем присваивается уникальный идентификатор, который представляет собой криптографический хеш. Дубликаты удаляются по сети, а история версий отслеживается для каждого файла.
Это приводит к постоянному доступу контента, где веб-страницы не исчезают из-за сбоя сервера или банкротства веб-хостинга.
Кроме того, подлинность контента гарантируется с помощью этого механизма, и при поиске файлов вы по существу просите сеть найти узлы, хранящие контент за уникальным идентифицирующим хешем, связанным с этим контентом.
Связи между узлами в IPFS принимают форму криптографических хэшей, и это возможно благодаря архитектуре данных Merkle DAG. К преимуществам групп DAG Merkle для IPFS относятся следующие:
- Адресация контента - контент имеет уникальный идентификатор, который является криптографическим хешем файла.
- Без дублирования - файлы с одинаковым содержимым не могут быть дублированы и сохраняются только один раз.
- Подтверждение несанкционированного доступа - данные проверяются по контрольной сумме, поэтому, если хеш-код изменяется, IPFS будет знать, что данные были подделаны.
IPFS связывает файловые структуры друг с другом, используя ссылки Merkle, и каждый файл может быть найден по понятным для человека именам с использованием децентрализованной системы именования, называемой IPNS.
Реализация направленных ациклических графов Merkle (DAGS) важна для базовой функциональности протокола, но является более технической, чем область данной статьи.
Если вы хотите узнать больше об этом аспекте IPFS, вы можете найти гораздо более подробную информацию на странице Github IPFS и узнать больше о том, как работают деревья Merkle.
Каждый узел хранит только тот контент, который ему интересен, и индексирует информацию, которая позволяет ему выяснить, кто что хранит. Инфраструктура IPFS принципиально устраняет необходимость в централизованных серверах для доставки контента веб-сайта пользователям.
В конце концов, эта концепция может полностью подтолкнуть протокол HTTP к бесполезности и позволить пользователям получать доступ к контенту локально, в автономном режиме.
Вместо того чтобы искать серверы, как в текущей инфраструктуре интернета, пользователи будут искать уникальные идентификаторы (криптографические хеши), что позволит миллионам компьютеров доставлять вам файл вместо одного сервера.
Текущая основная имплементация IPFS работает на Go с реализациями Python и Javascript.
Он совместим с Linux, MacOSX, Windows и FreeBSD. Будучи проектом с открытым исходным кодом и управляемым сообществом, вы можете внести свой вклад, следуя указаниям и документам на их странице Github, или управлять своим собственным узлом IPFS.
IPFS — это блокчейн?
Хотя IPFS и блокчейн являются децентрализованными технологиями, они служат разным целям и обслуживают различные варианты использования.
IPFS фокусируется на создании глобальной децентрализованной сети для хранения и обмена файлами. Он направлен на повышение эффективности и устойчивости традиционных веб-протоколов, позволяя хранить файлы в нескольких местах, делая их устойчивыми к цензуре и обеспечивая доступность даже в случае отключения некоторых узлов.
С другой стороны, блокчейн в первую очередь служит децентрализованным реестром, записывая транзакции или данные прозрачным и защищенным от несанкционированного доступа образом.
Блокчейн опирается на механизмы консенсуса и криптографические алгоритмы для обеспечения целостности и безопасности данных, хранящихся в цепочке. Он часто используется для децентрализованных приложений (DApps) и включает криптовалюты, смарт-контракты и децентрализованные финансы (DeFi).
Использование: случаи и последствия
Уже есть несколько важных сценариев использования IPFS, и наверняка возникнут другие, поскольку протокол продолжает развиваться.
Предложение новой распределенной P2P-архитектуры для Интернета сопряжено со своими сложностями, но преимущества можно увидеть во всем - от значительной финансовой экономии в области хранения и пропускной способности до интеграции с блокчейн сетями.
Очевидные преимущества, которые приходят с моделью распределенного хранения IPFS, применяются к значительно более эффективному хранению данных и неизменности, постоянству вместе с ним.
Веб-сайты больше не будут отображаться с сообщениями об ошибках 404 из-за неработающих серверов или прерванной цепочки HTTP-ссылок.
Кроме того, пользователи получают значительные преимущества в плане эффективности, особенно те, которые нуждаются в анализе очень больших наборов данных.
С распространением больших данных в современной науке высокая скорость и распределенное архивирование данных, предоставляемые IPFS, станут важными факторами для ускорения прогресса.
Поставщики услуг и создатели контента также могут существенно сократить свои расходы, связанные с доставкой больших объемов данных клиентам.
Текущие итерации этой парадигмы затруднены из-за увеличения затрат на пропускную способность и поставщиков данных, получающих плату за соглашения об пиринге.
Затраты, связанные с доставкой контента через централизованные инфраструктуры взаимосвязанных сетей, только увеличиваются и создают атмосферу критической неэффективности и дальнейшей централизации в попытке преодолеть это бремя.
Ниже виде на английском языке с официального YouTube канала компании IPFS с объяснением "Зачем нужен IPFS":
Кроме того, централизация серверов приводит к отслеживанию со стороны правительства, увеличению распространенности DDoS-атак, цензуре и частной продажи данных.
Как сказал Хуан Бенет, создатель IPFS:
«контент в IPFS может перемещаться через любых ненадежных посредников, не отказываясь от контроля над данными и не подвергая их риску».
Наконец, интеграция IPFS с технологией блокчейна, кажется, идеально подходит. Используя IPFS внутри транзакции блокчейна, вы можете размещать неизменные постоянные ссылки.
Временные метки защищают ваши данные без необходимости их реального хранения в цепочке, что приводит к уменьшению вздутия цепочки блоков и предоставляет удобный метод для безопасных решений вне цепочки, помогающих масштабировать блокчейны.
IPFS входит в число криптовалютных платформ и может симбиотически помогать масштабированию отрасли путем предоставления одноранговой и распределенной архитектуры файловой системы, которая необходима в качестве основы для поддержки роста криптовалютных платформ.
Кто использует IPFS?
Существует множество сервисов Web3, уже использующих IPFS в широком спектре различных приложений. Вот несколько основных:
- Filecoin - собственная распределенная сеть хранения данных Protocol Labs, основана на IPFS. Это стимулирует операторов узлов размещать файлы с помощью вознаграждений в криптовалюте.
- Audius - децентрализованный музыкальный сервис, использует IPFS для размещения своих аудиофайлов.
- Pinata - это служба хостинга NFT, которая использует IPFS для резервного копирования криптографических предметов коллекционирования для таких партнеров, как Rarible и Sorare.
- OpenBazaar - это платформа для одноранговой электронной торговли, управляемая IPFS.
- Morpheus.Network - это сетевой сервис цепочки поставок, который также использует IPFS.
Learn more about who we are and how we're using @IPFS at Pinata to empower all creators. https://t.co/UqDC5h9oQx
— Pinata (@pinatacloud) July 15, 2021
Как использовать IPFS
Некоторые браузеры изначально поддерживают просмотр IPFS, в то время как другие требуют надстройки.
И Brave, и Opera поддерживают ссылки IPFS напрямую: вы можете просто вставить ссылку в свой браузер и перейти на сайт или в файл.
Brave дает вам возможность получить доступ к содержимому IPFS через общедоступный шлюз или через ваш собственный локальный узел - последний вариант предназначен для тех, кто хочет проверять содержимое локально.
Кроме того, вы можете получить доступ к содержимому IPFS из любого браузера, используя общедоступный шлюз, например https://ipfs.io или https://cloudflare-ipfs.com. Шлюз автоматически перенаправит вас к содержимому IPFS, используя ссылку, и есть длинный список доступных альтернативных шлюзов.
Как запустить узел IPFS?
Хотите запустить собственный узел IPFS и добавить контент в сеть?
Самый простой способ начать - использовать IPFS Desktop, официальный программный пакет от Protocol Labs. Он доступен для Windows, Mac и Ubuntu и позволяет вам устанавливать и управлять собственным узлом, чтобы вы могли добавлять свои собственные файлы в сеть.
Между тем, IPFS Companion - это надстройка веб-браузера, доступная для Chrome, Edge, Brave, Firefox и Opera.
Он позволяет взаимодействовать с рабочим столом IPFS и установленным узлом IPFS прямо из браузера. Он также добавляет поддержку адресов ipfs:// для браузеров, которые изначально не поддерживают их.
В 2017 году правительство Турции заблокировало доступ к Википедии. Команда IPFS ответила зеркалом турецкой версии веб-сайта в своей децентрализованной сети.
IPFS против HTTP
IPFS предлагает несколько преимуществ по сравнению с соединениями HyperText Transfer Protocol (HTTP). Сюда входят низкие эксплуатационные расходы, повышенная производительность и безопасность, целостность данных и устойчивость к цензуре.
IPFS использует идентификаторы контента для извлечения точной информации, которую ищут пользователи, в то время как HTTP-соединение отправляет пользователей на определенный адрес или местоположение.
Это означает, что IPFS имеет дело с «что» (ориентировано на контент), а HTTP — с «где» (ориентировано на местоположение).
Вывод
Как вы можете видеть, IPFS является технически и концептуально сложным протоколом, который имеет большие амбиции революционизировать обмен данными через интернет.
HTTP был успешным сам по себе и помог интернету выйти на грандиозную стадию, на которой он находится сегодня, но появляются новые технологии, и необходимость реформирования и распределение инфраструктуры становится очевидной.