Уроки московских выборов на блокчейне

Мутная технология

Уроки московских выборов на блокчейне

8 сентября на выборах в Мосгордуму в трех округах провели экспериментальное «дистанционное электронное голосование» с использованием криптографии и технологии блокчейна. В процессе голосования система дважды ломалась и голоса избирателей-добровольцев в системе не регистрировались в течение 40 минут и часа. Представители избирательной комиссии успокоили общественность доходчивой фразой: «Сработала заглушка в грейлоде, данные пропали, потом появились».

Самые дотошные бросились шерстить Гугл в поиске объяснения того, что такое «грейлод», но их  сразу же добили, чтобы не выпендривались: сообщили, что «отвалился сервис КриптоПРО», из-за чего «пошла нулевая транзакция». Приставучая общественность сделала вид, что всё поняла («Ааа, нулевая транзакция! Так бы сразу и сказали») и отстала.

После выборов эксперты-пятоколонщики нагло заявили, что в эксперименте с «блокчейн-голосованием» блокчейном даже не пахло, поэтому виновата не технология, а наши кривые руки. Эксперты-патриоты напомнили о первом блине. Который, как известно, всегда комом. И, вообще, нечего метать икру: ошибки учтут, систему доведут до ума и в следующий раз всё замечательно срастется.

Одна только незадача: блокчейн — не блин, желанный в каждой хате. Блокчейн в глазах 99 % населения — это мухомор. Причем не из соседнего леса, а заморский. И оттого – враждебный. Уровень понимания этой технологии в нашем обществе устойчиво полощется ниже плинтуса. Не потому, что люди глупые, а потому что блокчейн – реально штука сложная. Не столько в техническом отношении (хотя и там – не подарок!), сколько в психологическом.

Из непонимания рождается оправданное сомнение, которое рано или поздно превращается в энергичное отторжение. И вот уже широкая общественность усматривает в модном инородном веянии что-то вроде новаторского мошенничества.

Негатив в населении деловито распаляет пресса: “Кузьминский суд Москвы заключил под стражу на месяц хоккеиста Игоря Мусатова, который обвиняется в мошенничестве с криптовалютой на 800 тыс. долларов”, — фирменная новость осени 2019 года.

Как прикажете на таком информационном фоне оценивать блокчейн-голосование на выборах в Мосгордуму?! Технология сама по себе мутная, не удивительно, что наблюдателям не дали каких-то там секретных ключей и доступ к блокчейну закрыли. Правда, журналюги из «Медузы» эти ключи где-то нарыли (вот же ушлое племя!) и голоса расшифровали. Что бы это не значило.

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

Всё это очень печально, потому что технология блокчейна, сама по себе потрясающая, и дискредитация ее кривым исполнением – трагедия.

Лично у меня нет сомнений, что намерения у тех, кто задумал провести эксперимент с блокчейн-голосованием, были благие. Нет сомнений и в компетенции исполнителей.

Организацию эксперимента Московская городская избирательная комиссия поручила Департаменту информационных технологий (ДИТ), который пять лет назад разработал площадку для проведения открытых референдумов в электронной форме (проект «Активный гражданин»), а в 2017 году перевел ее на клон блокчейна Etherium.

В тандеме с ДИТ работала Лаборатория Касперского. «Железные» компоненты системы электронного голосования предоставила компания «КриптоПро», главный шифродел России.

Откуда тогда возник фактор кривых ручек? Откуда взялись обвинения в том, что блокчейн, задействованный на выборах в Мосгордуму, — и не блокчейн вовсе, а недоразумение?

Думаю, виновник только один — время. Вернее, его отсутствие. Проект технического задания на проведения блокчейн-голосования ДИТ и Лаборатория Касперского представили экспертам для обсуждения в конце мая. Выходит, что основная подготовка пришлась на три летних месяца.

Сложность задания делает подобные сроки совершенно нереалистичными. В идеале нужно было за работу вообще не браться, но я далек от околовластных реалий, поэтому не знаю, как там принято выстраивать отношения. Может, ДИТ и пытался отказаться, но заказчик настоял на своих сроках.  

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

Нужно ли вообще применять блокчейн в голосовании? Универсального ответа нет, потому что все зависит от конкретных обстоятельств. Теоретически технология блокчейна может дать неоспоримые экономические и политические преимущества.

В экономическом отношении показателен опыт Эстонии, где возможность использовать альтернативное электронное голосование предоставляется с 2005 года. На парламентских выборах 2019 года через интернет проголосовало рекордное число избирателей – 43,8% от общего числа. Считается, что каждый раунд электронного голосования позволяет стране экономить более 11 тысяч полных рабочих дней. Ежегодно блокчейн сберегает для Эстонии 800 лет человеческого труда (в эту цифру включено не только голосование, но и обширная блокчейн-инфраструктура, развернутая во всех областях – от здравоохранения до регистраций гражданских актов и ведения бизнеса).

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

Современные представления о демократичных и честных выборах предполагают выполнение ряда простых условий:

– участие в голосовании могут принимать только те граждане, которые имеют на это право;

– один гражданин может подать только один голос;

– все поданные голоса должны быть анонимны;

– после того, как голос подан, он не может быть изменен ни на одном этапе, включая саму процедуру подсчета;

– результаты голосования должны легко проверяться.

Экосистема любого блокчейна строится на двух понятиях: монетах (токенах) и праве владения этими монетами. Единственная операция, возможная в блокчейне — это передача монеты от одного собственника другому (это и называется транзакцией).

