- PVSM.RU - https://www.pvsm.ru -

e-Government будущего

Возможно ли сделать так, чтобы любой желающий мог безопасно писать код прямо в кабинете электронного правительства?

e-Government будущего - 1

e-Government будущего - 2

Введение

Электронное правительство [1] (англ. e-Government) — способ предоставления информации и оказания уже сформировавшегося набора государственных услуг гражданам, бизнесу, другим ветвям государственной власти и государственным чиновникам, при котором личное взаимодействие между государством и заявителем минимизировано, и максимально возможно используются информационные технологии.

Умный контракт [2] (англ. Smart contracts) — электронный алгоритм, описывающий набор условий, выполнение которых влечет за собой некоторые события в реальном мире или цифровых системах. Для реализации умных контрактов требуется децентрализованная среда, полностью исключающая человеческий фактор, а для возможности использования в умном контракте передачи стоимости требуется криптовалюта.

Сторонники умных контрактов утверждают, что многие виды договорных отношений могут быть частично или полностью “самовыполняемыми” и самодостаточными. Умные контракты, основанные на криптографии, способны обеспечивать лучшую безопасность, чем традиционные контракты, основанные на праве, и снизить прочие трансакционные издержки, [3] связанные с заключением договоров и возможными судебными издержками.

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

Мы все движемся к тому, что с каждым годом эти самые трансакционные издержки становятся всё меньше и меньше за счет создания различных платформ вроде “Алибабы”, возможности коммуникации через мессенджеры, взаимодействие с правительством посредством веб-сайтов и т.д.

Учитывая, что смарт-контракты позволяют снизить издержки, логично предположить, что они тоже совсем скоро войдут в нашу жизнь также как в неё вошли смартфоны, соц сети, e-Government, дистанционное образование, удаленная работа. Всё, что снижает издержки рано или поздно становится мейнстримом.

Смарт-контракты

Со смарт-контрактами в Эфириуме и пр. есть проблема, которая сводит на нет все их преимущества. Если вы вписались в какой-то неправильный контракт, то вы “попали”. Так же, как “попали” участники The DAO [5]. Но тогда к решению проблемы подключились разработчики Эфириума во главе с его основателем Виталиком Бутериным, по сути, взяв на себя функции верховной власти. Виталик предложил проголосовать: вернуть деньги пострадавшим или оставить всё как есть. Представьте, что какому-то бизнесмену говорят, что ему нужно заключить договор на $1 млрд, но если вдруг что-то пойдет не так и в договоре найдется опечатка, то 23-х летний гражданин Канады Виталик Бутерин во всем разберется и урегулирует ситуацию.

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

Но эта проблема не должна решаться “в лоб”.

e-Government будущего - 3

Губернатор Аризоны подписал исторический закон о смарт-контрактах и технологии блокчейн [6].
Впереди идет кобыла в виде классической законодательной системы и тянет за собой смарт-контракты, условия использования которых прописываются в бумажных договорах.

Hyperledger, Corda(R3) — что это и для чего они нужны?

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

Самый главный недостаток Hyperledger, Corda в том, что они объединяют компании в разные не связанные между собой группы. Написать смарт-контракт, который будет работать с данными разных групп, уже будет невозможно (если только через костыли в виде ввода данных в контракт в ручном режиме или через специальный сервер, собирающий данные из внешних источников), т.е. при выходе за пределы виртуальной машины возникает такая же проблема [7] как у Эфириума. Создание глобального объединения в Hyperledger и Corda не предусмотрено, так как платы за ресурсы в них нет, да и архитектура под это не заточена.

e-Government на блокчейне

В этой новости [8] можно увидеть, казалось бы, что-то инновационное. Но представьте, что документы будут храниться не на сервере e-Government, а на серверах департаментов. Для поддержания этих серверов нужно нанимать специалистов, платить за канал, за электричество, обновлять вышедшее из строя оборудование и прочее. Это конечно хорошо, что подделать скан-копию документа никто не сможет, но ведь и на серверах e-govenrment вероятность такой подделки также не высока. При таком подходе ОАЭ может потратить к 2020 огромные суммы денег, а получить не сокращение издержек, а их увеличение.

Цифровая экономика в РФ

Мне довелось побывать на одном мероприятии в АСИ [9], посвященном цифровой экономике. Сложилось впечатление, что правительство понятия не имеет, что такое цифровая экономика и как её строить. После этой новости [10] стало очевидно, что никакого плана по созданию цифровой экономики нет, и его должна придумать собранная рабочая группа.

Электронное правительство РФ:

e-Government будущего - 4 [11]

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

