Разработка принципов и алгоритмов управления метаданными провенанса больших научных данных с использованием блокчейн-технологииНИР

Development of principles and algorithms for managing the provenance metadata for big scientific data with the use of blockchain technology

Источник финансирования НИР

грант РНФ

Этапы НИР

# Сроки Название
1 23 апреля 2018 г.-31 декабря 2018 г. Разработка принципов и алгоритмов управления метаданными провенанса больших научных данных с использованием блокчейн-технологии
Результаты этапа: В конце первого года получены следующие результаты: - выводы по результатам анализа современной научно-технической литературы; - общие критерии функционирования систем управления метаданными провенанса (СУМД-П); - список основных количественных параметров оценки работы СУМД-П; - выбор класса блокчейнов, удовлетворяющих критериям функционирования СУМД-П; - методы, модель и формат записи МДП в распределенный блокчейн-реестр; - методы и алгоритмы формирования блоков в рамках выбранного класса блокчейнов; - методы и алгоритмы осуществления запросов к распределенному реестру МДП на основе блокчейн-технологии; - аргументированный выбор/разработка языка запросов на выборки метаданных; - методы и алгоритмы проверки отсутствия искажений записей в распределенном реестре; - методы построения инфраструктуры безопасности для СУМД-П; - публикация 2 статей, отражающих промежуточные результаты работы по проекту; - промежуточный отчет по проекту.
2 1 января 2019 г.-31 декабря 2019 г. Разработка принципов и алгоритмов управления метаданными провенанса больших научных данных с использованием блокчейн-технологии
Результаты этапа: НВ настоящее время реализация крупных научных, инженерных и бизнес-проектов связана, как правило, с необходимостью хранить и обрабатывать большие объемы данных. Это приводит к разработке новых, более экономичных и надежных, архитектурных решений и принципов работы информационных систем, в том числе систем хранения. Экстремальными вариантами архитектурных решений для таких систем являются полностью централизованные хранилища и полностью децентрализованные (на основе одноранговых P2P-сетей) хранилища. Однако, во многих случаях такие решения оказываются неприемлемыми, например, из-за их высокой стоимости или низкой надежности, а оптимальным является промежуточное между такими экстремальными вариантами решение. Для его осуществления организации - участники крупного проекта - объединяют свои локальные ресурсы в единый распределенный пул и, при необходимости, дополнительно арендуют ресурсы облачного хранилища, возможно, от нескольких поставщиков. Особенно выгодным с экономической и технической точек зрения, это решение может быть в том случае, когда необходимо хранить большие объемы данных в течение ограниченного периода реализации проекта и в ситуации, когда проект объединяет многих организационно несвязанных участников. В общем случае такой распределенный пул образует динамически меняющуюся среду (по мере необходимости могут подключаться новые хранилища или отключаться ранее входившие в пул), а локальные хранилища, входящие в пул, могут иметь разные системы управления данными. Задача заключается в том, чтобы объединить все эти хранилища и данные в них в единую систему в динамически меняющейся среде, а также обеспечить реализацию взаимных политик доступа к данным участвующих сторон. Например, владелец данных (пользователь, создавший эти данные или организация, которой они принадлежат) должен иметь возможность управлять правами доступа к ним для других пользователей. Другим примером является способность облачного хранилища предоставлять доступ к данным, хранящимся на нем, только пользователям из организаций, которые заплатили за предоставление услуг хранения. Это подразумевает наличие децентрализованных методов как для управления доступом к данным в такой динамично изменяющейся среде, так и для обеспечения надежной, неизменной записи истории совершенных транзакций, то есть метаданных провенанса (МДП), для разбора и разрешения возможных конфликтов между участниками проекта, а также с владельцами хранилищ. Конфликты могут быть связаны с вопросами приоритета при получении результатов обработки данных, использованием результатов, нарушением прав доступа и т. п. Другими словами, необходимо обеспечить инструментарий для поддержки осуществления бизнес-процессов хранения и обмена данными в распределенной среде и при наличии административно несвязанных или слабо связанных организаций, участвующих в совместных проектах, или просто обменивающихся данными на определенных условиях. Прежде всего, для этого требуется надежная неизменяемая запись истории совершенных операций, то есть реестр метаданных провенанса, устойчивый к случайным или намеренным изменениям, а также метод обеспечения консенсуса среди участников бизнес-процесса о содержании и порядке транзакций с данными. Следует отметить, что, хотя в последние годы был реализован ряд проектов по созданию систем хранения и управления метаданными, включая провенанс данных, подавляющее большинство реализованных решений централизовано, что плохо подходит для использования организационно несвязанными исследовательскими сообществами в распределенной динамически меняющейся среде. С другой стороны, в последние годы распределенные реестры, основанные на блокчейн-технологии, стали очень популярными в различных прикладных областях из-за ряда важных преимуществ. Совсем недавно на основе блокчейнов появились разработки для систем управления МДП. Однако они предназначены для работы с одним хранилищем, не решают проблему обеспечения бизнес-процессов для обмена данными между административно несвязанными организациями и управления доступом к данным. Основной сценарий использования предлагаемой системы предполагает, что для совместной реализации некоторого проекта создается виртуальная организация (ВО). ВО включает несколько реальных организаций, которые, в свою очередь, включают поставщиков данных, обработчиков данных и пользователей, связанных с ними. Предполагается, что для реализации такого проекта требуется использование распределенного хранилища данных. Это распределенное хранилище может быть создано путем аренды нескольких облачных хранилищ, а также с помощью интеграции собственных ресурсов организаций, которые формируют ВО. Таким образом, аппаратная и программная база бизнес-среды в этом случае формируется набором хранилищ (возможно разных типов, например, облачных хранилищ, файловых серверов, хранилищ на магнитной ленте и т. д.), каждое из которых может управляться его собственной системой управления данными (СУД). Вообще говоря, могут сосуществовать несколько ВО; хранилища, с которыми они взаимодействуют, могут образовывать частично перекрывающиеся множества. В дополнение к задаче записи неизменной истории работы с данными в распределенной среде хранения, ставится задача обеспечения распределенного управления правами доступа к данным. Естественным решением для создания распределенного неизменяемого реестра для записей МДП является использование блокчейн-технологии. Последняя гарантирует, что записи не были включены в реестр задним числом, и что записи в реестре не были изменены. Важным вопросом является то, как обеспечить валидность цепочки блоков с записями транзакций в случае реестра МДП. Использование самого популярного метода - доказательства работы (proof-of-work; PoW) на основе майнинга является весьма ресурсоемким и плохо подходит для систем управления метаданными провенанса данных. Действительно, вычисления, которые выполняются с целью доказательства работы, не служат никакой полезной цели, и это является принципиальной особенностью. Поэтому, если это возможно, лучше отказаться от этого способа. Пытаясь решить эту проблему, сообщество исследователей в этой области разработало алгоритмы консенсуса, которые не требуют "работы". Выбор алгоритма сильно зависит от способа доступа к обработке транзакций. С этой точки зрения, блокчейны классифицируются следующим образом: инклюзивные (публичные) блокчейны, в которых нет ограничений на личность обработчиков транзакций; эксклюзивные блокчейны, в которых обработка транзакций выполняется только определенными участниками блокчейн-сети. Публичные блокчейны более известны, поскольку на них основаны сети криптовалют. В отличие от публичных блокчейнов, в системах, основанных на эксклюзивных блокчейнах, встроенные цифровые деньги обычно не используются. В публичных блокчейнах встроенные цифровые деньги необходимы для обеспечения вознаграждения за обработку транзакций. Эксклюзивные блокчейны могут формировать более контролируемую и предсказуемую среду, чем публичные блокчейны, и не требуют вычислений, связанных с алгоритмами PoW. В распределенной среде хранения локальные системы управления данными, владельцы данных, представители реальных организаций, участвующих в проекте, и другие аналогичные указанным участники совместного проекта могут выступать в качестве уполномоченных сторон, которые создают и подписывают блоки. Чтобы злонамеренно изменить транзакцию, подтвержденную всеми авторизованными сторонами в распределенной среде хранения, злоумышленник должен получить доступ ко всем секретным ключам обработчиков блоков. Это очень маловероятно, и, таким образом, этот подход обеспечивает высокую степень защиты распределенного реестра. Именно этот подход к построению реестров метаданных используется в нашей системе управления МДП. Чтобы реализовать это решение на практике, удобно использовать существующие блокчейн-платформы. Анализ существующих платформ показывает, что требуемое решение для системы управления МДП наиболее естественным образом может быть реализовано на базе блокчейн-платформы Hyperledger Fabric (HLF; www.hyperledger.org) совместно с Hyperledger Composer (hyperledger.github.io/composer). Последний представляет собой набор инструментов для упрощенного использования блокчейна. Далее мы будем называть эти два компонента HLF&C-платформой. Для описания бизнес-процесса в рамках HLF&C-платформы используется ряд концепций, основными из которых являются активы, участники, транзакции и события. Активы - это материальные или интеллектуальные ресурсы, услуги или собственность, записи о которых хранятся в блокчейне. Активы должны иметь уникальный идентификатор, но они также могут содержать любые свойства, определенные для них. Участники являются членами бизнес-сети, которые могут владеть активами и делать запросы на транзакции. Они также могут иметь свойства, если это необходимо. Транзакции являются механизмом взаимодействия участников с активами. Сообщения о событиях могут быть отправлены обработчиками транзакций для информирования внешних компонентов об изменениях в блокчейне. Очень важно, что HLF&C-платформа обеспечивает работу смарт-контрактов (называемых чейнкодами), что позволяет организовать бизнес-процесс совместного использования ресурсов хранения участниками проекта, находящимися в разных административных доменах. Разрабатываемая в данном проекте на базе HLF&C-платформы система управления метаданными провенанса, названная ProvHL (Provenance HyperLedger), обеспечивает осуществление бизнес-процессов совместного использования ресурсов хранения. При этом с точки зрения организации бизнесс-процессов возможны два подхода. В первом подходе системы управления данными (СУД) управляют данными и используют блокчейн просто как распределенный журнал (data driven data management). Во втором подходе метаданные записываются в блокчейн заранее, а СУД обращается к блокчейну и выполняет записанные там транзакции (metadata driven data management). В первом случае функциональность блокчейн-системы очень ограничена, она предоставляет только распределенный реестр, устойчивый к случайным или злонамеренным попыткам модифицировать историю данных в распределенном хранилище. ProvHL позволяет реализовать второй подход, который помимо простого ведения реестра позволяет решить проблему распределенного управления доступом к данным. В нашем случае участниками (в смысле HLF&C-платформы) являются пользователи и администраторы разных уровней и провайдеры хранилищ. Основными активами являются файлы данных. Их свойствами (атрибутами) являются метаданные провенанса, включая имя локального файла в хранилище, идентификатор хранилища, идентификатор создателя, идентификатор владельца файла, тип файла (первичный, вторичный или реплика) и т. д. Другим важным видом активов являются (локальные) хранилища, составляющие распределенную среду. Мы также определили группы пользователей в качестве ресурсов, так как это полезно для управления правами доступа к данным. Наконец, операции с файлами также рассматриваются как активы, поскольку каждая операция фактически состоит из нескольких атомарных транзакций. Основные операции могут быть следующих типов: загрузка нового файла; скачивание файла; копирование файла внутри одного хранилища; удаление файла; копирование файла в другое хранилище; перекачивание файла в другое хранилище. Для каждой операции с данными в блокчейне производится как минимум две записи транзакций: одна соответствует запросу клиента (ClientRequest), а вторая-ответу сервера (ServerResponse). В частности, когда выполняется операция "загрузка нового файла", создание нового актива, то есть файла данных, выполняется только после фактической загрузки файла в хранилище, когда СУД выполняет транзакцию ServerResponse и превращает загруженный файл в полностью валидный актив. Вместе с вышеупомянутым разделением транзакций на клиентскую и серверную части, это делает практически приемлемым уровень соответствия между историей, записанной в блокчейне, и реальной историей данных в распределенном хранилище. Таким образом, в данном проекте благодаря использованию нового подхода, основанного на интеграции технологий блокчейна, смарт-контрактов и управления данными на основе метаданных, разработаны принципы и алгоритмы работы системы, названной ProvHL, которая является отказоустойчивой, безопасной, надежной с точки зрения сохранности и защищенности записей от случайных или намеренных искажений распределенной системой управления метаданными провенанса данных, а также правами доступа к данным в распределенных хранилищах. Исследованы вопросы оптимального выбора типа блокчейна для такой системы, а также выбора блокчейн-платформы. А именно, предложено использовать эксклюзивный (permissioned) тип блокчейна и блокчейн-платформу HyperLedger, на основе которой реализуется система ProvHL. В настоящее время на базе НИИЯФ МГУ создается испытательный стенд, на котором разворачивается прототип ProvHL для реализации разработанных принципов и отработки алгоритмов работы системы. Создание системы ProvHL производственного уровня позволит существенно повысить качество и надежность результатов, получаемых на основе обработки и анализа больших данных в распределенной компьютерной среде.
3 1 января 2020 г.-31 декабря 2020 г. Разработка принципов и алгоритмов управления метаданными провенанса больших научных данных с использованием блокчейн-технологии
Результаты этапа: Научной проблемой, на решение которой направлен проект, является разработка принципов и алгоритмов формирования, хранения и управления метаданными провенанса для больших данных, порождаемых крупными научными экспериментами. Метаданные провенанса содержат ключевую информацию, которая необходима для определения происхождения, авторства и качества данных, их правильного хранения, корректного воспроизведения при необходимости, а также для интерпретации и подтверждения соответствующих научных результатов. В результате работы по проекту разработан новый подход на основе блокчейн-технологий и смарт-контрактов к созданию отказоустойчивой, безопасной, надежной с точки зрения сохранности и защищенности записей от случайных или намеренных искажений распределенной системы управления метаданными провенанса, а также правами доступа к данным в распределенных хранилищах. Функциональные свойства системы обеспечивают объединение локальных хранилищ и данных в них в единое распределенное хранилище в динамически меняющейся среде, а также обеспечивают реализацию взаимных политик доступа к данным участвующих сторон. Разработаны способы децентрализованного управления как правами доступа к данным в такой динамически меняющейся среде, так и обеспечения надежной неизменяемой записи истории совершенных операций, то есть метаданных провенанса, для разбора и разрешения возможных конфликтов между участниками проекта, а также с владельцами хранилищ. На основе аутентификации и авторизации осуществляется децентрализованный механизм управления правами доступа к данным, то есть правами на выполнение соответствующих транзакций, а также правами на чтение данных, записанных в реестре (блокчейне). Другими словами, функциональные свойства разработанной системы, названной ProvHL (Provenance HyperLedger), обеспечивают полноценный инструментарий для поддержки осуществления бизнес-процессов хранения и обмена научными данными в распределенной среде и при наличии административно несвязанных или слабо связанных организаций, участвующих в совместных проектах, или просто обменивающихся данными на определенных условиях при полном или частичном отсутствии доверия между группами пользователей. Основными характеристиками метода записи метаданных в распределенный блокчейн-реестр являются: работа в рамках концепции эксклюзивных блокчейнов (permissioned blockchains); использование смарт-контрактов для управления транзакциями и организации бизнес-процессов совместного использования ресурсов хранения участниками проекта, находящимися в разных административных доменах; управление правами доступа к тем или иным действиям с метаданными и данными, причем правами доступа могут управлять участники сети в пределах своей компетенции (например, владелец файла может управлять правами доступа к операциям c ним для других участников); использование модульной структуры, позволяющей использовать различные алгоритмы достижения консенсуса между участниками бизнес-процессов в зависимости от потребностей конкретного распределенного хранилища и его пользователей; возможность одновременной независимой работы нескольких виртуальных организаций. В соответствии с общим планом работ, на третьем этапе проекта осуществлена доработка программного комплекса системы управления метаданными провенанса ProvHL, расширяющая его функциональные возможности. В частности, реализована важная для полноценного практического использования распределенных хранилищ возможность осуществления операций с файловыми каталогами (директориями) в распределенном хранилище под управлением ProvHL, управления правами доступа к ним, а также осуществления по запросам записи и чтения метаданных провенанса, относящихся к каталогам. Каталоги определены как активы аналогично файлам данных с соответствующим набором транзакций и событий. При этом рассматривалась возможность использования двух подходов: (1) нисходящий подход, при котором список файлов и каталогов, содержащихся в данном каталоге, является атрибутом последнего; (2) подход "снизу вверх", при котором атрибут файла содержит информацию о каталоге, к которому принадлежит этот файл. Для практической реализации был выбран второй подход, поскольку он существенно более простой и естественный. Действительно, если использовать первый подход, операция с файлом потребует изменения значений атрибутов не только самого файла, но и каталога, в котором он содержится. При втором подходе достаточно изменить только атрибуты файла, включая его размещение в дереве каталогов. Для получения содержимого каталога пользователю достаточно отправить запрос в ProvHL для выбора всех файлов со значением атрибута каталога, равным идентификатору интересующего каталога. Каталоги как активы могут подвергаться операциям, аналогичным операциям с файлами. В результате доработки на третьем этапе функциональных возможностей ProvHL обеспечена возможность управлять посредством ProvHL правами доступа к активам распределенных хранилищ (файлы, каталоги) на уровне групп пользователей распределенного хранилища, осуществлять операции с группами (создание групп, добавление/удаление пользователей и т. п.), а также осуществлять по запросам запись и чтение метаданных провенанса, относящихся к группам. Эта функциональная возможность необходима для хорошо гранулированного, гибкого и удобного управления правами доступа к активам хранилищ. Также обеспечена возможность обработки данных в распределенной системе под управлением ProvHL предустановленными прикладными сервисами. Обработка данных такими веб-сервисами рассматривается как еще один тип операций с файлами, при этом входные и выходные данные для этого типа операций могут состоять из нескольких файлов. Осуществлен переход к модулям реализующим алгоритм консенсуса, устойчивый к сбоям отдельных узлов систем на основе Kafka-кластера. Исследования на третьем этапе показали правильность решений для функциональных возможностей доработанного программного комплекса, а также позволили определить значения количественных параметров работы ProvHL. По результатам сравнительного анализа сделан вывод о том, что разработанная в рамках проекта система ProvHL имеет существенные функциональные, а значит и конкурентные преимущества по сравнению с другими аналогичными системами. Разработаны рекомендации по внедрению системы ProvHL в компьютерные системы коллаборативного типа. Новый подход, разработанный в рамках проекта, и полученные практические результаты обеспечивают надежную и безопасную системы для управления метаданными происхождения, правами доступа и операциями с данными в совместной распределенной вычислительной среде с частичным или полным отсутствием доверия между группами пользователей, а также с переменным количеством подключаемых ресурсов и с практически неограниченной возможностью увеличения объема хранимых данных и метаданных. Создание системы ProvHL позволит значительно улучшить качество и надежность результатов, полученных на основе обработки и анализа данных в такой распределенной компьютерной среде.

Прикрепленные к НИР результаты

Для прикрепления результата сначала выберете тип результата (статьи, книги, ...). После чего введите несколько символов в поле поиска прикрепляемого результата, затем выберете один из предложенных и нажмите кнопку "Добавить".