eGaaS (Electronic Government as a Service) — это цифровая экосистема, спроектированная для реализации идеи электронного правительства. При этом термин “электронное правительство” в eGaaS трактуется не в узком смысле, как лишь онлайн сервис оказания услуг гражданам или механизм автоматизации деятельности правительства, а понимается как целостная цифровая экосистема, объединяющая в едином информационном пространстве деятельность всех сфер государства: институтов власти, экономики, финансов и социальной сферы. Экосистема eGaaS включает в себя глобальные реестры и программные средства для построения государственных, частных и общественных пользовательских приложений и платформ на базе смарт-контрактов.
Экосистема eGaaS обладает многоуровневой системой управления правами на создание и редактирование реестров, контрактов и интерфейсов. Для контроля прав доступа к элементам экосистемы используются специальные контракты – смарт-законы, благодаря чему система контроля прав получается гибко настраиваемой и, что самое главное, позволяет автоматически отслеживать передачу прав доступа.
В качестве программного решения для построения экосистемы eGaaS используется технология блокчейн. Главными преимуществами блокчейна для реализации электронного правительства являются:
- предельная надежность хранения данных, которая достигается использованием крипто-алгоритмов и распределенного хранения реестров,
- хранение истории всех изменений реестров с фиксацией субъектов, имевших доступ к данным.
Блокчейн eGaaS
Технически цифровая экосистема eGaaS является одноранговой сетью, узлами которой выступают центры обработки данных (ЦОДы), каждый из которых содержит полную копию блокчейна. Узлы формируют блоки по очереди с периодом не более секунды. Работоспособность экосистемы может поддерживать и один узел. Остальные узлы обеспечивают бесперебойность работы сети и защиту от несанкционированного изменения данных.
Экосистема eGaaS, развернутая в пределах одного государства, является закрытой — доступ к ресурсам сети возможен только для пользователей, обладающих приватными ключами. Что не исключает последующую возможность включения государственной сети в международную.
Реестры
Основу экосистемы составляют реестры объектов, участвующих в правовых, финансовых и экономических отношениях. Это реестры физических и юридических лиц, объектов недвижимости, домохозяйств, ценных бумаг, лицензий и пр. Важнейшим инструментом управления экосистемой и созданными на ее базе приложениями является многоуровневый механизм управления правами доступа к реестрам. Контролируются права:
- на чтение, изменение и добавление атрибутов (колонок),
- на чтение, изменение и добавление записей (строк),
- на изменения вышеперечисленных прав.
Права на доступ к реестрам могут быть предоставлены отдельным лицам (указанием их id из реестра персон), определенным ролям (контролируется наличие id персоны в реестре должностей), а также персонам и ролям в сочетании с различными условиями. Предусмотрено предоставление права доступа к элементам реестров только для конкретных контрактов/приложений.
Таким образом, с помощью построения многоуровневой системы прав реализуется разделение компетенций между приложениями разных департаментов, отраслей и организаций.
Смарт-контракты
Следуя сложившейся в блокчейн-сообществе традиции, программные модули eGaaS, обеспечивающие работу с реестрами, называются смарт-контрактами (или просто контрактами). Контракты являются структурными элементами при построении приложений и платформ. Для написания контрактов используется разработанный для экосистемы скриптовый язык с быстрой компиляцией в байт-код. Язык содержит необходимый набор функций для создания реестров и выполнения всех типов транзакций с записями в них.
Контракты представляют собой функционально законченные фрагменты кода, обеспечивающие:
- получение входных данных от пользователя или другого контракта (секция data),
- анализ корректности данных и проверку условий выполнения контракта (секция conditions)
- выполнение необходимых транзакций (секция action).
Для предотвращения исполнения контрактов, способных нанести ущерб пользователю (к примеру, осуществить перевод денег) без его ведома, используется механизм подписания контракта. Так называемые контракты с подписью не могут быть выполнены без обязательного подтверждения пользователем.
В описание контракта обязательно входит указание на права его изменения. Вся история изменений и запуска контрактов сохраняется в блокчейне.
Смарт-законы
Особую роль в экосистеме eGaaS играют специальные контракты, определяющие:
- условия выполнения контрактов,
- доступ пользователей и контрактов к реестрам,
- права на изменение реестров, контрактов и интерфейсов.
Такие контракты, которые, по сути, исполняют роль нормативных документов, называются смарт-законами. Смарт-законы содержат условия и ограничения, предписанные законодательством государства.
Обязательность выполнения смарт-законов гарантирована использованием их как общих для экосистемы условий доступа к реестрам. Операции, контролируемые смарт-законами, не могут быть выполнены каким-либо пользовательским приложением с игнорированием прописанных в законах ограничений (например, контроль лицензий и пр.) и/или минуя выполнение специальных транзакций (например, произведение налоговых отчислений).
При необходимости (в случае юридической неоднозначности) в смарт-закон включается специальное условие, требующее принятие решения уполномоченным лицом с подтверждением решения цифровой подписью.
Для защиты экосистемы от последствий ошибок и уязвимостей (неизбежных в программном коде пользовательских приложений) предусмотрена процедура остановки выполнения и изменения любых контрактов с игнорированием прав, назначенных их авторами. Это так называемые исключительные права, предоставляемые определенным ролям или коллегиальным органам с помощью специальных смарт-законов.
Интерфейсы
Чтобы исключить манипуляции с отражением данных на стороне пользователей, интерфейсы, обеспечивающие работу смарт-контрактов, также сохраняются в блокчейне. Страницы и меню приложений, так же, как и реестры и контракты, имеют указание на смарт-контракт, в котором прописываются условия их изменения.
Шаблоны страниц создаются с помощью набора функций, который можно рассматривать как специализированный язык для создания интерфейсов — шаблонизатор приложений eGaaS. Функции шаблонизатора согласованы с языком написания контрактов, что значительно упрощает создание приложений. Язык шаблонизатора обеспечивает:
- получение данных из реестров,
- представление данных в виде таблиц и диаграмм (с подключением дополнительных виджетов),
- построение форм ввода данных для контрактов,
- создание многоуровневого меню,
- реализацию мультиязычности.
Язык шаблонизатора создает интерфейсы, изначально адаптированные для работы приложений на мобильных устройствах.
Приложения
Приложение экосистемы eGaaS – это автономное программное решение для выполнения определенного действия или множества действий в рамках некоторой деятельности. Приложение состоит из
- контрактов, реализующих его функционал,
- таблиц базы данных, необходимых для хранения рабочих данных,
- страниц и меню, обеспечивающих ввод и отображение данных.
Выполнение контрактов в приложении запускается действиями пользователей, другими контрактами и обращением к данным реестра (для проверки прав доступа).
Состав приложений не является фиксированным и подразумевает возможность расширения за счет добавления новых контрактов, страниц и таблиц.
Программный клиент eGaaS
Написание приложений осуществляется с помощью программного клиента eGaaS (код на gitHub), который с помощью системных интерфейсов и редакторов обеспечивает:
- Создание таблиц/реестров,
- Создание и редактирование контрактов,
- Создание и редактирование страниц и меню,
- Установку и редактирование условий доступа к таблицам, контрактам, страницам и меню,
- Ввод и редактирование языковых ресурсов для реализации мультиязычности.
Программный клиент eGaaS используется также для доступа пользователей к приложениям, обеспечивая их идентификацию с помощью ввода приватного ключа.
Безопасность экосистемы
Безопасность экосистемы eGaaS обеспечивается ранее описанными механизмами:
- использование технологии блокчейн, исключающей внесение изменений в совершенные транзакции;
- хранение копий блокчейна, а, следовательно, и всех реестров, контрактов и интерфейсов на каждом узле сети;
- поддержка многоуровневой системы управления правами доступа к ресурсам с помощью смарт-законов, содержащей механизм исключительных прав;
- защита от несанкционированного запуска контрактов с помощью специальной подписи;
- сохранение интерфейсов в блокчейне.
Для защиты экосистемы от атак и перегрузки применяется механизм оплаты ресурсов токенами. Выполнение контракта требует списания токенов с указанного при его активации кошелька. Для конечных пользователей работа с приложениями бесплатна (если речь не идет о платных услугах).
Заключение
Цифровая экосистема eGaaS, построенная на технологии блокчейн, содержащая многоуровневый и гибко настраиваемый механизм управления правами доступа к ресурсам на основе смарт-законов, является современным инструментом для реализации электронного правительства и цифровой экономики, как в отдельной стране, так и на межгосударственном уровне.
Автор: Александр Болдачев