Оптимальная архитектура

Представьте, что есть возможность всё построить с нуля. Как должно выглядеть само ядро архитектуры, чтобы трансакционные издержки можно было снизить до минимально возможных значений, при этом обеспечив должный уровень безопасности самой системы.

e-Government будущего - 5

В нашем варианте архитектуры мы видим 4 основные колонны:

1. Смарт-контракты

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

Супер-права

e-Government будущего - 6

Граждане наделяют государство такими правами во время выборов, если, конечно, форма правления не монархическая :)

Сами смарт-контракты, из которых будет строиться весь бэкенд электронного правительства, у нас выглядят так:

e-Government будущего - 7

data/conditions/action — тут, думаю, всё примерно понятно, это есть и у Эфириума и прочих. По сути, просто программный код. А вот условия изменения можно разобрать подробнее.

На обычном хостинге [12] у вас есть код на PHP, который изменять можете только вы и админы хостинга [12]. На серверах классического электронного правительства доступ есть у каких-то программистов/сисадминов, может у кого-то еще. Если кто-то что-то изменит, подотрет логи, а потом выяснится, что про VCS все забыли, то можно натворить очень много пакостей и остаться не причем. Для защиты от таких ситуаций у нас все изменения навсегда сохраняются в блокчейне. А если нет прав на изменение, то и изменить ничего не получится. Исключение — супер-права, но если кто-то с такими полномочиями добавил хотя бы одну запятую в код контракта, то это тоже навсегда сохранится в блокчейне. При этом будет записано, кто и когда произвел изменение.

Оплата потребляемых ресурсов

Кто будет платить за работу смарт-контракта? Смарт-контракт может иметь циклы и запросы к БД с миллиардом строк.

У нас каждый контракт привязывается к какому-то кошельку. В случае с РФ это будет кошелек с рублями. У кошелька может быть много владельцев. Причем владельцы могут быть временными, например, чиновники. Поэтому, у таких кошельков в “условиях для списания средств” указывается смарт-контакт, который может проверить наличие человека в каком-то реестре и после этого списать средства. Благодаря этому, к смарт-контракту можно привязать кошелек какого-нибудь департамента/фонда и пр. Внутри самого контакта можно списать средства с того, кто его вызывает (если эту сумму списания одобрил вызывающий).

Пример смарт-контракта, который просто обновляет данные в реестре граждан:

e-Government будущего - 8

Чтобы изменить такой контракт необходимо пройти проверку, которая происходит в MainConditions. При выполнении контракта, средства за ресурсы спишутся с кошелька 0875-3553-1112-8181-5545.

2. Реестры

Если вы пользуетесь классической СУБД, то при выключенном логировании можно смело менять данные через консольку и никто этого не заметит — главное договориться о доступе к серверу в e-Government. Чтобы снизить вероятность такого происшествия, требуется серьезная регламентация на физическом уровне, которая, говорят, часто не соблюдается.
У нас эта проблема решается на уровне ядра.

e-Government будущего - 9

Точно также, как и со смарт-контрактами, устанавливаются права — права на изменение, просмотр, добавление новых строк, колонок. А ели нет прав, то и изменить/посмотреть ничего не получится. Исключение — супер-права. И любое действие записывается в блокчейн.

3. Интерфейсы

Для дополнительной безопасности интерфейсы надо тоже контролировать. Иначе, если кто-то получит доступ к серверу, где нет VCS, то сможет подменить формы ввода данных, а затем замести следы.

e-Government будущего - 10

Необходимо учитывать, что эти страницы будут создавать не только государственные органы, но и компании, и простые граждане. Компания может захотеть создать каталог товаров. Кто-то создаст площадку, где граждане смогут продавать свои товары. Кто-то создаст аналог “Алибабы”, каталог собственников жилья и т.д. и т.п.

Оплата потребляемых ресурсов

Вот тут есть одна проблема. Каждый запрос к БД должен кем-то оплачиваться. Если за это будет платить гос-во, то что произойдет, если кто-то будет постоянно вытягивать из БД сотни миллионов строк, нагружая при этом сервера? Логично предположить, что платить должен создатель страницы или группа создателей (как за обычный облачный хостинг [12]). Но тогда на страницы компаний будут заходить конкуренты и специально потреблять ресурсы. Для защиты можно тяжелые страницы поместить в закрытый доступ и пускать к ним только при согласии оплатить потраченные ресурсы самим посетителем страницы, а владельцам страниц дать возможность блокировать доступ к бесплатным страницам для граждан, у которых заела клавиша F5 (CMD+r). Но в большинстве случаев расходы будут минимальными, и задумываться об оплате и блокировках не придется.

