Восьмого сентября мы провели в трех избирательных округах — в Чертаново, Бибирево и в Зеленограде — электронное голосование в Мосгордуму.
У этого голосования было сразу две особенности. Во-первых, выбрать своего кандидата можно было не выходя из дома, а во-вторых, в процессе мы использовали технологию блокчейн: она обеспечивает анонимность и прозрачность процесса.
Ниже — рассказ о том, как мы тестировали систему и доводили ее до совершенства.

Дисклеймер
В нашем материале мы описываем непосредственно сам процесс электронного голосования, этапы тестирования и практическое применение технологии блокчейн.
Процесс организации голосования (выбор дат, списка кандидатов, их назначение по итогам выборов) не относится к вопросам создания системы, поэтому не раскрывается в данной статье.
Технические подробности реализации других систем мы раскрываем в меньшей степени по нескольким причинам.
Во-первых, мы — это структурное подразделение ДИТа, которое разрабатывает технологию блокчейн в рамках системы голосования.
Во-вторых, нам интересно поделиться историей создания системы «с нуля», а не рассказывать о компонентах, которые существуют уже давно и преимущественно дорабатываются и интегрируются в общие процессы.
Разработанная нами система голосования на блокчейне — это экспериментальный проект. Поэтому во время сентябрьских выборов к ней не предъявлялись требования, характерные для систем, которые уже находятся в промышленной эксплуатации.
Зачем и как создавался проект
Функциональным заказчиком блокчейн-проекта выступил ЦИК — орган, который отвечает за проведение всех выборов на территории РФ. Основной целью было проведение экспериментального голосования, публичного и абсолютно прозрачного.
Блокчейн стал основой для эксперимента по нескольким причинам. Для начала, с помощью шифрования на блокчейне кодируются промежуточные результаты, а использование электронных подписей гарантирует секретность и анонимность избирателя. Вторая причина — высокий уровень доверия к блокчейну со стороны ИТ-специалистов. Кроме того, эта технология с 2017 года меняет принципы работы во многих отраслях — от юридической до финансовой, гарантирует прозрачность всех транзакций, которые невозможно подделать.
После того как в конце мая вышел федеральный закон, регулирующий ход электронного голосования на выборах в Мосгордуму, мы приступили к разработке системы. Источником финансирования проекта был исключительно внутренний бюджет департамента.
В это же время Общественная палата создала техническую рабочую группу, специалисты которой оценивали нашу работу и активно участвовали в разработке решения. Мы еженедельно получали фидбэк и обсуждали возможные корректировки работы системы после ее тестирования. По мере приближения сентябрьского голосования встречи проводились еще чаще.
Создание системы дистанционного голосования на блокчейне стало в России прецедентом. Главная трудность для нас заключалась не столько в применении новой технологии, сколько в том, чтобы наша разработка соответствовала всем требованиям законодательства, в том числе имела публичную прозрачность и открытость.
Мы отдаем себе отчет в том, что наше решение не является тру-блокчейном. Чтобы оно стало таковым, правильным было бы сделать открытый блокчейн с возможностью разворачивания своего узла сети жителями с активной позицией, общественными организациями, политическими партиями. Также важна возможность отправки «слепков» данных в публичную сеть, например, Ethereum. Но эти доработки затрагивают огромное число законодательных и нормативных вопросов, на решение которых у нас не было времени. Это был эксперимент, основной целью которого было протестировать гипотезу о применимости технологии. В таких условиях мы стремились сделать решение максимально надежным и отказоустойчивым.
Кирилл Поляков, руководитель продукта «Блокчейн», ДИТ Москвы
Чтобы открыто рассказывать профессиональному сообществу о нашей работе, мы размещали код в мастер на GitHub.
Все данные мы старались выгружать максимально быстро, по мере получения информации от каждой из команд разработчиков. Полный код появился на веб-сервисе 6 сентября — за два дня до официальных выборов в Мосгордуму.
Всего над проектом трудилось больше 10 распределенных команд (около 100 человек) внутри ДИТа без привлечения сторонних специалистов. Из-за сложности задачи мы решили, что каждая из команд будет заниматься разработкой решения в своей части, а на последнем этапе мы сведем все системы воедино с помощью интеграционных, нагрузочных и многофункциональных тестирований.
Основной пласт работы пришелся на взаимодействие с площадкой для проведения выборов — сайтом mos.ru. Поскольку он объединяет множество информационных систем, то одна команда занималась вопросами авторизации, другая — идентификацией пользователей, третья — транспортом, четвертая — самой «услугой» голосования.
Следует сказать, что к этому времени у нас уже имелся опыт реализации блокчейн-проектов: эта технология, в частности, используется на площадке «Активный гражданин» (уже 2 года в действии) и при подаче заявок на ярмарки выходного дня.
Как это работает
Перед началом голосования пользователь мог ознакомиться с тем, как организован весь процесс, на специальной посадочной странице.
Для участия в голосовании нужно было оставить заявку на включение в реестр избирателей на сайте mos.ru.
Во время обработки заявки все необходимые данные, которые указал избиратель, проходят проверку.
После этого он получает результат рассмотрения в личном кабинете. Если данные заявителя достоверны и соответствуют условиям включения в реестр электронных избирателей, то вся процедура занимает в среднем 3 дня.
Полный список полей для включения в реестр избирателей
  • фамилия;
  • имя;
  • отчество;
  • дата рождения;
  • мобильный телефон;
  • СНИЛС;
  • серия и номер паспорта;
  • дата выдачи;
  • код подразделения;
  • кем выдан;
  • место рождения;
  • адрес дома по месту регистрации;
  • квартира.
