Компьютерра, 2007 № 44 (712) | страница 49




Два важнейших принципа честных выборов можно сформулировать так.

1. Избиратели должны совершать волеизъявление с помощью тайного голосования - чтобы было невозможно узнать, кто как проголосовал. Необходимо, чтобы никто не мог подкупить человека или принудить его к голосованию нужным образом, а избиратели, соответственно, не могли бы продавать свой голос.

2. Процесс голосования должен быть точным и проверяемым. Каждый избиратель должен иметь возможность убедиться, что никто не проголосовал больше одного раза; что голоса не были вброшены, уничтожены или подменены; что голосовали только зарегистрированные избиратели, а все отданные голоса были подсчитаны правильно.

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

Однако, как часто бывает в жизни, очевидный на первый взгляд вывод оказывается неверным. Например, люди веками были уверены, что засекреченная связь возможна лишь между теми, кто владеет общим секретным ключом к шифру. Столь же незыблемы были и представления о единственно возможном механизме организации выборов с помощью избирательных комиссий, подсчитывающих число голосов, отданных за конкурирующих кандидатов. Но четверть века назад в науке о защите информации произошла великая революция. Выяснилось, что существуют математически строгие методы засекречивания, позволяющие шифровать связь между абсолютно незнакомыми и никогда не общавшимися людьми - посредством криптографии с открытым ключом. Попутно ученые установили, что с помощью тех же самых, в сущности, идей можно реализовать и честные выборы, которые примиряют взаимоисключающие принципы. Правда, поначалу решения были найдены лишь для теоретических моделей, довольно далеких от реалий жизни.

Эти модели подразумевали избирателей, подающих голоса в зашифрованном виде, чтобы никто из счетчиков комиссии не знал содержимое заполненного бюллетеня. При этом специальный метод "доказательства с нулевым знанием" (zero knowledge proof) давал счетчикам механизм, подтверждающий правильность учета голосов. Независимые комиссии наблюдателей, в свою очередь, могли проверять эти доказательства и убеждаться, что счетчики действительно не жульничали. Но кто за кого проголосовал, по-прежнему оставалось тайной. Главная красота моделей была в том, что здесь не требовалось слепо доверять честности власти, организующей выборы, или программистам, сделавшим по заказу правительства программную систему для проведения выборов, или кому-либо еще. Никто из них в принципе не мог сжульничать. Потому что это было математически невозможно - обмануть и не быть пойманным (с убедительным доказательством жульничества). Все, что для этого требовалось, - заложить в систему права на верификацию. Теоретически любой человек мог бы тогда воспользоваться программой-верификатором (или написать собственную) и проверить доказательства честности выборов самостоятельно - согласно стандартным процедурам проверки.