4. Блокчейн

Читатели, которые хорошо знакомы с технологией блокчейн, наверняка задаются вопросом — а кто будет нодами?

Хранить государственные данные в открытом виде на данный момент неприемлемо. Даже если мы их зашифруем и снаружи оставим только ID, то по истории транзакций можно будет понять, кто есть кто. Лично я убежден, что будущее за открытым блокчейном, но в текущих реалиях допустим пока только закрытый тип.

e-Government будущего - 11

Нода — это ЦОД, блоки подписываются по очереди раз в секунду. Кол-во ЦОД должно быть более трех. Если их будет 2, тогда в случае вилки невозможно будет понять, у кого верные данные, придется пересобирать базу данных с самого первого блока.

То есть, если кто-то захочет через консольку записать в БД x=1, там где x было 0, а потом обратиться к этому значению из кода смарт-контракта, то на всех остальных нодах транзакция просто не пройдет, а в тот момент, когда в коде контракта кто-то пропишет if x==0, то скомпрометированная нода не сможет принять такой блок, в то время как остальные примут, в итоге те, кто принял, будут работать в своей ветке блокчейна, а скомпрометированая нода в своей, что на маршрутизаторе отобразится в виде разных хэшей.

Интересный вопрос — кто будет собственником ЦОД — гос-во или частная компания?

Итог

Государство сможет настроить права доступа к реестрам, создать смарт-законы для работы с ними и наблюдать, как компании и граждане будут строить вокруг них свои проекты, создавать новые формы бизнеса, различные платформы, ERP и т.д.

Благодаря тому, что данные невозможно подправить, будут получаться достоверные отчеты, на основе которых можно будет делать прогнозы, проводить оптимизации и прочее, используя AI. Приватные ключи можно выдавать не только людям, но и девайсам, чтобы IoT не оставался в стороне и работал внутри единого информационного пространства.

Заключение

В данной статье я описал архитектуру, которая позволит внедрить смарт-контракты в e-Government, что может привести к значительному сокращению бюрократии и ускорению всех экономических процессов.

Я надеюсь, что этот материал и наши разработки (которые, кстати, open-source) будут в каком-то виде полезны и ими воспользуются люди из этого списка [13].

Если Вы считаете, что в нашей архитектуре чего-то не хватает, пожалуйста, пишите.

Автор: Олег Стреленко

Источник [14]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/e-lektronnoe-pravitel-stvo/252250

Ссылки в тексте:

[1] Электронное правительство: https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE

[2] Умный контракт: https://ru.wikipedia.org/wiki/%D0%A3%D0%BC%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%B0%D0%BA%D1%82

[3] трансакционные издержки,: https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%B0%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B8%D0%B7%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B8

[4] Социальные и государственные институты: https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%B8%D0%BD%D1%81%D1%82%D0%B8%D1%82%D1%83%D1%82

[5] The DAO: http://forklog.com/the-dao-atakovana-ukradeno-50-millionov/

[6] Губернатор Аризоны подписал исторический закон о смарт-контрактах и технологии блокчейн: http://forklog.com/gubernator-arizony-podpisal-istoricheskij-zakon-o-smart-kontraktah-i-tehnologii-blokchejn/

[7] проблема: https://forum.ethereum.org/discussion/3640/can-an-ethereum-contract-reference-something-external

[8] новости: https://coinspot.io/world/v-dubai-sobirayutsya-k-2020-godu-perevesti-vse-pravitelstvennye-dokumenty-na-blokchejn/

[9] АСИ: https://ru.wikipedia.org/wiki/%D0%90%D0%B3%D0%B5%D0%BD%D1%82%D1%81%D1%82%D0%B2%D0%BE_%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%B5%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%B8%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D1%82%D0%B8%D0%B2_%D0%BF%D0%BE_%D0%BF%D1%80%D0%BE%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8E_%D0%BD%D0%BE%D0%B2%D1%8B%D1%85_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%B2

[10] новости: http://forklog.com/v-rossii-sozdali-rabochuyu-gruppu-po-tsifrovoj-ekonomike/

[11] Image: https://habrastorage.org/files/cae/a19/08f/caea1908f3024035a1a6e17f76494530.jpg

[12] хостинге: https://www.reg.ru/?rlink=reflink-717

[13] люди из этого списка: http://d-russia.ru/prezident-rasporyadilsya-sozdat-rabochuyu-gruppu-po-tsifrovoj-ekonomike.html

[14] Источник: https://habrahabr.ru/post/325996/