IPFS

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

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

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

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

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

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

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

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

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

[править | править код]

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

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

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

Примечания

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