Для участия в электронном голосовании 8 сентября избиратели должны были подать заявку с 24 июля по 4 сентября.
Валидация данных проводилась не нами, а органами власти, которые верифицируют ту или иную информацию. Например, данные СНИЛС проверяет ФМС, номер паспорта — МВД, адрес регистрации — БТИ.
После того как пользователи вводили свои данные, они передавались по каналу межведомственного взаимодействия СМЭФ в соответствующие органы власти, проходили этап верификации и в автоматизированном порядке приходили в ДИТ.
Мы разработали сервис, который анализирует ответы всех ведомств и, исходя из суммы положительных ответов («данные верны»), включает или не включает человека в реестр избирателей.
Каждый отказ наши сотрудники проверяли вручную. Риска ошибочного ввода данных не было, так как в голосовании могли участвовать только владельцы подтвержденных аккаунтов на mos.ru.
Тем не менее человеку могли отказать в регистрации на онлайн-голосование, например, из-за того, что он сменил фамилию или адрес регистрации, но эта информация не была обновлена в его профиле на сайте. В этих случаях (их было около сотни) наша команда по идентификации пользователей занималась ручной проверкой данных, общалась с органами власти, отказавшими в верификации пользователя, выявляла причины несоответствия и устраняла их.
После проверки избиратель включается в реестр электронных избирателей, а его заявка в личном кабинете получает соответствующий статус.
В день голосования избиратель переходит в раздел «Услуги» электронных выборов и получает доступ к форме голосования.
До перехода на эту форму ему предлагается скачать бланк бюллетеня и ознакомиться с ним, но этот шаг можно пропустить.
Бюллетень может не поместиться на экране целиком, а пользователь может этого не заметить. Поэтому сначала форма голосования обязательно отображается в режиме показа полной страницы бюллетеня на экране — таково требование законодательства.
Только потом бюллетень отображается на ширину страницы, и можно начинать голосовать. Избиратель проставляет галочки напротив выбранных вариантов ответа и нажимает «Проголосовать».
После общения с технической рабочей группой появилось дополнительное требование к системе — избирателю нужна была возможность проверить, как учитывается его голос в блокчейне.
Мы протестировали фичу с возможностью сохранения идентификатора транзакций, но в результате решили отказаться от нее на сентябрьских выборах: на наш взгляд, фича могла бы стать потенциальным вектором для манипуляции избирательным правом. Например, могли возникнуть ситуации, когда начальство принуждает сотрудников подтвердить их участие в выборах с помощью скриншота и т. д.
Архитектура решения
Система состоит из нескольких компонентов, которые размещаются в разных подсистемах города Москвы.
Авторизация через ПГУ (Портал государственных услуг или раздел услуг mos.ru) — привычный способ получения услуг для москвичей.
С технической точки зрения, mos.ru — это совокупность информационных систем, интегрированных между собой и осуществляющих обмен данными на основании различных протоколов информационного обмена.
Мы решили использовать mos.ru как площадку для нашего решения не только ради удобства для избирателей, но и из-за законодательных особенностей. Онлайн-голосование в данном случае — это юридически значимая услуга, ответственность за проведение которой лежит в том числе на исполнительной власти Москвы.
Именно поэтому ни одна внешняя площадка не может авторизовать пользователя для участия в муниципальных выборах: все данные избирателей хранятся в системах разных государственных органов.
Избиратель мог обратиться в территориальную избирательную комиссию (ТИК) и участвовать в привычном, «бумажном», а не электронном голосовании.
Сквозную авторизацию пользователей на порталах города Москвы осуществляет СУДИР — Система управления доступом к информационным системам и ресурсам города Москвы. Именно через СУДИР проходит аутентификация, авторизация и верификация пользователя на сайте mos.ru.
Система управления данными пользователей Master Data Management (МДМ) обеспечивает прохождение информации о голосовании к блокчейну с использованием API. Во время голосования МДМ используется для передачи данных, основанных на результатах проверки допуска пользователя к голосованию.
Автоматизированная система государственных услуг и функций (АСГУФ) возвращает результаты обращения пользователя к странице государственной услуги. С помощью АСГУФ пользователь переадресуется на бюллетень для голосования.
Анонимайзер генерирует ссылку и доступ к анонимному бюллетеню через личный кабинет mos.ru: такая ссылка создается всего один раз. Код формы голосования выглядит так.
Блокчейн обеспечивает сохранение данных в ходе голосования и их интерпретацию по завершении голосования. Он размещается в отдельном защищенном сегменте сети внутри центра обработки данных (ЦОД ДИТ).
Система печати бюллетеней отвечает за вывод данных на ленту в ходе голосования.
И блокчейн, и система печати бюллетеней — это новые системы, которые никогда раньше не использовались в работе с пользователями mos.ru. Данные компоненты разрабатывались специально для голосования, поэтому являются узкоспециализированными.
Как взаимодействуют элементы системы
Взаимодействие всех компонентов системы проходит в несколько этапов.
Сначала пользователь оставляет заявку на включение в реестр избирателей. Данные в его заявке верифицируют ведомственные системы, МДМ и АСГУФ.
Когда проверка заканчивается, пользователь получает результат рассмотрения заявки в личном кабинете.
Если пользователь получает отказ во включении в реестр избирателей, то он, скорее всего, либо ошибся в данных, либо указанные им данные не соответствуют фактическим. Отказ в получении услуг отображается как статус в личном кабинете пользователя.
Если включение в реестр прошло успешно, то пользователь принимает участие в голосовании.
Как устроена работа в блокчейне
Процесс электронного голосования в блокчейне включает несколько дополнительных элементов.
Экран параметров голосования (дэшборд) отображает текущие параметры хода голосования из блокчейна и смежных систем.
АРМ председателя участковой избирательной комиссии (УИК) позволяет председателю в режиме реального времени мониторить списки избирателей, зарегистрированных на электронные выборы.
Принтеры для печати бюллетеней работают по принципу кассового аппарата: на термоленту наносятся результаты голосования каждого отдельного избирателя, потом принтер обрезает их, они попадают в ящик для сбора бюллетеней.
До начала голосования на принтер загружается конфигурационный файл, который определяет, какие поля выводятся на печать и какая длина должна быть у бюллетеня.
Устройства печатают результаты электронного голосования, так как бумажное подтверждение — это требование закона: для проверки голоса можно пересчитать вручную.
Во время выборов 8 сентября на избирательных участках стояло 3 типа принтеров. Первый печатал информацию о факте получения избирателем бюллетеня, второй фиксировал факт голосования в зашифрованном виде, а третий по завершении голосования публиковал расшифрованные голоса. Все принтеры были опечатаны на весь день голосования — это обеспечивало безопасность распечатанных данных.
Как хранятся данные в блокчейне
Код смарт-контрактов выглядит следующим образом. В процессе работы в блокчейне создается 2 реестра: один из них — так называемый «реестр избирателей», а второй — «реестр бюллетеней».
Первый помогает проверить и сравнить количество избирателей, принявших участие в выборах, с количеством избирателей, подавших свои заявки на участие в выборах. Второй представляет собой цифровой аналог ящика для голосования, в который «падают» бюллетени. Там они хранятся в зашифрованном виде до момента завершения голосования. С помощью этого реестра также можно проверить, соответствует ли количество людей, принявших участие в голосовании, количеству избирателей из реестра избирателей.
Как мы тестировали систему
Всего мы провели четыре предварительных тестирования с участием жителей Москвы и одно открытое тестирование для программистов и специалистов по информационной безопасности. Расскажем о наиболее показательных случаях.
11 июля 2019 года в тестировании участвовали студенты 93 московских вузов, которые выбирали лучшего председателя студенческого совета города.
Ориентировочно в 16:30 мы зафиксировали высокую пользовательскую активность, связанную с DDOS-атакой на форму голосования. Как оказалось позже, один из студентов с опытом веб-разработки попытался обмануть систему: с ХХ IP-адресов он отправил YY запросов с попыткой подобрать IP-адрес формы голосования. Но так как у каждого бюллетеня есть своя уникальная URL-ссылка, то ее просто невозможно подобрать.
Попытку вмешательства в процесс выборов мы пресекли с помощью внутренней системы безопасности: она заблокировала сетевую связность между компонентами. На избирательном участке это выглядело следующим образом: в указанный промежуток времени принтеры перестали печатать бюллетени, при этом в личных кабинетах голосовавших никаких сбоев не возникло. Голоса принимались вплоть до 20:00.
Бюллетени, поступившие в систему в промежуток с 16:30 до 20:00, находились в очереди в блокчейне и не записывались. К моменту завершения голосования разработчики справились с причиной нарушения сетевой связности и восстановили взаимодействие между компонентами системы. Тогда очередь дошла до голосов в блокчейне, и все они были успешно зафиксированы.
После мы запустили расшифровку голосов, параллельно контролируя корректность декодирования информации. Мы также провели дополнительную проверку соответствия количества «зависших» и расшифрованных голосов: разобрали бюллетени вручную и сопоставили их количество по размеру стопок.
При разборе бюллетеней мы также просматривали номера блоков и время их печати. Так мы оценили соответствие объема поданных голосов с их распределением по времени.
При проектировании архитектуры блокчейн-решения мы отталкивались от существующего процесса голосования. Мы поставили перед собой задачу переложить бизнес-функции, которые решает процесс голосования, на то, что умеет делать блокчейн. Именно так и родились «реестр избирателей» и «реестр бюллетеней», по сути, повторяющие привычные для бумажного голосования сущности. Решение получилось простым и в то же время надежным. Мы получили ценную обратную связь по результатам публичных тестирований и голосования 8 сентября, которую мы обязательно будем использовать для дальнейшего развития проекта.
Андрей Бороденков, руководитель проектов, продукт «Блокчейн», ДИТ Москвы
К моменту открытого тестирования системы мы разобрали ошибки июльского эксперимента и конфигурировали систему с учетом проблемы блокировки сетевой связности. В этот раз мы создали отдельный тестовый контур, полностью воспроизводящий систему, в которой голосовали пользователи 8 сентября. Мы также опубликовали документ с пятью сценариями тестирования, которые моделировали основные риски в процессе голосования, чтобы выявить уязвимые места в системе электронного голосования и повысить информационную безопасность.
В рамках этого тестирования Общественная палата объявила международный конкурс на взлом нашей системы с денежным вознаграждением в случае успеха. Более 40 независимых экспертов по информационной безопасности и криптографии смогли проверить защиту инфраструктуры портала mos.ru и серверов от возможных DDoS-атак, протестировать алгоритмы шифрования.
В начале эксперимента мы размещали на GitHub папку с зашифрованными данными и открытым ключом шифрования, а через 12 часов — расшифрованные данные и закрытый ключ. Задача участников заключалась в том, чтобы опередить выкладку данных.
Дальше всех продвинулся французский криптограф Пьеррик Годри. Он обнаружил, что приватный ключ 256×3 не обеспечивал достаточную стойкость шифрования, и выложил математический код, который осуществляет расшифровку данных. Но при этом он не выполнил основное условие — взломать систему за 12 часов.
После публикации доклада и рекомендаций к длине ключа шифрования, которые он дал, мы увеличили приватный ключ шифрования в 4 раза — до 1024 бит. Как уже упоминалось, фактический взлом системы онлайн-голосования не состоялся, однако за свои рекомендации Годри получил приз в 1 миллион рублей. Вторую половину призового фонда разделили другие участники эксперимента: они сделали важные замечания по работе формы и выявили потенциальные уязвимости системы.
Во время тестирования, проходившего 21 августа, мы решили устроить небольшой краш-тест для нашей системы и отработали сценарии, имитирующие разные виды сбоев.
Сначала мы сымитировали перебои с электричеством и отключение интернет-сети в помещении избирательного участка. Члены комиссии перестали получать данные о голосах участников эксперимента, хотя они продолжали поступать в систему — после устранения проблемы все данные поступили, их удалось распечатать.
После этого мы воспроизвели ошибку, при которой связь пропадает внутри самой системы. Пользователи неполадок не заметили, продолжили получать бюллетени и голосовать. Однако эксперты отметили, что статистика голосов перестала обновляться. После устранения неполадок все оставленные в очереди голоса дошли до блокчейн-сети и были учтены системой.
Потом мы посчитали бюллетени и сравнили данные с количеством проголосовавших в системе. Итоговые цифры полностью сошлись.
Как работала система в день выборов
В каждом из округов, где проходило электронное голосование — в Чертанове, Бибиреве и Зеленограде — была своя участково-избирательная комиссия и присутствовало по одному сотруднику из ДИТа для оперативной поддержки в ходе работы.
Избиратели на всех участках пользовались компьютерами, закрытыми ширмой, если у них не получилось проголосовать дома. В основном этот способ выбрали люди с невысокой компьютерной грамотностью и технические специалисты, которые хотели вживую увидеть оборудование для электронного голосования.
В течение всего дня система электронного голосования работала стабильно, за исключением одного часа, но мы смогли оперативно устранить неполадку. В итоге из тех, кто столкнулся с трудностями из-за сбоя, 85% (462 избирателя) после нашего уведомления вернулись к системе, получили бюллетени и проголосовали.
Проблема возникла в процессе взаимодействия компонентов, обеспечивающих шифрование на одном из этапов выдачи электронного бюллетеня. Она носила абсолютно технический характер без какого-либо внешнего воздействия на эту часть инфраструктуры: это была не проблема сетевого доступа или настроек оборудования — иначе ни один голос в систему попросту не попал бы.
Сейчас мы вместе с производителями средства шифрования, компанией «КриптоПро», анализируем ситуацию и продолжаем разбираться в причинах сбоя. Точного ответа на вопрос, что случилось, у нас пока нет.
Все жалобы и обращения, которые приходили в этот день, мы обработали индивидуально в ручном режиме с помощью технической поддержки. Для этого мы предварительно разработали многоканальную систему обработки сообщений, состоящую из следующих компонентов:
  • Служба операторов. Избиратели могли обратиться к нам за помощью по общегородскому номеру 7777777 или же по отдельной линии с голосовыми операторами. Мы создали базу знаний на основании 43 вопросов, которые перед голосованием поступили нам на электронную почту, добавили еще несколько потенциальных вариантов и обучили наших сотрудников.
  • Форма обратной связи на mos.ru.
  • Электронный адрес support-vybory@mos.ru.
