Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Основная проблема голосований (выборов и референдумов) в том, что они фальсифицируемы. Не важно, пользуется кто-нибудь этой возможностью или нет. Предлагаю рассмотреть возможность организации голосований таким образом, чтобы вмешаться в подсчёт результатов было невозможно. По крайней мере таким образом, чтобы это не было очевидно.
Невозможно фальсифицировать открытое голосование. Голос каждого избирателя заносится в таблицу, после чего каждый может проверить, что лично его голос учтён верно. Чтобы сохранить проверяемость результатов и сохранить тайну голосования предлагается воспользоваться методикой хэширования данных. Будем хэшировать данные об избирателях и выбранных ими кандидатах.
Предлагаю рассмотреть алгоритм хэш-выборов на простом примере. В небольшом городе Большие Волки проходят выборы мэра. На должность претендуют 2 кандидата: Иванов и Сидоров. Население города 30 тысяч человек, из них 20 тысяч избирателей. Голосование полностью электронное.
Чтобы проголосовать каждый избиратель должен скачать специальное ПО (с открытым исходным кодом). В интерфейсе ПО следует ввести личные данные, выбрать кандидата и придумать пин код. ПО на основе личных данных и пин кода генерирует уникальную хэш строку, которую вместе с выбранным кандидатом передаёт на сервер. Также ПО передает на Госуслуги информацию о том, что избиратель проголосовал.
Наличие пин кода гарантирует, что из хэш-строки невозможно будет получить информацию об избирателе. Основным требованием к алгоритму будет отсутствие коллизий, то есть алгоритм не должен генерировать одинаковые хэш-строки для разных избирателей.
После завершения выборов таблицы 2 и 3 будут опубликованы в общем доступе. Каждый избиратель сможет проверить свой голос, зная личную хэш-строку. Человек видит, что его голос опубликован верно, все его друзья, коллеги, родственники и знакомые подтверждают правильность подсчёта голосов. После этого человек доверяет выборам (референдуму) и уверен, что результат не фальсифицирован.
Единственным способом вмешаться в результаты голосования будет добавить в таблицу 3 хэш-строки, не соответствующие реальным избирателям. Чтобы исключить подобные манипуляции заполняется и публикуется таблица 2. В ней содержится список жителей города, имеющих право голосовать, и информация о том, кто из них голосовал. Содержимое таблицы также может быть проверено любым жителем города, а количество голосовавших людей должно совпасть с количеством хэш-строк в таблице 3.
Предложенный алгоритм голосования обойдется бюджету гораздо дешевле классического, позволит повысить доверие избирателей и создаст высококвалифицированные рабочие места. Вбросы, карусели и ошибки в подсчётах будут исключены. Минусом является невозможность сохранить в тайне сам факт голосования, что кажется вполне адекватной ценой.