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, побудована на технології блокчейн, що містить багаторівневий і гнучко налаштовуваний механізм управління правами доступу до ресурсів на основі смарт-законів, є сучасним інструментом для реалізації електронного уряду і цифрової економіки, як в окремій країні, так і на міждержавному рівні.
