- PVSM.RU - https://www.pvsm.ru -
Как обеспечить тайное голосование в электронной форме, онлайн, со своего компьютера, не выходя из дома? Так, чтобы один человек мог подать только один голос, причём тайно? Как сделать, чтобы он мог верифицировать результаты, то есть проверить, как учтён его голос?
Задачка не из легких, нужно:
Скажу честно, эту идеальную постановку задачи я не решил. Но получился алгоритм, дающий достаточную анонимность, точность и относительно небольшое неудобство для избирателей. Пусть это будет алгоритм анонимного голосования Тактаева :).
Сразу отклоним существующий алгоритм онлайн голосования с электронной подписью каждого голоса, как это сделано компанией Votenet в Эстонии – ни о какой анонимности и речи быть не может, все голоса подписаны ЭЦП, что исключает всякую анонимность. Надеяться на то, что «голоса» не вскроют ну… как-то не по политически….
Рассмотрим классическую, «бумажную» модель голосования с позиции ИТшников и сравним, что в ней изменится в онлайне…
На первый взгляд, система, соответствует указанным в начале требованиям. Ура? Не совсем. Ясно, что систему будут ломать. Если «вброс бюллетеней» в «бумажных» выборах не составляет труда, то что же ждать, если можно просто скопировать и вставить строчку символов? Просто арендуем в Китае десяток бараков с «капча-кликерами» и ….profit!
Я предлагаю следующие механизмы защиты от «вбросов». Целых четыре.
Собственно, первое, самое очевидное, — счётчик выданных бюллетеней, поскольку мы точно знаем, сколько человек зашло на страничку получения бюллетеня в каждый момент времени. Так вот, если бюллетень конкретной серии получило N человек (а они могут находиться и в разных городах – анонимность соблюдается), то в «кабинке для голосования» можно организовать и обратный отсчёт. А как только ВНЕЗАПНО кто-то пытается подать N+1 -й бюллетень той же серии (то есть, прошёл «вброс»), вся серия аннулируется, бюллетенями даётся статус «испорченный» и, все голоса, кто голосовал этой серией, аннулируются тоже, людям предлагается проголосовать снова – начинаем с п.1.
Второе – Серии бюллетеней для голосования регулярно, но через случайные промежутки времени (30-60с), меняются. Совсем малым (секунды) это время быть не должно – возникнет угроза анонимности. В городе-миллионнике за одну секунду, при участии в выборах 50% избирателей, при продолжительности выборов 7 дней, как в Эстонии, каждую секунду будут голосовать всего 15-30 человек. Для обеспечения анонимности нужно всё-таки, что бы один бюллетень получили порядка 1000 избирателей, отсюда интервал в 30-60 с.
Третье. Одновременно «выдаётся» несколько «серий» бюллетеней. Зачем это нужно – чуть ниже, какую именно серию показать каждому следующему избирателю, выбирается, опять же, случайно.
Четвертое – каждая серия бюллетеней не вечная, а имеет «время жизни» — срок, когда её «принимает» «страничка-кабинка для голосования». Например, 20-30 минут. После этого бюллетень теряет силу и, при попытке голосовать просроченным бюллетенем, избирателю предлагается снова пройти авторизацию, см. п.1. Это позволит избежать махинаций с «отложенным» голосованием, когда кто-то набирает бюллетеней, чтобы потом вбросить их в конце. Ну а если честный человек не сможет за 30 минут определиться с выбором… то, наверное лучше ему зайти завтра ещё раз…
Модель случайного периода выдачи и смены серий введена для того, чтобы избежать атак вида «синхронного вброса». Например, если бы какие-то манипуляторы знали точный размер серий бюллетеней и эта серия выдавались бы все голосующим последовательно (изначально у меня была такая схема), то можно было бы отследить появление первого бюллетеня новой серии и организовать «вброс» ровно по «количеству» бюллетеней, тем самым не дав никому больше проголосовать в этой серии и количество бюллетеней совпадёт. При случайной смене бюллетеней это становится невозможным: точное количество «выданных» бюллетеней известно только в последний момент «выдачи» этой серии, так как промежуток времени случаен, а количество «выданных» бюллетеней определяется количеством избирателей, голосующих в этот промежуток. Достаточно стохастическая величина, я думаю.
Конечно, такая схема не совсем удобна избирателям, но позволяет исключить вбросы, так как делает их крайне затратными и рискованными – после каждого «вброса» придётся переголосовывать «до посинения». А, например, после 100 переголосований, уже можно будет выявить лиц, которые, почему-то, всегда «оказывались» в каждом переголосовании и начать с ними… индивидуальную работу.
Подтасовки тоже исключаются, по методу Дэвида Бисмарка – квитанциями.
Чтобы избиратели были дополнительно уверены в тайности голосования, надо публиковать все «просроченные» бюллетени, чтобы люди могли убедиться что у них действительно все они были типовыми.
Да, такое голосование может занять не один день, но для него не нужно держать открытой сеть избирательных участков по всей стране. Так что, как показывает опыт Эстонии, электронное голосование вполне может идти несколько дней…
Автор: stt
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/e-lektronnoe-pravitel-stvo/17977
Ссылки в тексте:
[1] www.ted.com/talks/lang/eng/david_bismark_e_voting_without_fraud.html: http://www.ted.com/talks/lang/eng/david_bismark_e_voting_without_fraud.html
Нажмите здесь для печати.