Fluid Storage - Децентрализованная система хранения

Fluid Storage - Децентрализованная система хранения

Назначение

Децентрализованные системы хранения данных позволяют потребителям осуществлять автономный контроль над своими данными и доступ к ним. Fluid Storage выигрывает у любого централизованного решения в ситуации роста страновых санкций и блокировок от региональных операторов, так как не имеет центрального хранилища.

Преимущества

По сравнению с ближайшим конкурентом BTFS во Fluid Storage используются более продвинутые технологии репликации и маршрутизации, позволяющие сократить время доступа к файлам и снизить расходы на хранение.

Среди ключевых преимуществ Fluid Storage можно выделить следующие: Хранение данных на узлах пользователей, Использование blockchain для хранения мета-информации, Глобальная сеть межкоммуникаций, Быстрая маршрутизация с применением AI-оптимизаций маршрутов, Защита от потери данных, Прозрачный доступ к данным (загрузка данных по запросу, спекулятивная загрузка)

Актуальность

Спрос на децентрализованные хранилища быстро растет, поскольку новое поколение платформ повышает гибкость и безопасность хранения, снижая при этом затраты для конечных пользователей. Некоторые децентрализованные сети хранения стремятся заменить существующих гигантов облачных хранилищ, в то время как другие стремятся работать вместе с ними, расширяя и совершенствуя их возможности.

Технология

Fluid Storage представляет собой систему хранения для Web 3.0:

FluidStorage-1

Как известно, компьютеные сети в значительной степени неоднородны и представляют собой граф. При этом, как правило - это не минимальное остовное дерево, а именно граф, обладающий различными показателями связанности в разных сетевых сегментах. Таким образом как правило существует более одного машрута между отдельными его вершинами. При этом скорость взаимодействия может отличаться и если представить этот параметр как вес ребер графа, то можно сказать, что задача удаленного доступа к даннным будет сводиться к поиску оптимального пути во взвешенном графе. Однако, в компьютерных сетях мы сами напрямую не можем управлять маршрутизацией запросов, это делает сама сеть. Мы можем лишь разместить данные на том или ином узле, где установлено подконтрольное нам ПО и присутствует достаточное количество ресурсов. Дополнительно стоит учитывать, что если речь идет про пользовательские узлы, а не про сервера, то они могут достаточно часто пропадать из сети, что будет приводить к ухудшению связанности и потере сохраненных на них реплик данных.

FluidStorage-2

Fluid Storage предназначен для работы в неоднородных (разная скорость передачи трафика) и нестабильных (некоторые хосты могут на время или навсегда пропадать из сети) сетях для обеспечения бесшовной интеграции пользовательских данных. Например, подключенный к сети Fluid Storage HPC-кластер должен без труда получить доступ к запрашиваемым данным с других узлов (узлы кластера хранения, пользовательские узлы), более того, AI-алгоритмы Fluid Storage, распознав определенные паттерны обращения к данным должны создать дополнительную их реплику рядом с HPC-потребителем, либо, постепенно перенести данные ближе к потребителю, если надежность сети не требует создания дополнительной реплики

FluidStorage-3

В состав Fluid Storage входят:

  • Etherium (ETH)-узлы - предназначены для хранения метаинформации о расположении реплик частей файлов, правах доступа к файлам, статусе и характеристиках узлов сети хранения. ETH-узлы могут быть развернуты как отдельно, так и в составе клиентских программ-агентов (Agent).
  • Agent - программа, устанавливающаяся на узлы сети и имеющая в своем составе: ETH-клиент для получения и хранения мета-информации из Etherium-сети и саму программу-агента хранения, которая управляет жизненным циклом хранящихся на узлах файлов, выполняет команды пользователей по сохранению/удалению/шерингу файлов в сети хранения и отвечает за обмен данными с другими агентами сети. В качестве транспортного уровня для тиражирования файлов по агентам сети используется IPFS (libp2p).
  • bootstrap-сервера - "начальный комплект" серверов, созданный разработчиками Fluid Storage для более быстрого развертывания сети. Bootstrap-сервера представляют собой публично доступные Agent-узлы, для создания новых пользовательских агентов с подключениями по умолчанию. Agent при старте обращается по умолчанию к bootstrap-серверам и получает от них актульное состояние blockchain в котором зафиксированы все остальные узлы сети и их доступность
  • relay-сервера - часть Agent-узлов, с хорошими характеристиками сетевой доступности и мощности CPU/MEM, которые обеспечивают сетевую связанность для узлов из приватных сетей (которые не доступны напрямую). Fluid Storage также использует механизм "пробития портов" на NAT-роутерах для последующих прямых пересылок после первичной передачи данных при помощи relay-сервера

Общий подход к взаимодействию с точки зрения пользователя выглядит следующим образом: пользователь отправляет агенту файл для сохранения, агент разделяет файл на части, сжимает и шифрует их. При помощи смарт-контракта ETH запрашивает подходящие узлы в сети харения, определяет степень репликации в зависимости от показателей надежности и сохраняет реплики на узлах сети. В случае потери некоторых реплик FluidStorage автоматически пересоздает их на других узлах. Также Агенты периодически выполняют оптимизацию размещения файлов в зависимости от паттерна взаимодействия с ними.

Уровень готовности технологии

TRL 3: Для подтверждения концепции разработан макетный образец технологии, чтобы продемонстрировать ее ключевые характеристики