IPFS

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
InterPlanetary File System
IPFS logo.png
Тип сетевой протокол[d], файлообменная сеть и файловая система
Автор Хуан Бенет (Juan Benet)
Разработчики Protocol Labs, сообщество
Написана на Go
Операционная система FreeBSD, Linux, 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].

Распространение[править | править код]

См. также[править | править код]

Примечания[править | править код]

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

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