За все время наши специалисты зафиксировали всего 48 смс о доступе на форму голосования, которые были доставлены адресату не с первого раза. В каждом из случаев мы все проговорили с избирателем лично и помогли ему в работе с системой.
В день голосования мы оповещали о приостановке голосования из-за технического сбоя и о возобновлении процесса, а также отправили приглашения к голосованию в конце дня. Окончательная явка по итогам дня составила 92,3%.
Промежуточные итоги
Мы понимаем, что сейчас наша система голосования выглядит не совсем как классический блокчейн-кейс, так как она контролируется со стороны органов исполнительной власти. Тем не менее это наш первый эксперимент и большой шаг навстречу «прозрачной» технологии в ее идеальном представлении.
Пока сложно представить систему голосования на государственном уровне, которая не нуждается в централизованной проверке со стороны органов власти. Также определенные вопросы вызывает стабильность публичных сетей, если говорить о возможной интеграции системы с популярными блокчейн-сетями вроде Bitcoin и Ethereum.
Что дальше
Следующим этапом нашего экспериментального проекта станет электронное голосование в Троицке, которое пройдет с 15 по 16 декабря. Жители округа проголосуют, где лучше построить новую станцию метро.
По формату электронное голосование будет идентично сентябрьским выборам депутатов в Московскую Государственную Думу.
В день голосования в московской Общественной палате установят принтеры для печати зашифрованных голосов и экран для отображения динамики процесса электронного голосования, здесь же разместится группа наблюдателей. В Троицке разместят пункты электронного голосования, оснащенные АРМами для участников голосования.
Всю техническую поддержку при регистрации на участие и непосредственно в процессе голосования мы возьмем на себя: голосующим помогут наши служба технической поддержки и call-центр.
В 2020 году мы посвятим еще больше времени развитию уже существующих блокчейн-решений в Москве. В столице ДИТ применяет эту технологию уже два года, но сейчас это только пилотные проекты, а в новом году мы хотим выпускать решения на настоящем, «трушном» блокчейне. В будущем мы бы хотели дать участникам взаимодействия возможность включать данные в сеть и размещать узлы.
Мы также рассматриваем возможность последовать рекомендациям Виталика Бутерина, которые он дал команде ДИТа в Твиттере, и, быть может, сделать anchoring данных в Ethereum. Публичная сеть могла бы гарантировать неизменяемость данных в связанной с ней системе, а аудируемость информации осуществлялась бы в форк этой сети в органе власти.
Мы также с интересом наблюдаем за созданием блокчейнов третьего поколения, способных обмениваться данными между собой. На наш взгляд, у этого тренда есть большой потенциал, который добавит технологии еще больше доверия со стороны специалистов.
Восьмого сентября мы провели в трех избирательных округах — в Чертаново, Бибирево и в Зеленограде — электронное голосование в Мосгордуму.
У этого голосования было сразу две особенности. Во-первых, выбрать своего кандидата можно было не выходя из дома, а во-вторых, в процессе мы использовали технологию блокчейн: она обеспечивает анонимность и прозрачность процесса.
Ниже — рассказ о том, как мы тестировали систему и доводили ее до совершенства.

