Идя по следам, хабратопика и многочисленных других про анонимное, открытое, честное голосование, хочется провести независимое расследование и придти к простому и понятному решению, что достижимо, а что нет, и при каких условиях.
Выражаясь, в близкой к программистам терминологии, найти CAP для этой задачи. Например, всем известно, что уменьшая ошибку первого рода, ошибка второго рода увеличивается. Проведя аналогию, уменьшая анонимность, увеличиваем достоверность; увеличивая анонимность, уменьшаем достоверность.
В общем, чтобы быть объективным, а не голословным, воспользуемся методом исключенного третьего (методом от противного). Надеюсь, представители интуиционистской логики не будут против.
Тезисы
- Результаты должны быть открыты всем и всеми верифицируемы, путем подсчетом голосов.
Предположим, результаты не открыты. То есть результаты не публикуются, вообще, или публикуется одно, два числа, то есть доступны только итоговые результаты. Выглядит это ненадежно, ведь на пути от результатов к итоговым результатам, могла возникнуть ошибка, которая повлияла на итог. В любом варианте, если все результаты не доступны всем могут возникать коллизии, недопонимания и двойной подсчет. Вообще-то, ситуацию, что все результаты доступны только ограниченному кругу лиц, правильно считать дискриминационной и недопустимой. Так, что вариант с закрытыми результатами не применим! ч.т.д.Вообще-то, существуют методы проверки результатов по косвенным признакам (exit poll, распределение времени голосования в зависимости от голосов), но все эти методы сложны и имеют главный недостаток, они непрямые.
Вывод. По результатам голосования должна публиковаться база (таблица) со всеми голосами и выбором.
- Любой человек должен иметь возможность проверифицировать свой голос по опубликованной базе.
Допустим, что кто-то не может проверить, как он проголосовал. Отсюда, возможно, что кто-то в середине мог подменить его голос (MIM проблема). Это крайне нежелательно и недопустимо. ч.т.д.Конечно же, следуя правилам простой анонимности, мы не хотим, чтобы в базе писалось ФИО + адрес человека. Значит там должен быть некоторый ключ, известный только самому человеку!
- Ключ не должен выдаваться никаким авторизационным центром.
Если представить, что ключ выдается некоторым центром, то этот центр обладает всеми данными, чтобы сопоставить человека и его голос (база голосов опубликована). Даже обладая безграничным доверием, центр (или кто-то другой) всегда может им злоупотребить. Так, что будем рассматривать этот аспект деанонимности как нежелательный. ч.т.д.Стоит отметить, что тайна определения ключа и тайна голосования никак не связаны. Например, обеспечить тайну голосования в большинстве случаев невозможно, даже используя интернет и https (всегда кто-то может стоять за спиной).
- База данных голосов должна содержать некоторые групповые анонимные, но верифицируемые признаки.
Если база данных не содержит никаких вторичных признаков относительно человека, тогда крайне легко осуществить вброс голосов, что является не желательным.Одним из таких признаков может быть общее количество голосов. Очевидным является факт, что количество голосов не должно превышать количество населения. Можно включить так же признак пол или участок голосования или время(?) голосования. Например, независимые наблюдатели могут проверить количество человек голосовавших на одном участке и руководствоваться этим для верификации результатов.
Дальнейшие рассуждения, не кажутся очевидными и могут быть рассмотрены, как компромиссы или варианты. И, да, я не исключаю, что в теории все системы голосования уже используют эти тезисы.
Рабочая модель
На основании полученных выше тезисов, приведу модель голосования, которая кажется мне простой и удовлетворяет изложенным требованиям. Все, как и раньше, ходят на участки для голосования с случайно-уникальным номером (сгенерированным заранее или на участке), но известного только избирателю. Дальше пара номер-выбор + групповые признаки кладется в урну или сразу пересылается в ЦИК. Где она становится доступна через 10-30 минут в общей базе (задержка, чтобы нельзя было отследить голосовавшего по времени).
Для того, чтобы исключить все заявления, я голосовал за одного, а мой голос подменили (Такое всегда возможно в анонимной системе!), проводится следующая процедура.! Человеку предлагается проверить результат, после скушанного пирожка и 15 минут ожидания, и если что-то не соответствует, написать заявление вместе с компетентными органами и поменять голос. Конечно же это процедура моментально деанонимизирует человека, но позволит ему сделать его выбор!
Данная модель не гарантирует, что любые выборы могут состояться. Если, например, придя домой > 20% населения нашли свои результаты не своими или групповые показатели далеко отклонились от нормы переписи населения, конечно выборы следует признавать недействительными и проводить их заново.
Неразрешенные вопросы
- Анонимность голосования. Строго говоря, не знаю как она может быть решена. В принципе, классические методы вполне работают: урна, индивидуальная комната с компьютером или аппаратом для голосования.
- Заявления о неправильном учете голоса и компетентные органы. В любой системе с анонимностью, не представляется возможным проверить, за кого действительно голосовал человек. Поэтому, высока вероятность некоторой группы лиц постоянно срывать выборы из-за огромного числа «нечестных» заявлений. В то же время, это может быть признаком постоянных фальсификаций. Что именно из двух, определить сложно.
- Деанонимизация через групповые признаки. Например, номер участка является групповым признаком, но как ни странно некоторые участки могут быть малы и достаточно закрыты для того, чтобы с легкостью выявить голос определенного человека. Метод борьбы: увеличение агрегации группового признака.
Спасибо за внимание.
Автор: vics001