IPFS

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
InterPlanetary File System
Логотип программы InterPlanetary File System
Тип сетевой протокол[d], файлообменная сеть, файловая система, hypermedia distribution protocol[d] и сеть доставки контента
Автор Хуан Бенет (Juan Benet)
Разработчики Protocol Labs, сообщество
Написана на Go
Операционная система Linux, Android, FreeBSD, macOS, Windows
Последняя версия
Состояние активное
Лицензия лицензия MIT
Сайт ipfs.io​ (англ.)

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

Ссылки[править | править код]