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

Система тайного голосования с возможностью проверки

Дисклеймер

Внимание, политика!

Задача

Создать систему голосования [1], удовлетворяющую следующим условиям:

  1. Теоретически неограниченное количество голосующих (среди жителей России)
  2. Строгое соблюдения принципа «один человек — один голос
  3. Максимально упростить участие для голосующих

С первым пунктом всё просто — это чисто технические требования.

Без накруток

Немного облегчает ситуацию то, что система должна быть не worldwide, а для России.

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

Значит, именно по паспортным данным надо регистрировать пользователей.

Для решения задачи „без накруток“ необходимо проверять подлинность паспорта, но учитывать пункт 3 — максимальную простоту. Физически смотреть не можем — надо действовать по всей России, а ресурсы ограниченные.
Значит, надо доверить непосредственно верификацию тем, кто уже этим занимается. Таких структур достаточно много — берём, например, банковские переводы.
При банковском переводе (не путать с платежом по карте) банк сообщает ФИО плательщика, следовательно можем это автоматически распарсивать.

Но тут встаёт проблема — хранить персональные данные просто так нельзя, нужны лицензии и т.п., которые достаточно сложно получить за короткий срок.
Решение следующее: при регистрации по введённым данным (ФИО, дата рождения, телефон) генерируем некий хэш, который и запоминаем вместе с 3х-значным числом. Пользователь делает перевод нужной суммы (для числа 123 это будет 1.23р, или 11.23р или 101.23р — лишь бы последние три цифры совпадали) и мы получаем подтверждение, что пользователь тот, за кого себя выдаёт.

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

Но ходить в банк долго, интернет-банк есть не у всех…

Упрощаем

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

А для тех, кто совсем не хочет возьни ни с какими деньгами — достаточно сделать фотографию себя с паспортом и отправить. Команда волонтёров разбирает фотографии очень быстро, не дольше часа.

Безопасность

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

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

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

Итоги

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

В тестовом режиме система уже функционирует [2].
Боевой запуск ожидается 20-21 октября, регистрация открыта до 18 октября.

p.s.

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

p.p.s. В качестве экспертов в проекте участвуют такие люди как Илья Сегалович, Антон Носик и другие [3]

Автор: norlin


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

Путь до страницы источника: https://www.pvsm.ru/bezopasnost/17277

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

[1] систему голосования: http://cvk2012.org

[2] уже функционирует: https://election.cvk2012.org/account/signup

[3] и другие: http://www.cvk2012.org/cvk/sostav/