IPFS

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
InterPlanetary File System
Автор Хуан Бенет (Juan Benet)
Разработчик Protocol Labs, сообщество
Разработчики Protocol Labs, сообщество
Написана на Go
Операционная система Linux, Android, FreeBSD, macOS, Windows
Состояние активное

IPFS (от англ. InterPlanetary File System — межпланетная файловая система) — контентно-адресуемый, одноранговый гипермедийный протокол связи. Узлы IPFS-сети формируют распределённую файловую систему  (англ.). IPFS является проектом с открытым исходным кодом, разработанным Protocol Labs при содействии open-source сообщества.[1] Первоначально он был разработан Хуаном Бенетом (Juan Benet).[2]

Описание

Логотип Википедии имеет IPFS-хеш QmRW3V9znzFW9M5FYbitSEvd5dQrPWGvPvgQD6LM22Tv8D. Он доступен по HTTP через публичный шлюз или напрямую через IPFS

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

Это формирует обобщённый древовидный направленный граф.

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

Доступ к файловой системе может быть получен различными способами:

Локальный файл может быть добавлен в файловую систему IPFS, что делает его доступным всему миру. Файлы идентифицируются по своим мультихешам[4][5], что упрощает кэширование. Они распространяются через протокол, основанный на протоколе BitTorrent. Пользователи, просматривающие контент, помогают в доставке контента для других пользователей сети. IPFS имеет сервис имён под названием IPNS, глобальное пространство имён на основе открытых ключей, совместимое с другими пространствами имён и имеющее возможность интегрировать DNS, .onion, .bit и другие в IPNS.[6]

История разработки

На апрель 2016 года IPFS находится на уровне альфа-версии[7]. Основная реализация выполнена на языке Go, частично реализована версия на JavaScript, начата разработка версии на Python[8] и Rust.

Распространение

  • С 8 сентября 2015 все сайты хостинга Neocities[en] доступны через IPFS[9].
  • OpenBazaar использует IPFS.
  • С ноября 2019 IPFS используется для достижения консенсуса в создании блокчейна криптовалюты taucoin.
  • С 2021 года технологию IPFS поддерживает браузер Opera и Brave.

См. также

Примечания

  1. The IPFS Project. Дата обращения: 11 сентября 2015. Архивировано 27 марта 2021 года.
  2. IPFS README - Who designed it?. Дата обращения: 11 сентября 2015. Архивировано 11 ноября 2020 года.
  3. The IPFS Project - How it works. Дата обращения: 11 сентября 2015. Архивировано 27 марта 2021 года.
  4. Мультихеш Архивная копия от 26 марта 2017 на Wayback Machine — это структура состоящая из трёх частей: ID хеш-функции, длина хеша в байтах, хеш.
  5. Commands | IPFS Docs. Дата обращения: 25 апреля 2017. Архивировано 26 апреля 2017 года.
  6. IPFS README. Дата обращения: 11 сентября 2015. Архивировано 11 ноября 2020 года.
  7. Current State of IPFS. Дата обращения: 26 апреля 2016. Архивировано 20 февраля 2016 года.
  8. Protocol Implementations. Дата обращения: 26 апреля 2016. Архивировано 20 февраля 2016 года.
  9. HTTP is obsolete. It’s time for the distributed, permanent web Архивная копия от 20 апреля 2016 на Wayback Machine / blog.neocities.org

Ссылки