Идёт разработка распределённой файловой системы, опирающейся на уже проверенные технологии: BitTorrent, Git, Kademlia, также добавляя недостающую свою: «BitSwap».
Автор замахивается на «новую основу для веба», на основе продвинутых технологий, появившихся уже после HTTP.
IPFS состоит из следующих уровней:
- Уровень имён — там, где пользователи могут выбирать глобальные имена. Описывается привязка к DNS при помощи записей TXT.
- Уровень файлов — файловая система с изменяемыми файлами и снимками, как в Git. Большие файлы должны поддерживаться.
- Уровень объектов — неизменяемые объекты, которые могут или храниться в распределённой хеш-таблице (если маленькие), или скачиваться как в торрентах.
- Уровень обмена данными — здесь работает новый протокол BitSwap. Управляет справедливым распределением ресурсов.
- Уровень маршрутизации — как узлам добираться друг до друга, в том числе в отсутствие прямой видимости.
- Сетевой уровень — по каким протоколам узлам связываться между собой.
- Уровень подлинности узлов (identity) — чтобы нельзя было «штамповать» слишком много узлов (или узлы с заданным номером), нарушая целостность сети.
На GitHub'е есть сразу две пока что неполные реализации: на NodeJS и на Go. Разработка архитектуры ведётся в отдельном репозитории.
>>> Подробности