IPFS
IPFS (от англ. InterPlanetary File System — межпланетная файловая система) — контентно-адресуемый, одноранговый гипермедийный протокол связи. Узлы IPFS-сети формируют распределённую файловую систему. IPFS является проектом с открытым исходным кодом, разработанным Protocol Labs при содействии open-source сообщества.[1] Первоначально он был разработан Хуаном Бенетом (Juan Benet).[2]
InterPlanetary File System | |
---|---|
Тип | сетевой протокол, файлообменная сеть, файловая система, hypermedia distribution protocol[d] и сеть доставки контента |
Автор | Хуан Бенет (Juan Benet) |
Разработчики | Protocol Labs, сообщество |
Написана на | Go |
Операционная система | Linux, Android, FreeBSD, macOS, Windows |
Последняя версия | |
Состояние | активное |
Лицензия | лицензия MIT |
Сайт | ipfs.io (англ.) |
Описание
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 доступны через IPFS[9].
- OpenBazaar использует IPFS.
- С ноября 2019 IPFS используется для достижения консенсуса в создании блокчейна криптовалюты taucoin.
- С 2021 года технологию IPFS поддерживает браузер Opera и Brave.
Примечания
- The IPFS Project . Дата обращения: 11 сентября 2015.
- IPFS README - Who designed it? . Дата обращения: 11 сентября 2015.
- The IPFS Project - How it works . Дата обращения: 11 сентября 2015.
- Мультихеш — это структура состоящая из трёх частей: ID хеш функции, длина хеша в байтах, хеш.
- Commands | IPFS Docs
- IPFS README . Дата обращения: 11 сентября 2015.
- Current State of IPFS
- Protocol Implementations
- HTTP is obsolete. It’s time for the distributed, permanent web / blog.neocities.org