Децентрализованная база данных для децентрализованного веба
В предыдущем посте мы обсуждали как многочисленные утечки данных раскрывают нашу персональную информацию. Но проблема не только в хакерах: многие государственные структуры и регуляторы прикладывают все усилия, чтобы иметь постоянный доступ к любым персональным данным. Мы считаем, что защиту от утечек нужно строить исходя из предположения, что данные могут быть раскрыты всему интернету. В этом случае, информация должна быть всегда зашифрована до момента, как она попадет в облако.
Создав децентрализованное хранилище зашифрованных данных и оставив приватные ключи у владельцев, мы сведем вероятность атак практически к нулю. Но удаление центральных доверенных серверов требует наличия тотального шифрования и гибкого управления доступом к данным.
Давайте определим базу данных, которая удовлетворяет всем требованиям.
Децентрализация
Что такое децентрализация для базы данных? Это означает, что данные хранятся на компьютерах сети, которые может контролировать кто угодно. Нода может присоединиться и отключиться от сети в любой момент и не должна влиять на доступность данных. Поскольку ноды разбросаны географически, децентрализация дает возможность противостоять цензуре и иметь всю информацию всегда онлайн.
Конфиденциальность
Поскольку информация хранится на недоверенных компьютерах, не должно быть никакой возможности их прочитать никому, кроме владельцев самих данных. Это достигается ассиметричным шифрованием, когда только владелец может расшифровать данные. Компьютеры сети хранят данные и метаинформацию, но не могут извлечь ничего ценного из них. В такой архитектуре утечка данных возможна только если владелец приватного ключа сам выкладывает его в открытый доступ.
Структурированные данные
Всеми свойствами, описанными выше обладают проекты децентрализованного хранения: Storj, Sia, Swarm. Они гарантируют доступность, репликацию и дают возможность использовать чужие компьютеры в качестве надежного хранилища в обмен на награду в токенах. Но эти проекты спроектированы для хранения файлов, а не структурированных данных. Мы можем надстроить СУБД поверх таких хранилищ, построить индексы, которые представляют структуру без расшифровки. Такой подход позволит загружать таблицы, списки, выполнять запросы, поиск – все свойства традиционных баз данных. И всё это без раскрытия приватной информации в сеть.
Консенсус
В недоверенном окружении важно защититься от атак и компьютеров, которые ведут себя не честно. Для этого результат каждого запроса в базу должен быть подтвержден несколькими нодами сети, чтобы гарантировать его истинность. При этом используется блокчейн, алгоритм доказательства доступности данных и не требуется участия всех нод сети для ответа на каждый запрос.
Управление доступом
Современные приложения обычно спроектированы так, что данные, загруженные пользователями могут быть обработаны, агрегированы и использованы разными способами для работы приложения. Кроме того, компаниям требуется гибкий механизм управления доступом к разным данным без лишних сложностей. С помощью смарт-контрактов и технологии proxy re-encryption мы можем спроектировать любую систему управлени доступом к данным, в том числе отвечающую регуляциям HIPAA, GDPR, HITECH, PCI и т.д. Пользователи могут выдавать частичный или полный доступ на свои данные приложениям, компаниям и любым участникам сети. Бесплатно или в обмен на крипто-токены.
Хорошо, а как насчет других проектов? Является ли Fluence уникальной базой данных? Давайте посмотрим:
- BigchainDB. Это отличный пример комбинирования блокчейна с традиционной базой данных, чтобы достичь масштабируемости и эффективности работы. Однако, BigchainDB построена для работы внутри организаций и не предоставляет настоящей децентрализации и полного шифрования. Эта БД подходит для компаний, которые хотят удалить посредников из своих бизнес процессов, но сохранить централизованный контроль.
- Swarm, IPFS, Storj, Sia. Все эти проекты фактически “децентрализованный Dropbox”, они спроектированы для хранения файлов. Они решают множество проблем: разбиение данных, доступность, мотивацию нод хранить данные и так далее. Однако, пользуясь этими проектами, чтобы провести анализ данных, вам нужно сначала их скачать из сети. Fluence же позволяет запускать запросы прямо на удаленных нодах, избегая передачи больших объемов информации по сети.
- Шифрованные базы данных. Существует довольно много традиционных баз данных, которые соответствуют регуляциям и позволяют управлять доступом. Но они спроектированы для работы внутри одной организации. Поэтому обычно, когда компании нужно обменяться данными с внешним миром или перенести приватные данные из одного дата центра в другой, это требует высоких материальных и временных издержек.
Заключение
Тренд на децентрализацию всех сфер жизни возник, поскольку удаление посредников приносит очевидные экономические перспективы. Блокчейн позволяет избежать ручной верификации, привлекая всю сеть к консенсусу по поводу каждой транзакции. Рынки хранения и обработки данных, построенные с использованием блокчейна, могут значительно снизить цены, привлекая неиспользуемые сейчас вычислительные ресурсы.
Fluence намерен создать рынки структурированных данных. Любой владелец данных может хранить, делиться или монетизировать данные. Причем их приватность гарантирована криптографически. Действительно огромные массивы данных могут быть собраны, что приведет к новым открытиям и возможностям для человечества.
Читайте подробнее о нашей технической архитектуре в Технической Whitepaper
14 августа мы проводим Pre-ICO. Присоединяйтесь в качестве ранних инвесторов.