Как устроены машины для блокчейн-голосования от «Лаборатории Касперского»
В конце февраля «Лаборатория Касперского» представила прототипы машины для электронного голосования на блокчейне — Polys Voting Machine. Устройства работают на блокчейн-системе Polys, призванной сделать выборы прозрачнее, безопаснее и сократить расходы на их организацию. Система позволяет избирателям голосовать как на избирательном участке, так и удаленно. Все результаты записываются в блокчейн и могут быть проверены сторонними наблюдателями. Совместно с экспертами «Лаборатории Касперского» DeCenter разобрался, как устроено блокчейн-голосование, как работают устройства в системе Polys, с какими проблемами сталкивается это направление и когда мы будем выбирать президента с помощью блокчейна.
Преимущества блокчейн-голосования
Выборы — одна из сфер жизни, в которой блокчейн может найти реальное применение. Организация голосования — дорогой и сложный процесс, к результатам которого мало доверия даже в развитых демократических странах. Это касается не только масштабных федеральных выборов, но и относительно небольших голосований в студенческих советах или на собраниях политических партий.
Предполагается, что голосование на блокчейне одинаково выгодно и удобно как организаторам выборов, так и избирателям.
Снижение организационных расходов. Онлайн-голосование упрощает и удешевляет проведение выборов. Даже для организации университетского голосования надо напечатать бюллетени, набрать персонал, выделить помещение, пересчитать голоса. На это уходят время и деньги.
Удаленное голосование и повышение явки. Снижение явки на выборах — негативная тенденция последних лет, в том числе в западных странах. В результате из-за того, что люди не доходят до избирательных участков, могут быть приняты непопулярные для большинства решения: яркий пример тому — Brexit. Возможность онлайн-голосования, подкрепленная криптографией, может повысить количество проголосовавших и укрепить доверие к избирательной системе.
Децентрализация и прозрачность. Результаты не контролируются одной организацией, а могут быть проверены кем угодно. Если блокчейн работает на открытом коде, то нет необходимости в том, чтобы избирательная комиссия контролировала ход выборов, тем самым оказывая на них влияние. Все результаты записаны в блокчейне, не поддаются переписыванию и полностью прозрачны. Взломать блокчейн-сеть гораздо сложнее, чем один сервер — понадобится провести «атаку 51».
Команда проекта Polys стремится достичь всех заявленных преимуществ.
На кого рассчитан проект Polys «Лаборатории Касперского»
Polys — проект Kaspersky Innovation Hub, бизнес-инкубатора «Лаборатории Касперского». С 2017 года команда Polys разрабатывает систему безопасного онлайн-голосования на базе смарт-контрактов Ethereum. Исходный код выложен в открытом доступе на GitHub.
Система позволяет любому желающему организовать анонимное голосование любых масштабов (бесплатно можно провести голосование с количеством избирателей до 100 человек), но прежде всего она предназначена для использования в крупных, географически распределенных компаниях, некоммерческих организациях, университетах, политических партиях и других организациях, которым важно вовлекать своих членов в решение основных вопросов. В «Лаборатории Касперского» нам рассказали, что сейчас ключевая аудитория заказчиков — политические партии и органы власти.
Как проходит голосование?
Весь процесс происходит онлайн: организация голосования, непосредственное голосование, подсчет результатов. Система не может работать без интернет-соединения — без доступа к блокчейну голос учтен не будет. Вся информация о голосовании хранится не на серверах или терминалах для голосования, а децентрализованно на нескольких узлах блокчейна. Организаторы голосования могут самостоятельно выбрать, на каких именно компьютерах будут храниться данные. Чтобы изменить результаты голосования, злоумышленникам придется взломать все компьютеры этой сети. Чем крупнее голосование и чем больше узлов, тем сложнее это сделать. Однако чем больше голосующих, тем медленнее обработка голосования (транзакций). Чтобы избежать этого, команда проекта предлагает делить общую сеть на сайдчейны — ответвления основной сети.
При голосовании есть три способа авторизации избирателей:
С помощью электронной почты или SMS — система отправит участникам голосования специальную защищенную ссылку для голосования.
Специальная ссылка в виде QR-кода — самый удобный вариант при очном голосовании. Организатор после проверки удостоверения личности избирателя дает голосующему талон с QR-кодом. Избиратель переходит на голосование по QR-коду, вводит пин-код с талона и голосует.
По публичной ссылке — проголосовать может любой, кто увидит ссылку на голосование. Для безопасности к этому способу команда Polys добавляет авторизацию по SMS. DeCenter создал пример такого голосования, участие в котором можно принять, перейдя по этой ссылке.
Как работает Polys Voting Machine
Устройства работают в системе Polys. Они должны помочь пользоваться преимуществами электронного голосования людям, которые не привыкли к гаджетам или просто предпочитают голосовать на избирательном участке.
Внешне устройства представляют собой небольшой терминал с экраном, на котором пользователь может выбрать один из вариантов для голосования — машина запишет все в блокчейн Polys. Голоса подсчитываются автоматически, что значительно снижает расходы на сотрудников и обслуживание избирательных участков.
Если нужны бумажные протоколы, компания также разработала специальные принтеры, подключенные к блокчейн-сети. Они распечатывают для избирательной комиссии факт того, что избиратель уже проголосовал удаленно, например, в другом регионе.
Чтобы отдать свой голос с помощью машин Polys, избиратель, как и при обычном голосовании, должен подтвердить свою личность избирательной комиссии. После этого ему выдают уникальный анонимный QR-код. Далее член избирательной комиссии при помощи специального активатора связывает выданный код с необходимым голосованием, например, региональным. Это позволяет человеку проголосовать на нужных выборах из любого избирательного участка без необходимости регистрироваться заранее. Вы можете быть прописаны в Санкт-Петербурге, уехать на выходные в Москву и во время прогулки проголосовать в любом удобном для вас участке — регистрироваться на Госуслугах и записываться в избирательный участок заранее не нужно.
Голосовать просто — нужно лишь выбрать один из вариантов и отсканировать свой QR-код. После этого с его помощью избиратель может проверить в специальном приложении, что его голос засчитан и записан в блокчейн. Polys Voting Machine и система Polys подключены к единому блокчейну. Это позволяет избежать ситуации, когда люди отдают свой голос дважды — с терминала и через смартфон.
Стоимость устройств для электронного голосования не разглашается публично и является коммерческой тайной заказчика. В каждом отдельном случае система собирается, кастомизируется и масштабируется под инфраструктуру конкретного покупателя. Итоговая цена зависит от ожидаемой явки избирателей, количества устройств, формата выборов и логистики.
Принципы анонимности не нарушаются
Представленная система позволяет проголосовавшему проверить, учтен его голос или нет прямо в интерфейсе приложения. Однако анонимность не нарушается — посторонние наблюдатели, в том числе команда проекта, не могут узнать, как проголосовал тот или иной человек. Система шифрует выбор избирателя, его личность и персональные данные, а также промежуточные результаты с помощью технологии слепой подписи — когда система принимает голос, она удостоверяется, что он отправлен тем, кто имел на это право, но не знает, кто конкретно послал этот бюллетень. Итоговое распределение голосов становится известно лишь после окончания голосования.
Подробнее о технологии можно прочитать в white paper Polys. Для удаленной идентификации у «Лаборатории Касперского» нет собственного решения. Но команда может подключить любое возможное, например ЕСИА. В этом случае пользователь подтверждает свою личность в ЕСИА и получает токен. Система Polys принимает этот токен как подтверждение от ЕСИА, что пользователь с этим токеном имеет право голосовать. «Мы можем гарантировать, что избиратель получил свой электронный бюллетень, но отправил ли свой голос — сказать не можем в силу того, что наша система обеспечивает анонимность», — пояснили в «Лаборатории Касперского».
На случай попытки взлома устройств или передачи данных третьей стороне, у всех проверяющих узлы валидаторов сети есть собственная пара ключей для подписания транзакции. Как только голос (транзакция) оказывается в сети, проверяющие узлы фиксируют его своей подписью. Устройство получает подтверждение об учете голоса, и может сверить со своими данными. Даже если злоумышленники смогут перехватить голос при передаче его из устройства на узлы блокчейна, это ничего не даст — без подписей валидаторов изменить в ней ничего нельзя. «Атака 51» не страшна для Polys, потому что она подходит только для блокчейн-сетей на консенсусе Proof-of-work, а система использует консенсус Proof-of-Authority. «В нашем случае существует риск, что 2/3 авторитетов сговорятся и будут использовать вместо валидного блокчейна какой-то модифицированный код нод, у которого будет измененная логика. Но это будет легко заметить. В этом случае можно закрывать голосование и проверять его легитимность», — рассказала команда «Лаборатории Касперского».
Polys прошел проверку практикой
За два года существования проекта платформу использовали для голосования несколько десятков раз. Вот наиболее интересные и крупные кейсы:
Российские и зарубежные университеты, например, университет Махидол в Таиланде, Поволжский института Управления, Тюменский ГосУниверситет, РАНХиГС, Высшая школа экономики, голосующая уже несколько лет подряд.
Праймериз по определению кандидатуры на пост мэра Москвы от партии «Яблоко».
Выборы в Саратовский Молодежный Парламент, в которых приняли участие более 40 000 избирателей.
Голосование за выбор местных инициатив в Волгоградской области, в котором приняли участие более 80 000 избирателей.
Голосование за выбор муниципальных инициатив в Нижегородской области — крупнейшее в мире голосование на блокчейне, в котором приняли участие более 160 000 избирателей.
Не все голосования прошли гладко. Вот что рассказала команда проекта о трудностях во время голосования в Волгоградской области. «Наше приложение предоставляет актуальную информацию для избирателей непосредственно из блокчейна, получая данные подписки через WebSocket. При голосовании мы столкнулись с тем, что одновременно было слишком много избирателей и большое количество подписок с сильно загруженными нодами блокчейна. Так получалось потому, что люди не закрывали вкладку браузера с приложением голосующего. Получалось, что, несмотря на то, что они уже отдали свой голос, подписки оставались активными. Тогда мы оперативно решили эту проблему, пожертвовав соответствующей информацией и отключив подписки на обновление статуса. В дальнейшем для масштабирования системы мы хотим добавить пул невалидирующих нод и распределять соединения пользователей между ними. Таким образом система в целом сможет обслуживать в разы больше подписок, чем сейчас».
Даже небольшие выборы с помощью Polys показали, как много ресурсов может сэкономить онлайн-голосование. Например, в выборах в Саратовский Молодежный Парламент в декабре 2018 года приняли участие 40 000 человек, мероприятие длилось семь часов вместе с подсчетом результатов на 110 избирательных участках. Ранее, чтобы организовать подобные выборы, избирательной комиссии потребовалось бы работать несколько недель, а благодаря использованию Polys в половине округов организация голосования заняла менее одного дня.
В «Лаборатории Касперского» нам рассказали, что Polys — коммерческий проект, который приносит устойчивую прибыль: «Продается, прежде всего, программное обеспечение. Среди наших клиентов не только российские организации, но и зарубежные».
Проблемы во время блокчейн-голосования в Москве
Накладка в Волгоградской области не единственный случай, когда системы дистанционного голосования дали сбой. Разработчики «Лаборатории Касперского» принимали участие в рабочей группе по обеспечению дистанционного голосования на выборах в Московскую городскую думу в сентябре 2019 года.
Тогда помимо обычного голосования по бюллетеням в трех из 45 избирательных округах прошел эксперимент по удаленному онлайн-голосованию. Для выборов была использована блокчейн-система, разработанная московским Департаментом информационных технологий, а «Лаборатория Касперского» помогала экспертными комментариями.
Через несколько часов после старта голосования система дала сбой, не выдержав наплыва избирателей — 10 000 человек. 500 человек не могли зайти в систему, 1000 избирателей не видели свои голоса в системе отслеживания электронного голосования. Проблемы объяснили техническим сбоем, а не малой пропускной способностью блокчейна. Организаторы остались довольны результатами эксперимента, а эксперты и журналисты — нет.
DeCenter спросил сотрудников «Лаборатории Касперского» о причинах накладок во время голосования и о конкретной роли команды Polys, но те отказались от комментариев.
Насколько широко блокчейн-голосование используется в мире
Онлайн-голосование используется в мире уже 16 лет — первые интернет-выборы с использованием ID-карты для удаленной идентификации прошли в 2004 году в Швейцарии. В большинстве штатов США можно голосовать удаленно через интернет, правда вручную заполняя бланк.
Впереди всех Эстония — признанный лидер цифровизации. Еще в 2005 году в стране создали систему онлайн-голосования Smartmatic и используют ее для выборов в местные органы власти, в том числе и в парламент. Теперь в Эстонии онлайн голосуют 44% избирателей. Граждане загружают заявку на голосование через Национальный избирательный сайт, а затем регистрируются с помощью национальной идентификационной карты со встроенным чипом или PIN-кода, присвоенного в процессе регистрации. Это позволяет избирателям проходить удаленную идентификацию через смартфон без дополнительного оборудования. Система Smartmatic использовалась еще более чем в 45 странах мира, включая США, Японию, ЮАР и другие. Но Smartmatic — это не блокчейн-система.
Несмотря на множество преимуществ, у онлайн-голосований есть и недостатки: сложность технического обслуживания, потенциальные сбои и хакерские атаки. Из-за этого процедура пока не получила такого широкого распространения, как могла бы. Иногда страны даже отказываются от него в пользу традиционного бумажного голосования, как например, Нидерланды в 2017 году.
Кроме того, онлайн-голосование не так сильно повышает явку, как рассчитывали эксперты. Так, опыт Эстонии показал, что онлайн-голосование увеличивает количество проголосовавших лишь на несколько процентов — большинство не голосующих отказываются от права выбора не потому, что не могут попасть на избирательный участок, а потому что просто не хотят голосовать. Зато онлайн-голосование оказалось недорогим: в той же Эстонии оно обходится в два раза дешевле обычного.
Помимо Polys, на рынке есть и другие стартапы, предпринимающие попытки построить инфраструктуру для блокчейн-голосования. Однако их количество хоть и растет, но остается относительно небольшим — несколько десятков. Среди них: американские Voatz, FollowMyVote, VoteWatcher и BitCongress, испанская Scytl, австралийские SecureVote и Neutral Voting Bloc2, швейцарские Agora и Luxoft, английская Smartmatic Corp. и прочие. Большинство из них предназначены для университетских или корпоративных голосований, для которых хватило бы и Google Форм.
Впрочем, государственные и муниципальные органы власти тоже тестируют технологию. О блокчейн-голосовании задумались в Индии, Сингапуре, Сьерра-Леоне, и России. В США блокчейн-приложение Voatz прошло испытания на первичных выборах при голосовании военнослужащими находящимися за границей в штатах Юта, Западная Вирджиния, Орегон и Денвер (расширять эксперимент пока не планируют).
Однако это все лишь эксперименты — до масштабных политических выборов блокчейн еще не допускают. И это хорошо — технология пока лишь обкатывается.
Блокчейн — это не панацея для голосования и выборов
Блокчейн не спасет демократию. Решая одни проблемы, он создает ряд других.
Ошибки и сбои. Яркий пример — выборы в Мосгордуму.
Незрелость технологии. Неясно, как блокчейн-голосование покажет себя на действительно крупных выборах, например, парламентских, с десятками миллионов избирателей. А ведь еще остается опасность «атаки 51» (организаторы, то есть государство, может контролировать все компьютеры системы и манипулировать данными так, как хочет), а также возможность отключения сети или интернета. Повлиять таким образом на результаты выборов дорого, но возможно. Зато в случае успеха подлог может быть спрятан очень хорошо.
Технические сложности и высокая стоимость. Для более масштабных экспериментов понадобилось бы провести полную техническую модернизацию и переписать законодательные нормы. Вряд ли получится полностью отказаться от бумажных бюллетеней: например, не во всех регионах России есть устойчивый интернет. А значит, во время выборов пришлось бы дублировать традиционную инфраструктуру для голосования блокчейн-устройствами. Это дорого.
Угроза анонимности. Возможность отслеживать голос конкретного избирателя нарушает принцип анонимности голосования. Впрочем, это можно нивелировать, используя двойное шифрование.
Доверие к властям. Если его нет, люди вряд ли станут доверять блокчейну от государства.
Блокчейн-голосование — будущее, но не близкое
У общества определенно есть запрос на онлайн-голосование. Так, по опросам «Лаборатории Касперского» после голосования на Polys до 83% проголосовавших высказываются за проведение электронного голосования для выборов различного уровня.
«Считаем, что удаленный способ голосования (в том числе и на блокчейн-технологии) имеет большую перспективу. Согласно новому исследованию “Лаборатории Касперского”, половина опрошенных выбирают удаленный способ голосования с помощью интернет-технологий, когда дело касается принятия решений о благоустройстве района. Мы уверены, что жители активизируются, если им предоставить подходящий инструмент. Яркие примеры — это голосования на нашей платформе в Волгоградской и Нижегородской областях, где наша система помогла в разы увеличить количество проголосовавших при значительно меньших затратах на организацию голосования. В то же время статистика демонстрирует, что доля заинтересованного населения растет. И среди тех, кто хочет участвовать в решении муниципальных вопросов, большая часть – это молодежь, основные потребители электронных услуг».
На наш взгляд, выгоды от использования блокчейна в голосовании перевешивают минусы, но его широкое распространение на крупных выборах займет время.