Дисклеймер
В нашем материале мы описываем непосредственно сам процесс электронного голосования, этапы тестирования и практическое применение технологии блокчейн.
Процесс организации голосования (выбор дат, списка кандидатов, их назначение по итогам выборов) не относится к вопросам создания системы, поэтому не раскрывается в данной статье.
Технические подробности реализации других систем мы раскрываем в меньшей степени по нескольким причинам.
Во-первых, мы — это структурное подразделение ДИТа, которое разрабатывает технологию блокчейн в рамках системы голосования.
Во-вторых, нам интересно поделиться историей создания системы «с нуля», а не рассказывать о компонентах, которые существуют уже давно и преимущественно дорабатываются и интегрируются в общие процессы.
Разработанная нами система голосования на блокчейне — это экспериментальный проект. Поэтому во время сентябрьских выборов к ней не предъявлялись требования, характерные для систем, которые уже находятся в промышленной эксплуатации.
Зачем и как создавался проект
Функциональным заказчиком блокчейн-проекта выступил ЦИК — орган, который отвечает за проведение всех выборов на территории РФ. Основной целью было проведение экспериментального голосования, публичного и абсолютно прозрачного.
Блокчейн стал основой для эксперимента по нескольким причинам. Для начала, с помощью шифрования на блокчейне кодируются промежуточные результаты, а использование электронных подписей гарантирует секретность и анонимность избирателя. Вторая причина — высокий уровень доверия к блокчейну со стороны ИТ-специалистов. Кроме того, эта технология с 2017 года меняет принципы работы во многих отраслях — от юридической до финансовой, гарантирует прозрачность всех транзакций, которые невозможно подделать.
После того как в конце мая вышел федеральный закон, регулирующий ход электронного голосования на выборах в Мосгордуму, мы приступили к разработке системы. Источником финансирования проекта был исключительно внутренний бюджет департамента.
В это же время Общественная палата создала техническую рабочую группу, специалисты которой оценивали нашу работу и активно участвовали в разработке решения. Мы еженедельно получали фидбэк и обсуждали возможные корректировки работы системы после ее тестирования. По мере приближения сентябрьского голосования встречи проводились еще чаще.
Создание системы дистанционного голосования на блокчейне стало в России прецедентом. Главная трудность для нас заключалась не столько в применении новой технологии, сколько в том, чтобы наша разработка соответствовала всем требованиям законодательства, в том числе имела публичную прозрачность и открытость.
Мы отдаем себе отчет в том, что наше решение не является тру-блокчейном. Чтобы оно стало таковым, правильным было бы сделать открытый блокчейн с возможностью разворачивания своего узла сети жителями с активной позицией, общественными организациями, политическими партиями. Также важна возможность отправки «слепков» данных в публичную сеть, например, Ethereum. Но эти доработки затрагивают огромное число законодательных и нормативных вопросов, на решение которых у нас не было времени. Это был эксперимент, основной целью которого было протестировать гипотезу о применимости технологии. В таких условиях мы стремились сделать решение максимально надежным и отказоустойчивым.
Кирилл Поляков, руководитель продукта «Блокчейн», ДИТ Москвы
Чтобы открыто рассказывать профессиональному сообществу о нашей работе, мы размещали код в мастер на GitHub.
Все данные мы старались выгружать максимально быстро, по мере получения информации от каждой из команд разработчиков. Полный код появился на веб-сервисе 6 сентября — за два дня до официальных выборов в Мосгордуму.
Всего над проектом трудилось больше 10 распределенных команд (около 100 человек) внутри ДИТа без привлечения сторонних специалистов. Из-за сложности задачи мы решили, что каждая из команд будет заниматься разработкой решения в своей части, а на последнем этапе мы сведем все системы воедино с помощью интеграционных, нагрузочных и многофункциональных тестирований.
Основной пласт работы пришелся на взаимодействие с площадкой для проведения выборов — сайтом mos.ru. Поскольку он объединяет множество информационных систем, то одна команда занималась вопросами авторизации, другая — идентификацией пользователей, третья — транспортом, четвертая — самой «услугой» голосования.
Следует сказать, что к этому времени у нас уже имелся опыт реализации блокчейн-проектов: эта технология, в частности, используется на площадке «Активный гражданин» (уже 2 года в действии) и при подаче заявок на ярмарки выходного дня.
Как это работает
Перед началом голосования пользователь мог ознакомиться с тем, как организован весь процесс, на специальной посадочной странице.
Для участия в голосовании нужно было оставить заявку на включение в реестр избирателей на сайте mos.ru.
Во время обработки заявки все необходимые данные, которые указал избиратель, проходят проверку.
После этого он получает результат рассмотрения в личном кабинете. Если данные заявителя достоверны и соответствуют условиям включения в реестр электронных избирателей, то вся процедура занимает в среднем 3 дня.
Полный список полей для включения в реестр избирателей
  • фамилия;
  • имя;
  • отчество;
  • дата рождения;
  • мобильный телефон;
  • СНИЛС;
  • серия и номер паспорта;
  • дата выдачи;
  • код подразделения;
  • кем выдан;
  • место рождения;
  • адрес дома по месту регистрации;
  • квартира.