Технология блокчейна заточена на обеспечение трех правил, таких же элементарных, что и сами ключевые понятия (монеты и право владения):

– пользователь может совершать транзакции только тех монет, которыми владеет;

– пользователь не может перевести одну и ту же монету дважды (совершить т.н. двойную транзакцию);

– после совершения транзакции ее невозможно отыграть обратно.

Вот так вот все просто. Самое же потрясающее: на  основании этих элементарных правил можно формализировать практически любую социальную активность человека!

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

Транзакция №1: Пользователь (=избиратель) подтверждает свое право владения (=право участвовать в голосовании) и в обмен на это право получает от системы 1 монету;

Транзакция №2: Пользователь передает свою монету другому пользователю (=кандидату на выборах, за которого он хочет проголосовать).

Это и есть вся процедура голосования! Задача блокчейна — обеспечить уже нам знакомые стандартные условия: подтвердить право избирателя на голос (= владение монетой); проследить, чтобы не было двойной транзакции (=одна и та же монета не была переведена двум разным кандидатам); устранить связь между пользователем и его транзакцией (=обеспечить анонимность), обеспечить невозможность внесения изменения в транзакцию (=акт подачи голоса за одного кандидата) после того, как эта транзакция попала в блокчейн (=систему голосования).

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

Остаются два условия из списка идеального голосования: полная проверяемость транзакций в блокчейне (=результатов голосования) и отсутствие связи между собственником монеты и совершенной им транзакцией (=анонимность голосования).

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

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

Глобально блокчейны бывают инклюзивными (то есть такими, которые не требуют ничьего разрешения для подключения и участия) и эксклюзивными (в них к контролю допущены только официально уполномоченные участники системы).

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

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

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

В любой момент мы можем открыть в интернете т.н. эксплорер блокчейна криптовалюты (например, биткоина или Etherium, на клоне которого проводилось московское голосование) и посмотреть отчет в реальном времени по всем транзакциям! То есть, мы видим, кто, кому, когда и сколько монет перевел.

Чего мы не видим, так это имен пользователей, совершивших переводы. Вместо этих имен у нас есть адреса их кошельков. На выборах, организованных ДИТ, мы не видели вообще ничего: ни адресов, ни транзакций, ни размера кошельков кандидатов. Все было закрыто и именно это обстоятельство позволило особо эмоциональным экспертам говорить, что блокчейном в эксперименте не пахло.

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

Остается вопрос с анонимностью голосования. Проблема в том, что «старые» блокчейны —  тот же биткоин, и Etherium — вопреки популярному никакой подлинной анонимности не обеспечивают. Как я уже сказал, все транзакции в этих системах доступны для всеобщего обозрения и единственная «анонимность» заключается в связи между реальным именем пользователя и его адресом, который отражается в каждой совершенной им транзакции, зафиксированной в блокчейне.

Существует множество способов эту связь между именем и адресом восстановить. По этой, кстати, причине всех покупателей и торговцев наркотиками и оружием, которые по наивности расплачивались биткоинами в 2012 – 2015 г.г. на подпольных площадках в Даркнете, заинтересованные структуры давно взяли на заметку и теперь в свое удовольствие отслеживают схемы поставок и распространения.

Блокчейн-голосование на выборах в Мосгордуму проводилось, насколько известно, на клоне Etherium, который не анонимен, а псевдонимен, поэтому о выполнении одного из ключевых условий полноценного голосования говорить не приходится. Тем более, что блокчейн еще и был эксклюзивным, то есть закрытым.

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

В расширенных рамках самой технологии имеются также принципиальные решения вопроса анонимности. Существует дюжина алгоритмов, обеспечивающих не условную, а бескомпромиссную анонимность. Эти решения такого уровня, что, глядя на транзакции в блокчейне (= результаты голосования), с уверенностью можно сказать только то, что эти транзакции валидны (то есть совершены теми, кто имел право голоса). Больше ничего: любые связи этих транзакций с теми, кто их совершал, полностью и необратимо разрушены.

Для достижения подобной эффективности даже не  обязательно использовать самые современные технологии вроде MimbleWimble. Вполне сойдет алгоритм смешения монет (coin mixing), или того лучше — любой протокол из арсенала доказательств с нулевым разглашением. Как-никак анонимную монету Zcash запустили еще в 2016 году.

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

Недавно швейцарская компания Luxoft отчиталась о блестящих результатах блокчейн-голосования, проведенного в тестовом режиме в городе Цуг. Эксперимент проходил на фоне опросов общественного мнения, согласно которым 80 % жителей Цуга приветствовали технологию блокчейна и идею перевода на нее всех голосований в будущем.

В подобном контексте говорить об экономических и политических преимуществах блокчейн-голосований вполне уместно.

В нашей стране уровень доверия к любой форме компьютерного вмешательства в процедуру голосования (после близкого знакомства с работой системы ГАС «Выборы») — нуль. Уровень доверия к иноземному подрывному мухомору (= блокчейну) — ниже нуля.

На таком психологическом фоне заикаться о политической (тем более — экономической) пользе блокчейн-голосований можно либо по недомыслию, либо ради освоения фондов. 

Усилия государства и общества должны направляться на восстановление доверия к технологиям, дискредитированным кривыми имплементациями. Популяризировать, объяснять на пальцах, терпеливо развивать интерес и прививать доверие к блокчейну, с которым связывают свое будущее все технологически развитые государства — вот задача максимум на обозримое будущее. 

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

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

Мутная технология