Для участия в электронном голосовании 8 сентября избиратели должны были подать заявку с 24 июля по 4 сентября.
Валидация данных проводилась не нами, а органами власти, которые верифицируют ту или иную информацию. Например, данные СНИЛС проверяет ФМС, номер паспорта — МВД, адрес регистрации — БТИ.
После того как пользователи вводили свои данные, они передавались по каналу межведомственного взаимодействия СМЭФ в соответствующие органы власти, проходили этап верификации и в автоматизированном порядке приходили в ДИТ.
Мы разработали сервис, который анализирует ответы всех ведомств и, исходя из суммы положительных ответов («данные верны»), включает или не включает человека в реестр избирателей.
Каждый отказ наши сотрудники проверяли вручную. Риска ошибочного ввода данных не было, так как в голосовании могли участвовать только владельцы подтвержденных аккаунтов на mos.ru.
Тем не менее человеку могли отказать в регистрации на онлайн-голосование, например, из-за того, что он сменил фамилию или адрес регистрации, но эта информация не была обновлена в его профиле на сайте. В этих случаях (их было около сотни) наша команда по идентификации пользователей занималась ручной проверкой данных, общалась с органами власти, отказавшими в верификации пользователя, выявляла причины несоответствия и устраняла их.
После проверки избиратель включается в реестр электронных избирателей, а его заявка в личном кабинете получает соответствующий статус.
В день голосования избиратель переходит в раздел «Услуги» электронных выборов и получает доступ к форме голосования.
До перехода на эту форму ему предлагается скачать бланк бюллетеня и ознакомиться с ним, но этот шаг можно пропустить.
Бюллетень может не поместиться на экране целиком, а пользователь может этого не заметить. Поэтому сначала форма голосования обязательно отображается в режиме показа полной страницы бюллетеня на экране — таково требование законодательства.
Только потом бюллетень отображается на ширину страницы, и можно начинать голосовать. Избиратель проставляет галочки напротив выбранных вариантов ответа и нажимает «Проголосовать».
После общения с технической рабочей группой появилось дополнительное требование к системе — избирателю нужна была возможность проверить, как учитывается его голос в блокчейне.
Мы протестировали фичу с возможностью сохранения идентификатора транзакций, но в результате решили отказаться от нее на сентябрьских выборах: на наш взгляд, фича могла бы стать потенциальным вектором для манипуляции избирательным правом. Например, могли возникнуть ситуации, когда начальство принуждает сотрудников подтвердить их участие в выборах с помощью скриншота и т. д.
Архитектура решения
Система состоит из нескольких компонентов, которые размещаются в разных подсистемах города Москвы.
Авторизация через ПГУ (Портал государственных услуг или раздел услуг mos.ru) — привычный способ получения услуг для москвичей.
С технической точки зрения, mos.ru — это совокупность информационных систем, интегрированных между собой и осуществляющих обмен данными на основании различных протоколов информационного обмена.
Мы решили использовать mos.ru как площадку для нашего решения не только ради удобства для избирателей, но и из-за законодательных особенностей. Онлайн-голосование в данном случае — это юридически значимая услуга, ответственность за проведение которой лежит в том числе на исполнительной власти Москвы.
Именно поэтому ни одна внешняя площадка не может авторизовать пользователя для участия в муниципальных выборах: все данные избирателей хранятся в системах разных государственных органов.
Избиратель мог обратиться в территориальную избирательную комиссию (ТИК) и участвовать в привычном, «бумажном», а не электронном голосовании.
Сквозную авторизацию пользователей на порталах города Москвы осуществляет СУДИР — Система управления доступом к информационным системам и ресурсам города Москвы. Именно через СУДИР проходит аутентификация, авторизация и верификация пользователя на сайте mos.ru.
Система управления данными пользователей Master Data Management (МДМ) обеспечивает прохождение информации о голосовании к блокчейну с использованием API. Во время голосования МДМ используется для передачи данных, основанных на результатах проверки допуска пользователя к голосованию.
Автоматизированная система государственных услуг и функций (АСГУФ) возвращает результаты обращения пользователя к странице государственной услуги. С помощью АСГУФ пользователь переадресуется на бюллетень для голосования.
Анонимайзер генерирует ссылку и доступ к анонимному бюллетеню через личный кабинет mos.ru: такая ссылка создается всего один раз. Код формы голосования выглядит так.
Блокчейн обеспечивает сохранение данных в ходе голосования и их интерпретацию по завершении голосования. Он размещается в отдельном защищенном сегменте сети внутри центра обработки данных (ЦОД ДИТ).
Система печати бюллетеней отвечает за вывод данных на ленту в ходе голосования.
И блокчейн, и система печати бюллетеней — это новые системы, которые никогда раньше не использовались в работе с пользователями mos.ru. Данные компоненты разрабатывались специально для голосования, поэтому являются узкоспециализированными.
Как взаимодействуют элементы системы
Взаимодействие всех компонентов системы проходит в несколько этапов.
Сначала пользователь оставляет заявку на включение в реестр избирателей. Данные в его заявке верифицируют ведомственные системы, МДМ и АСГУФ.
Когда проверка заканчивается, пользователь получает результат рассмотрения заявки в личном кабинете.
Если пользователь получает отказ во включении в реестр избирателей, то он, скорее всего, либо ошибся в данных, либо указанные им данные не соответствуют фактическим. Отказ в получении услуг отображается как статус в личном кабинете пользователя.
Если включение в реестр прошло успешно, то пользователь принимает участие в голосовании.
Как устроена работа в блокчейне
Процесс электронного голосования в блокчейне включает несколько дополнительных элементов.
Экран параметров голосования (дэшборд) отображает текущие параметры хода голосования из блокчейна и смежных систем.
АРМ председателя участковой избирательной комиссии (УИК) позволяет председателю в режиме реального времени мониторить списки избирателей, зарегистрированных на электронные выборы.
Принтеры для печати бюллетеней работают по принципу кассового аппарата: на термоленту наносятся результаты голосования каждого отдельного избирателя, потом принтер обрезает их, они попадают в ящик для сбора бюллетеней.
До начала голосования на принтер загружается конфигурационный файл, который определяет, какие поля выводятся на печать и какая длина должна быть у бюллетеня.
Устройства печатают результаты электронного голосования, так как бумажное подтверждение — это требование закона: для проверки голоса можно пересчитать вручную.
Во время выборов 8 сентября на избирательных участках стояло 3 типа принтеров. Первый печатал информацию о факте получения избирателем бюллетеня, второй фиксировал факт голосования в зашифрованном виде, а третий по завершении голосования публиковал расшифрованные голоса. Все принтеры были опечатаны на весь день голосования — это обеспечивало безопасность распечатанных данных.
Как хранятся данные в блокчейне
Код смарт-контрактов выглядит следующим образом. В процессе работы в блокчейне создается 2 реестра: один из них — так называемый «реестр избирателей», а второй — «реестр бюллетеней».
Первый помогает проверить и сравнить количество избирателей, принявших участие в выборах, с количеством избирателей, подавших свои заявки на участие в выборах. Второй представляет собой цифровой аналог ящика для голосования, в который «падают» бюллетени. Там они хранятся в зашифрованном виде до момента завершения голосования. С помощью этого реестра также можно проверить, соответствует ли количество людей, принявших участие в голосовании, количеству избирателей из реестра избирателей.
Как мы тестировали систему
Всего мы провели четыре предварительных тестирования с участием жителей Москвы и одно открытое тестирование для программистов и специалистов по информационной безопасности. Расскажем о наиболее показательных случаях.
11 июля 2019 года в тестировании участвовали студенты 93 московских вузов, которые выбирали лучшего председателя студенческого совета города.
Ориентировочно в 16:30 мы зафиксировали высокую пользовательскую активность, связанную с DDOS-атакой на форму голосования. Как оказалось позже, один из студентов с опытом веб-разработки попытался обмануть систему: с ХХ IP-адресов он отправил YY запросов с попыткой подобрать IP-адрес формы голосования. Но так как у каждого бюллетеня есть своя уникальная URL-ссылка, то ее просто невозможно подобрать.
Попытку вмешательства в процесс выборов мы пресекли с помощью внутренней системы безопасности: она заблокировала сетевую связность между компонентами. На избирательном участке это выглядело следующим образом: в указанный промежуток времени принтеры перестали печатать бюллетени, при этом в личных кабинетах голосовавших никаких сбоев не возникло. Голоса принимались вплоть до 20:00.
Бюллетени, поступившие в систему в промежуток с 16:30 до 20:00, находились в очереди в блокчейне и не записывались. К моменту завершения голосования разработчики справились с причиной нарушения сетевой связности и восстановили взаимодействие между компонентами системы. Тогда очередь дошла до голосов в блокчейне, и все они были успешно зафиксированы.
После мы запустили расшифровку голосов, параллельно контролируя корректность декодирования информации. Мы также провели дополнительную проверку соответствия количества «зависших» и расшифрованных голосов: разобрали бюллетени вручную и сопоставили их количество по размеру стопок.
При разборе бюллетеней мы также просматривали номера блоков и время их печати. Так мы оценили соответствие объема поданных голосов с их распределением по времени.
При проектировании архитектуры блокчейн-решения мы отталкивались от существующего процесса голосования. Мы поставили перед собой задачу переложить бизнес-функции, которые решает процесс голосования, на то, что умеет делать блокчейн. Именно так и родились «реестр избирателей» и «реестр бюллетеней», по сути, повторяющие привычные для бумажного голосования сущности. Решение получилось простым и в то же время надежным. Мы получили ценную обратную связь по результатам публичных тестирований и голосования 8 сентября, которую мы обязательно будем использовать для дальнейшего развития проекта.
Андрей Бороденков, руководитель проектов, продукт «Блокчейн», ДИТ Москвы
К моменту открытого тестирования системы мы разобрали ошибки июльского эксперимента и конфигурировали систему с учетом проблемы блокировки сетевой связности. В этот раз мы создали отдельный тестовый контур, полностью воспроизводящий систему, в которой голосовали пользователи 8 сентября. Мы также опубликовали документ с пятью сценариями тестирования, которые моделировали основные риски в процессе голосования, чтобы выявить уязвимые места в системе электронного голосования и повысить информационную безопасность.
В рамках этого тестирования Общественная палата объявила международный конкурс на взлом нашей системы с денежным вознаграждением в случае успеха. Более 40 независимых экспертов по информационной безопасности и криптографии смогли проверить защиту инфраструктуры портала mos.ru и серверов от возможных DDoS-атак, протестировать алгоритмы шифрования.
В начале эксперимента мы размещали на GitHub папку с зашифрованными данными и открытым ключом шифрования, а через 12 часов — расшифрованные данные и закрытый ключ. Задача участников заключалась в том, чтобы опередить выкладку данных.
Дальше всех продвинулся французский криптограф Пьеррик Годри. Он обнаружил, что приватный ключ 256×3 не обеспечивал достаточную стойкость шифрования, и выложил математический код, который осуществляет расшифровку данных. Но при этом он не выполнил основное условие — взломать систему за 12 часов.
После публикации доклада и рекомендаций к длине ключа шифрования, которые он дал, мы увеличили приватный ключ шифрования в 4 раза — до 1024 бит. Как уже упоминалось, фактический взлом системы онлайн-голосования не состоялся, однако за свои рекомендации Годри получил приз в 1 миллион рублей. Вторую половину призового фонда разделили другие участники эксперимента: они сделали важные замечания по работе формы и выявили потенциальные уязвимости системы.
Во время тестирования, проходившего 21 августа, мы решили устроить небольшой краш-тест для нашей системы и отработали сценарии, имитирующие разные виды сбоев.
Сначала мы сымитировали перебои с электричеством и отключение интернет-сети в помещении избирательного участка. Члены комиссии перестали получать данные о голосах участников эксперимента, хотя они продолжали поступать в систему — после устранения проблемы все данные поступили, их удалось распечатать.
После этого мы воспроизвели ошибку, при которой связь пропадает внутри самой системы. Пользователи неполадок не заметили, продолжили получать бюллетени и голосовать. Однако эксперты отметили, что статистика голосов перестала обновляться. После устранения неполадок все оставленные в очереди голоса дошли до блокчейн-сети и были учтены системой.
Потом мы посчитали бюллетени и сравнили данные с количеством проголосовавших в системе. Итоговые цифры полностью сошлись.
Как работала система в день выборов
В каждом из округов, где проходило электронное голосование — в Чертанове, Бибиреве и Зеленограде — была своя участково-избирательная комиссия и присутствовало по одному сотруднику из ДИТа для оперативной поддержки в ходе работы.
Избиратели на всех участках пользовались компьютерами, закрытыми ширмой, если у них не получилось проголосовать дома. В основном этот способ выбрали люди с невысокой компьютерной грамотностью и технические специалисты, которые хотели вживую увидеть оборудование для электронного голосования.
В течение всего дня система электронного голосования работала стабильно, за исключением одного часа, но мы смогли оперативно устранить неполадку. В итоге из тех, кто столкнулся с трудностями из-за сбоя, 85% (462 избирателя) после нашего уведомления вернулись к системе, получили бюллетени и проголосовали.
Проблема возникла в процессе взаимодействия компонентов, обеспечивающих шифрование на одном из этапов выдачи электронного бюллетеня. Она носила абсолютно технический характер без какого-либо внешнего воздействия на эту часть инфраструктуры: это была не проблема сетевого доступа или настроек оборудования — иначе ни один голос в систему попросту не попал бы.
Сейчас мы вместе с производителями средства шифрования, компанией «КриптоПро», анализируем ситуацию и продолжаем разбираться в причинах сбоя. Точного ответа на вопрос, что случилось, у нас пока нет.
Все жалобы и обращения, которые приходили в этот день, мы обработали индивидуально в ручном режиме с помощью технической поддержки. Для этого мы предварительно разработали многоканальную систему обработки сообщений, состоящую из следующих компонентов:
  • Служба операторов. Избиратели могли обратиться к нам за помощью по общегородскому номеру 7777777 или же по отдельной линии с голосовыми операторами. Мы создали базу знаний на основании 43 вопросов, которые перед голосованием поступили нам на электронную почту, добавили еще несколько потенциальных вариантов и обучили наших сотрудников.
  • Форма обратной связи на mos.ru.
  • Электронный адрес support-vybory@mos.ru.
За все время наши специалисты зафиксировали всего 48 смс о доступе на форму голосования, которые были доставлены адресату не с первого раза. В каждом из случаев мы все проговорили с избирателем лично и помогли ему в работе с системой.
В день голосования мы оповещали о приостановке голосования из-за технического сбоя и о возобновлении процесса, а также отправили приглашения к голосованию в конце дня. Окончательная явка по итогам дня составила 92,3%.
Промежуточные итоги
Мы понимаем, что сейчас наша система голосования выглядит не совсем как классический блокчейн-кейс, так как она контролируется со стороны органов исполнительной власти. Тем не менее это наш первый эксперимент и большой шаг навстречу «прозрачной» технологии в ее идеальном представлении.
Пока сложно представить систему голосования на государственном уровне, которая не нуждается в централизованной проверке со стороны органов власти. Также определенные вопросы вызывает стабильность публичных сетей, если говорить о возможной интеграции системы с популярными блокчейн-сетями вроде Bitcoin и Ethereum.
Что дальше
Следующим этапом нашего экспериментального проекта станет электронное голосование в Троицке, которое пройдет с 15 по 16 декабря. Жители округа проголосуют, где лучше построить новую станцию метро.
По формату электронное голосование будет идентично сентябрьским выборам депутатов в Московскую Государственную Думу.
В день голосования в московской Общественной палате установят принтеры для печати зашифрованных голосов и экран для отображения динамики процесса электронного голосования, здесь же разместится группа наблюдателей. В Троицке разместят пункты электронного голосования, оснащенные АРМами для участников голосования.
Всю техническую поддержку при регистрации на участие и непосредственно в процессе голосования мы возьмем на себя: голосующим помогут наши служба технической поддержки и call-центр.
В 2020 году мы посвятим еще больше времени развитию уже существующих блокчейн-решений в Москве. В столице ДИТ применяет эту технологию уже два года, но сейчас это только пилотные проекты, а в новом году мы хотим выпускать решения на настоящем, «трушном» блокчейне. В будущем мы бы хотели дать участникам взаимодействия возможность включать данные в сеть и размещать узлы.
Мы также рассматриваем возможность последовать рекомендациям Виталика Бутерина, которые он дал команде ДИТа в Твиттере, и, быть может, сделать anchoring данных в Ethereum. Публичная сеть могла бы гарантировать неизменяемость данных в связанной с ней системе, а аудируемость информации осуществлялась бы в форк этой сети в органе власти.
Мы также с интересом наблюдаем за созданием блокчейнов третьего поколения, способных обмениваться данными между собой. На наш взгляд, у этого тренда есть большой потенциал, который добавит технологии еще больше доверия со стороны специалистов.

Комментарии (70)


  1. dhaenoor
    13.12.2019 20:34
    +20

    А как же получилось вот это вот всё то, что получилось? И где плашка от НЛО? А то ведь закипело от одного только названия статьи.



  1. orcy
    13.12.2019 21:04
    +3

    Гражданин, пройдите на "посадочную страницу", пожалуйста.


  1. ru_crypt
    13.12.2019 21:26
    +5

    После того как пользователи вводили свои данные, они передавались по каналу межведомственного взаимодействия СМЭФ


    СМЭВ


  1. Nicks_TechSupport
    13.12.2019 22:06

    Эх, нам бы такую систему на муниципальные выборы 8го сентября в Петербурге!


    1. dhaenoor
      13.12.2019 22:08
      +7

      Беглов — разлогиньтесь!


      1. Nicks_TechSupport
        13.12.2019 22:21
        -4

        Что ВЫ за чушь несёте? Это профильный IT-ресурс, BigLove такие не посещает. У него даже страницу ведут другие люди!


  1. megafax
    13.12.2019 22:17
    +6

    А в чем открытость платформы выражалось, и в чем преимущества использования блокчейн платформы в вашем кейсе по сравнению с классическими решениями?


    1. DIT
      16.12.2019 12:11
      -3

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

      На текущий момент в РФ отсутствуют какие-либо другие легитимные решения для электронного голосования, поэтому какое-либо сравнение невозможно.


      1. symbix
        17.12.2019 00:36
        +8

        Ваша система тоже не легитимна, т.к. не в полной мере соответствует 67ФЗ. Для опросов подойдёт, выборы и референдумы — ни в коем случае.


      1. Jef239
        17.12.2019 04:23
        +1

        Абсолютно непонятно, почему вы взяли в пределах РФ, а не пределах Садового кольца или МКАД. В пределах exСССР подобная легитимная система есть в Эстонии.


  1. starpeer
    13.12.2019 22:34
    +10

    Русские хакеры, русские хакеры… а они, оказывается, даже симметричный ключ от асимметричного отличить не могут. Как теперь людям в глаза смотреть? Опозорились на весь мир…

    Кстати, сломали систему не один, а два раза


  1. lucker126
    13.12.2019 23:58
    +20

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


    1. DIT
      16.12.2019 12:20
      -2

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


      1. symbix
        17.12.2019 03:03
        +9

        Раз это всего лишь эксперимент, значит, результаты голосования на «электронных» уиках должны быть отменены.


        Хотя вы сейчас скажете, что эксперимент прошёл успешно. Ага, эксперимент по фальсификации выборов.


  1. Dima4ka
    14.12.2019 07:43

    Есть ли криптографическая защита от того, чтобы записывалось кто за кого голосовал? Та уникальная ссылка, есть гарантия, что она не связывается с именем голосующего? Или построено на «мы честно не запоминаем»?


    1. DIT
      16.12.2019 12:28

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


      1. Dima4ka
        17.12.2019 01:40
        +2

        Не совсем тот вопрос. Я, как пользователь получающий ссылку, могу удостовериться, что она нигде не была до того привязана к моему имении. Одно из решений, что я встречал это anonymous credentials. в том случае токен пусть и привязан ко мне, но не его показываю, а доказываю факт владения (zero knowledge proof).


        1. DIT
          18.12.2019 18:51

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

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


          1. vics001
            20.12.2019 00:22

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

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


            1. symbix
              20.12.2019 02:53

              Обидные ваши слова про наблюдателей.


              Да, конечно, есть псевдонаблюдатели, которые и не собираются наблюдать, и в лучшем случае ничего не делают, в худшем мешают нормальным наблюдателям, да.


          1. Gryphon88
            20.12.2019 12:34
            +1

            ДИТ в курсе этой задачи и обязательно будет искать возможность её решения в следующих версиях системы
            Текущая система считается готовой и готовой к внедрению, или она официально сырая и не закрывает ТЗ? Чёрт с ними, с технологией и философией, закрывающие документы подписали без требования доработок?


  1. runalsh
    14.12.2019 17:23
    +3

    А зачем выложили приватный ключ? Если это так и было задумано, то зачем его спрятали через 3 часа?


    1. DIT
      16.12.2019 16:21
      -3

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


  1. Armleo
    14.12.2019 20:55
    +10

    Ну да круто все описали, но при этом результаты тем не менее подтосавали. Снова. Стыдно разработчиком ДИТ а должно быть. Грубо говоря они участвуют в захвате власти. Блокчейн и криптография это всего лишь buzzWords которые вы используете. В реальности блокчейн не был нужен, а ЕдРосы опять использовали свой ресурс что бы создавать не существуеющих граждан и ими голосовать за кого надо. Стыд и тюрьма


    1. Armleo
      14.12.2019 21:07
      +6

      И не забывайте что открытость вы не обеспечили поскольку убрали у оппозиции возможность наблюдать за выборами в живую увеличивая возможность подтасовки.


      В будущем мы бы хотели дать участникам взаимодействия возможность включать данные в сеть и размещать узлы.

      И это бесполезное действие и притворство. Вы не можете физически обеспечить прозрачность электронного голосование. Не пишите на Хабре и уходите из России воры и преступники.


      1. dhaenoor
        14.12.2019 23:42
        +7

        Куда им идти? В нормальных странах их на первом суку повесят свободные граждане.


  1. alexeishch
    15.12.2019 17:18
    +9

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


    Скажите пожалуйста, на чём основывается утверждение что время неполадки составило всего один час?
    Мы сделали расчёт, и получили как минимум в 4 раза больше — habr.com/ru/post/480332


  1. Sabubu
    16.12.2019 15:58
    +29

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


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


    Соответственно, вопросы к вам:


    1) как в реальности (не в теории) обеспечивалась прозрачность для стороннего наблюдателя?
    2) как гарантируется защита от фальсификаций со стороны исполнительной власти и ЦИК, администраторов системы?
    3) как гарантируется защита от принуждения бюджетников голосовать в кабинете директора под присмотром начальства?
    4) как объяснить уменьшение числа "зарегистрировавшихся" в 14:00 и превышение числа "получивших бюллетень" над "потвердившими СМС"? Цифры и графики есть в этой статье.
    5) Где защита от сценария, когда организаторы "потеряют" ключ для расшифровки, чтобы сорвать подведение итогов в случае неблагоприятного прогноза?


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


    Ну и несколько вопросов по статье.


    в процессе мы использовали технологию блокчейн: она обеспечивает анонимность и прозрачность процесса.

    Только вот 100% нод контролируете вы, а подсоединиться к блокчейну нельзя даже для чтения. Уязвим ли ваш блокчейн к "атаке 51%"?


    6) Объясните, где тут "прозрачность", если я не могу следить в реальном времени за блокчейном?
    7) Объясните, где гарантия, что вы не ведете несколько параллельных блокчейнов, чтобы по итогам выбрать наиболее подходящий вам?
    8) Как я могу убедиться, что в вашем блокчейне используется опубликованный код, а не код с "закладками"?


    По моему, прозрачность не была обеспечена.


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

    Тогда какое право вы имеете использовать эту сырую технологию в процессе выбора власти? Вы не понимаете, что у вас не приложение по простановке лайков под фото с дурами-блондинками, а серьезный юридический механизм? Как ваш руководитель, если он профессионал, мог сдать эту сырую разработку?


    9) Отсутствие чего помешало ему или ей сказать, что проект не готов Какие были аргументы в пользу сдачи сырой, непрозрачной разработки, проваливавшей испытания, в продакшен?


    Также важна возможность отправки «слепков» данных в публичную сеть, например, Ethereum. Но эти доработки затрагивают огромное число законодательных и нормативных вопросов, на решение которых у нас не было времени.

    Почему вы не отложили свою разработку до следующих выборов, если времени не хватает? В России выборы каждый год проходят, куда вы спешите?


    Полный код появился на веб-сервисе 6 сентября — за два дня до официальных выборов в Мосгордуму.

    Прекрасно, всего-то чуть более суток на изучение окончательной версии кода. Я перед выборами сижу сутками читаю законы, и я где-то должен найти время на изучение кода, который писало 100 человек.


    Во время обработки заявки все необходимые данные, которые указал избиратель, проходят проверку.

    10) Имеют ли возможность наблюдатели и ЧПСГ ознакомиться с этими данными, включая технические данные (IP-адрес, устройство, ОС, размер экрана, "отпечаток устройства" (fingerprint), который снимает mos.ru)?
    11) Если нет, то где гарантия, что эти заявки не содержат "мертвые души"? Как мне убедиться, что там реально существующие люди, которые имеют право голосовать в округе и которые не проголосуют бумажно? Я не верю ни вам (так как вы сдали сырую разработку), ни МВД (так как оно сфабриковало фейковое дело на Голунова и фейковую экспертизу, чтобы не допустить на выборы Соболь).


    Сквозную авторизацию пользователей на порталах города Москвы осуществляет СУДИР

    12) Как я, как наблюдатель, могу убедиться, что к голосованию допускаются только реальные люди с правом голоса, а не фейковые аккаунты? Как мне проверить корректность СУДИР и отсутствие там фейковых аккаунтов? Я не верю вам на слово.


    АРМ председателя участковой избирательной комиссии (УИК) позволяет председателю в режиме реального времени мониторить списки избирателей, зарегистрированных на электронные выборы.

    13) А как эти списки мониторить наблюдателю? Для чего у наблюдателя убрали право, которое есть на бумажных выборах? Я не доверяю председателю от Единой России, так как он тут заинтересованная в победе своего кандидата сторона.


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

    14) И как наблюдателю их пересчитывать? Вы что, предлагаете просто сидеть смотреть на падающие в урну бумажки?


    Далее, у вас приведена картинка, показывающая "реестр избирателей" и "бюллетеней" в блокчейне. Только вот она не соответствует коду на Гитхабе. На Гитхабе в смарт-контракте в реестре избиретелей нет поля "ФИО", а на картинке есть. Почему картинка не соответствует коду?


    15) Каким образом из вашей "защищенной" системы утек список избирателей и попал к Навальному? Подтверждаете ли вы подлинность списка и факт утечки?


    16) Объясните, в чем причина появления "зон аномалий" 1, 2А, 2Б, 3, на графиках из статьи?


    В итоге из тех, кто столкнулся с трудностями из-за сбоя, 85% (462 избирателя) после нашего уведомления вернулись к системе, получили бюллетени и проголосовали.

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


    В общем, спасибо что дочитали, да кому я вру, позор вам, что сдали эту сырую непрозрачную разработку и помогаете ЦИК, а не обществу, а я пойду искать, как анонимно закинуть денег на карту Юнеману за его прекрасный доклад. Вы можете притворяться, что вы "всего лишь блокчейн" делаете, но между вашим блокчейном, между самолетом Медведевой, делом Голунова и людьми, которых сажают по "московскому" делу в колонию — прямая связь и ее невозможно не замечать. Премию-то хоть дали?


    1. xFFFF
      17.12.2019 13:17
      +1

      Почему вы не отложили свою разработку до следующих выборов, если времени не хватает? В России выборы каждый год проходят, куда вы спешите?

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


      1. Sabubu
        17.12.2019 14:13
        +4

        Какие проблемы могут возникнуть? Земля расколется пополам что ли? Это выборы и эту непрозрачную систему без возможностей наблюдения надо было отказаться сдавать. Так как любому понятно, что она предназначена для фальсификаций. Но, конечно, бывают люди, которые предпочтут соучаствовать в фальсификации выборов, чем потерять свою жалкую работу.


        А если там остался хоть один уважающий себя человек, призываю слить в СМИ или в ФБК, или Юнеману всю документацию и информацию, особенно о падениях системы и повторной выдаче бюллетеней, отчеты по тестированию, кто к чему имел доступ итд. Наверняка там что-то вкусное есть.


        1. A114n
          18.12.2019 12:27
          +2

          А если там остался хоть один уважающий себя человек

          Система устроена так, что уже на этапе отбора уважающие себя люди туда не пойдут. А если человек туда устроился, то с ним уже всё понятно.


      1. A1054
        19.12.2019 01:41

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


    1. Zenitchik
      18.12.2019 18:28
      -2

      По хорошему, «подневольные» слои населения, как то госслужащие, военнослужащие, члены полит.партий, вообще голосовать не должны.


      1. tcapb1
        18.12.2019 18:44
        +5

        Они такие же граждане, у них тоже есть интересы, которые нужно учитывать. То что ими проще манипулировать — не значит что они вообще не должны голосовать.


  1. saintbyte
    16.12.2019 18:34
    -4

    Блокчейн — а что русского синонима нет?


    1. tcapb1
      16.12.2019 19:27
      +5

      Общеупотребимого — нет.


    1. Atrax
      10.01.2020 17:07
      +2

      МР 26.4.001-2018 написано "цепная запись данных", но оно вам надо — так язык ломать?


      1. saintbyte
        12.01.2020 23:41
        -1

        Ну как-то пережили же накопитель на жестких магнитных диска ( НЖМД ).


  1. Gordon01
    16.12.2019 23:26
    +13

    Электронное голосование вряд ли в ближайшие десятилетия станет легитимным, подробно все объяснено много раз, к примеру здесь: www.youtube.com/watch?v=LkH2r-sNjQs

    Блокчейн, нейронки, машинное зрение, VR и AR, конечно хороши, но только для «посадочных страниц» маркетологов.

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

    У вас в статье только 3000 слов для поверхностного описания работы системы. А где исходники ПО для управления принтером? А где исходники прошивки принтера? А где описание криптографической защиты для передачи данных по интернету?

    Должно быть стыдно быть IT специалистом и заниматься такими вещами.

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


  1. shukshinivan
    18.12.2019 12:18
    +4

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

    Дурацкое требование дурацкого наспех принятого весной закона пересчитать два вывода одного и того же чёрного ящика. Вот рекомендованный ОБСЕ VVPAT позволяет пересчитать то, что контролируется голосующим. Два вывода чёрного ящика считать — это бред, это просто попытка сделать вид соответствия рекомендациям ОБСЕ.


  1. Dron007
    18.12.2019 13:12
    +4

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

    Интересно, как вообще технически решить подобные задачи и можно ли?


    1. tcapb1
      18.12.2019 14:53
      +4

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

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


      1. Apxuej
        18.12.2019 16:16
        +1

        Кстати довольно интересная тема. Ведь в идеале для голосующего должно гарантироваться, что он не сможет предоставить никому никаких доказательств за кого он голосовал (кроме своего слова), чтобы сделать давление на избирателя малоэффективным. Раньше более или менее так и было: массовое явление людей с фотоаппаратами заходящих в кабинку вызвал бы подозрение, да и поступить, как вы описываете – испортить бюллетень после фото он всегда мог. Однако всё изменилось с появлением портативных фотокамер и телефонов, умеющих снимать видео. Я бы на месте злодеев, решивших использовать этот не очень эффективный путь (есть намного более простые и эффективные), при запугивании или подкупе избирателей и требовал бы съёмку 3-7 секундного ролика, где сперва фигурирует бюллетень, паспорт и лицо, а потом процесс отправки этого бюллетеня в корзину. Как с этим бороться я не знаю, может ограничить пронос техники в кабинку, но тогда и так небольшой процент явки снизится ещё больше — никто не любит обыски в любом виде или неким образом сделать бюллетень видимым человеческим глазом, но не обычными потребительскими камерами, хотя мне кажется это что-то из разряда магии, исходя из того, что я знаю о физике света, но может я всё же недостаточно информирован и можно сделать что-то подобное.


        1. tcapb1
          18.12.2019 16:53
          +1

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


          1. Wan-Derer
            30.06.2020 20:15

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


        1. Sabubu
          18.12.2019 16:55
          +2

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


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


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


          На Западе чуть лучше, в некоторых штатах США списки избирателей вывешивают публично и там (в теории) может быть отметка: проголосовал или нет. Тогда наблюдатель может проверить, что в списках реальные люди, сравнить количество людей с отметками и кол-во голосов. В Британии есть бумажные реестры избирателей, которые можно смотреть, но нельзя копировать. Там даже адрес указан, можно поехать проверить человека. У нас списки не публикуют якобы из-за закона о перс. данных.


          1. Apxuej
            18.12.2019 17:42

            Вы правы и я написал в комментарии, что такой способ фальсификации результата далеко не самый эффективный. Просто мне кажется человек обязательно должен иметь возможность обмануть человека, группу лиц, пытающихся повлиять на выборы, которые запугивают и/или подкупают. Это кажется очень важным. Понятно, что терморектальный анализ всегда покажет за кого действительно голосовал человек, но это просто не сопоставимые затраты сил: попросить снять коротенькое видео в кабинке и твоя машина, стоящая во дворе останется без царапины от гвоздя, да к тому же получишь 300-500 рублей в зависимости от региона и в другом случае сразу после выборов тащить человека на жёсткий допрос или на детектор лжи. Первый случай теоретически применим в относительно больших масштабах (в рамках отдельных избирательных участков, которые не удалось подмять другими способами), для второго не хватит никаких сил и ресурсов и он гораздо более палевный. Что касается электронных выборов я пробовал думать как это правильно реализовать, но там буквально на каждом этапе такая жёсткая запара, что мне кажется электронные выборы по надёжности никогда, даже в отдалённом будущем, не приблизятся к обычным на бумаге или другом тривиальном физическом носителе. Просто потому что для человека весь процесс выборов должен быть понятен от и до. И даже последний тупица сможет (в теории) понять всю цепочку и если нужно даже проследить чтобы всё было по правилам.


          1. Wan-Derer
            30.06.2020 20:09

            Для защиты от голосования в кабинете директора в Эстонии можно позже поменять голос электронно

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


      1. Anton3
        17.01.2020 13:39
        +1

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

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


        1. Wan-Derer
          30.06.2020 20:20

          Что-то мне подсказывает что те директора действуют не самостоятельно. Тогда достаточно чтобы сверху поступила указивка: " не довить, голосовать честно!!!1" — и всё остальное не понадобится.


    1. A114n
      18.12.2019 15:54
      +1

      Мне всегда казалось, что это взаимно противоречащие пункты.


      1. Dron007
        18.12.2019 16:29

        Возможно, отсюда и вопрос. Я немного поизучал тему и нашёл описание системы Polys, разработанной, как оказалось, Лабораторией Касперского. Более того, обнаружился комментарий самого Касперского, который утверждает, что

        это наша разработка Полис в «Московской упаковке». Наша собственная онлайн-голосовалка на блокчейне. Вышла на уровень Москвы — принимаю поздравления!

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

        Из того, что прочитал о системе, там много интересных решений. Хотелось бы прояснения, действительно ли их система использовалась. По описанию не очень похоже.


  1. A1054
    19.12.2019 01:54
    +5

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


    1. Zenitchik
      19.12.2019 15:06

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


      1. galev
        13.01.2020 16:54

        Большинство руководителей УИК/ТИК (по крайней мере в Москве) в партиях не состоят. К сожалению отсутствие членства в партии не гарантирует отсутствие аффилированности с админресурсом.


  1. boroda_el
    19.12.2019 02:13
    +1

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


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


  1. qsoggg
    23.12.2019 17:32
    +2

    один из студентов с опытом веб-разработки попытался обмануть систему: с ХХ IP-адресов он отправил YY запросов с попыткой подобрать IP-адрес формы голосования

    это студент делал странные действия или автор их странно интерпретирует?


  1. vanyaindigo
    27.12.2019 08:47
    -1

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


    1. symbix
      27.12.2019 16:19
      -1

      Они бюджет, выделенный на пиар, отрабатывают. Конструктивного обсуждения и не предполагается.


      1. vanyaindigo
        27.12.2019 16:21
        -1

        Само собой, но это еще и попытка задела на будущее, когда им, например, понадобятся специалисты по BigData, а они им уже нужны.


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. Gryphon88
    15.01.2020 21:03

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


  1. orion76
    16.01.2020 22:39

    Вторая причина — высокий уровень доверия к блокчейну со стороны ИТ-специалистов.

    Прямо таки оскорбительное утверждение… Я почти обиделся-)

    Хотя задачка действительно интересная.
    Но, как понимаю, одним блокчейном ее не решить…
    В первую очередь нужна какая-то прозрачная надежная система контроля.
    А возможно даже смена политической системы и системы власти, так чтобы влиять на выборы небыло смысла.


    1. orion76
      17.01.2020 00:34
      +1

      Кстати, вроде есть решение данной задачки, и достаточно несложное…
      Даже подозрительно чересчур несложное-)
      Не пойму, рыбка, где ты меня кинуть хочешь(с)

      По сути, «электронный» избирательный участок — вещь достаточно не дорогая.
      Значит надо чтобы у каждого кандидата был свой личный «электронный избирательный участок».

      1.Условный ЦИК раздает избирателям ключи-идентификаторы, защищенные от подделки.
      2.В час Ч избиратель шлет свой ключ-идентификатор в «избирательный участок» своего кандидата.
      3.По окончании выборов, кандидат передает собранные ключи-идентификаторы в ЦИК для проверки и подсчета голосов.

      Вкраце все.


      1. aml
        18.02.2020 15:28

        А где гарантия, что условный ЦИК не напечатает "лишних" ключиков и не доложит в нужную корзинку?


        1. orion76
          18.02.2020 17:48

          Да… подобных нюансов еще может быть куча…
          Есть что обмозговать.

          Зато, система голосования получается в некотором роде — распределенная, а не один-единственный «черный ящик».
          А следовательно, скорее всего в нее можно внедрить какие либо «независимые»(от ЦИК) контролирующие подсистемы.

          Например, если в виде «голосов» задействовать токены, аналогичные токенам в блокчейне, то можно после голосования проводить верификацию токенов и подсчет голосов «независимой» счетной комиссией, без раскрытия личности их владельцев.
          А подделка токенов в больших количествах, может стать весьма затратным делом.


          1. aml
            18.02.2020 18:19

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

            Нужно гарантировать, что бюллетени выданы конкретным людям (и потом можно было посмотреть, кому именно — Иванов голосовал, Петров голосовал, а Сидоров скажет — какого лешего! Я на участок не ходил, а мне бюллетень выдали!), потом какая-то операция по ослеплению этого бюллетеня, чтобы нельзя было понять, чей именно бюллетень проголосовал, простановка голоса и передача его уже в «урну». И ещё, чтобы нельзя было в последний момент вкинуть много бюллетеней, при выдаче каждого бюллетеня на нём проставляется таймстемп, и в блокчейн оно должно попасть с таймстемпом. Тогда будет видно, что бюллетени выдавались равномерно в течение дня, а не в последний момент пенсионерам, которые не проголосовали, как это в оффлайне бывает.