Рассмотрение возможной модели выборов с применением принципов непрерывного голосования и делегирования голоса

31 Янв
2012

Тема выборов по объективным причинам сегодня одна из самых горячих, не в последнюю очередь из-за многочисленных претензий разной степени обоснованности к качеству выборов. Если оставить в стороне социальные и политические процессы, то остаётся чисто техническая сторона вопроса, которая заключается в следующих вопросах: что такое выборы, предъявляемые к ним требования и какова наиболее эффективная реализация.

К сожалению, обычно делаются попытки ответить сразу на третий вопрос, без анализа первых двух. В тексте же дана попытка последовательно дать ответы на поставленные вопросы с учётом развития телекоммуникационных и вычислительных технологий. Строятся модель избирательного процесса с точки зрения возможности введения непрерывного голосования и делегирования голоса, рассматриваются «атаки» на модели выборов, как: создание мёртвых душ, использование чужих голосов, искажение конечных результатов перед оглашением (аналог MitM), влияние на избирателей (подкуп, шантаж и т.д.) и другие.

Если вам интересен именно предлагаемый вариант модели избирательного процесса без особых деталей, то вы без сильных потерь можете перейти в самый конец статьи, в раздел «А что в итоге?».

Что такое выборы


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

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

Таким образом под определение выборов естественным образом подпадают: референдум, выборы в законодательные органы, голосование в них, выборы президента, ну и наконец, даже, Новгородское вече. Кроме того стоит отметить, что оно покрывает и голосования в онлайн сообществах, таким образом, всё ниже сказанное может быть применено и к веб-сайтам.

Теперь для чего же собственно необходимы выборы?

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

А что это за «группа людей»?

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

Т.е. можно заключить следующее: до выборов следует допускать людей представляющих ситуацию на местах и прямо заинтересованных в их результате (для голосования в Чукотке не имеет смысл учитывать голоса Краснодарцев). Данная мера позволяет работать механизму обратной связи более эффективно (для регулировки температуры в котле не имеет смысл мерить температуру на улице).

Кроме того могут применяться дополнительные меры для увеличения эффективности, т.к. называемые «цензы», т.е. фильтры отсеивающие людей представляющих некомпетентные и не системные политические силы. Например, в случае общенародных выборов это дети, в случае же выборов в законодательных органов (например в Думе), то это весь народ за исключением самих депутатов, т.е. в данном случае народ не без причин считается некомпетентным в области прямого законотворчества.

Что такое «принятие решений»?

В связи с техническими причинами и для ускорения процесса, обычно предлагается несколько вариантов (партий, людей, текстов и т.д.) из которых и происходит выбор. В результате могут получаться:
  • выбор одного из списка (из вариантов А, Б, В, выбираем именно А, например выборы президента)
  • распределение влияния (А даём 35%, Б — 30%, а В — 25%, например выборы в госдуму)
  • бинарный ответ (да или нет, например принятие закона)

Что за ключевые вопросы?

Ясно что не особенно разумно для вынесения решения по каждой мелочи устраивать полноценное голосование. Из соображений издержек, компетенции принимающих решения, обладанию полной информацией, проведению общей стратегии необходимо выделять представителей с расширенными полномочиями и ответственностью, которые будут решать оперативные вопросы и формулировать общую стратегию. Таким образом не весь круг вопросов необходимо решать выборами, поэтому, на мой взгляд, модели «прямой демократии» нежизнеспособны.

Каков круг данных «ключевых вопросов», разумеется предмет обсуждения и компромисса, отчасти данный вопрос решён существующей политической системой.

Требования к системе выборов


Из описанного выше можно заключить следующие требования для выборов, они должны:
  1. эффективно реализовывать механизм обратной связи во властных структурах
  2. способствовать плавному изменению властных структур согласно веяниям времени
  3. быть устойчивы к попыткам влияния на получаемые результаты
  4. позволять входить во власть новым людям и идеям
  5. отсеивать людей владеющих информацией и компетенцией необходимых для принятия решения
  6. иметь возможность получать результат в трёх видах (см. «Что такое „принятие решений“?»)
  7. быть удобной для обычных людей
  8. иметь минимальную стоимость эксплуатации
  9. (опционально) иметь возможность плавного внедрения

Текущая система

Рассмотрим текущую избирательную систему на соответствие данным требованиям:
  1. Большой временной лаг, сильное искажение информации, например, избираемый может не проводить курс поддерживаемый проголосовавшими за него или будет заниматься популизмом только перед выборами.
  2. Властные структуры в текущей в текущей архитектуре избирательного процесса не заинтересованы в изменениях, наоборот им выгодна консервация ситуации.
  3. См. список атак ниже.
  4. Из-за пункта 2 устанавливаются разнообразные административные препоны для вхождения новых людей во власть и политику. (кол-во подписей, допуск к выборам, регистрация партий)
  5. Общенародное голосование с возрастным цензом являются удовлетворительными схемами, избрание депутатов менее удовлетворительно, т.к. зачастую они избираются не как специалисты в законотворчестве, а как саженники от партий.
  6. Выполняется.
  7. Процесс достаточно лёгок и интуитивно понятен, тем не менее требует прогулки до избирательного участка.
  8. Стоимость выборов (общероссийские + региональные + финансирование ЦИКа) колеблется в зависимости от «жаркости» года от 0.2% до 0.5% бюджета РФ (источник)
  9. Выполняется.

Атаки

Наиболее активная борьба разворачивается над третьим пунктом, который приводит к ухудшению ситуации по пунктам 1, 2, 4, 5. Составим список возможных атак:
  1. использование «мёртвых душ»
  2. не авторизованное голосование (например, подкидывание бюллетеней)
  3. использование чужого голоса без ведома его владельца
  4. искажение результатов при передаче
  5. влияние на избирателей (подкуп, шантаж, угрозы)
  6. недопущение авторизованного лица к голосованию
  7. препятствование попадание варианта в список голосования (недопущение кандидатов и партий)

Альтернативная модель


Как указанно выше существующая система, даже в случае кристально чистого исполнения (что как мы понимаем не так), имеет в своём дизайне серьёзные недостатки. Так исторически система избрания делегатов и периодичности выборов была необходима из-за несовершенства технических средств связи. Кроме того избрание делегата в «маленькой деревне», снимало многие проблемы, т.к. избираемых довольно хорошо знали, но по мере глобализации механизм начал давать серьёзные сбои, вплоть до полного убиения в некоторых местах (отмена одномандатников).

Основа

Таким образом после короткого рассуждения можно понять, что альтернативные варианты желательно строить на следующих пунктах:
  1. использование современных телекоммуникационных и вычислительных средств (в т.ч. Интернета), а так же достижений криптографии (цифровые подписи)
  2. непрерывность голосования
  3. прямое делегирование голоса

Что позволит:
  1. потенциально сократить издержки, ускорить процесс, повысить его прозрачность и ввести ранее технически невозможные схемы
  2. позволит получать непрерывную обратную связь, взамен существующей «лагающей», что вынудит властные структуры работать постоянно, а не только перед выборами
  3. позволит естественно выделять политически активных, формироваться новым силам и отсеивать компетентных людей, а так же даст полный контроль человека над своим голосом

Проблема доверия

По определению мы не можем доверять власти, т.к. если у неё будет иметься возможность вмешаться в избирательный процесс, она несомненно им воспользуется для укрепления своего положения, не сомневайтесь. И нет, мы не можем доверять законодательным актам, говорящим «вот эта организация проводит выборы и она независима от власти». Мы лишь можем верить в себя и холодные алгоритмы, которые мы можем проверить и проконтролировать их работу на чьей-то машине.

Но выльем ушат холодной воды на разгорячённые головы, с таких позиций мы принципиально не сможем создать систему реализующую «честные» выборы. По простой причине: мы не знаем кто авторизован, а кто нет.

Предположим сделав веб-сайт, как вы будете бороться с ботами? Наверно поставить капчу. А что если вы делаете политфорум только для граждан России? Будете давать тест на знание культуры и языка как в Fallout: New Vegas? А в Израиле, например, куча людей которые легко ответят на вопросы, а например Вася из 5-го Б не сможет ответить, хотя он гражданин РФ.

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

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

Как контролировать систему авторизации это отдельный вопрос, выходящий за рамки данной статьи. Тем не менее необходимо отметить, что данный вопрос критически важен, иначе система становится уязвима к атакам номер 1, 3 и 6.

Анонимность

Общепринятой практикой при голосовании обычных людей является тайна голосования, она позволяет относительно эффективно бороться с атакой 5, но упрощает атаки 1, 2 и 3.

Однако, криптография даёт нам отличный инструмент, он называется «слепая подпись«, если вкратце, то вы кладёте бюллетень с вашим голосом и кальку в конверт и отсылаете его проверяющему (авторизационный центр описанный выше), он удостоверяется что вы авторизованны для голосования и подписывает конверт и печать проставляется на вашем бюллетене, получив конверт вы достаёте подписанный бюллетень и кладёте его в урну. Фокус в том, что авторизационный центр не знает как вы проголосовали, но все могут проверить что все кто клал бюллетени в урну были им авторизованы.

Таким образом на корню устраняется атака 2, а при голосовании в общую урну дома через интернет, то сильно усложняется и атака 5, но снова всплывает критичность авторизационного центра, плюс критичность защищённости самой карты, для защиты от кражи голоса (атака 3)
3 и 6.

Анонимность 2.0

Но если мы хотим делегировать голоса, то нам нужно вывести анонимность на новый уровень, простой слепой подписи недостаточно. Введём авторизующий центр (АЦ) и систему учёта голосов (СУГ), первая обговорена ранее, а вторая отвечает за учёт избирателей и ведёт операции с их голосами.

Нам необходимо, что бы учётная запись в СУГа гарантировано биективно отображалась в учётную запись АЦ, но при этом хозяин данных систем (государство) не знало этого отображения. Т. е. все могут проверить что каждой записи в СУГе соответствует одна и только одна запись в АЦ и наоборот, но при этом никто не в силах восстановить это отображение, т.е. получить по записе в СУГе запись в АЦ (иначе говоря по вашему номерку в СУГе никто не сможет понять кто вы). И при этом всём, вы должны иметь возможность поменять запись в СУГе на новую.

Это реализуется, во-первых, через проверку количества записей в обоих системах, ясно что оно должно более-менее совпадать. (максимальная погрешность порядка миллиона записей) Если оно будет расходиться хотя бы на единицу это уже повод для больших разборок. Во-вторых все записи в СУГе должны быть слепо подписаны АЦом, так что мы сможем ручками проверить подписи каждой записи и убедиться что всё в порядке.

Это всё хорошо, а как делать?

Схема следующая, сначала происходит активация записи в СУГе:
  1. Пользователь генерирует секретный и публичный ключи и создаёт форму на их основе (неподписанная запись) по установленному стандарту
  2. Пользователь отсылает форму на слепую подпись АЦу
  3. АЦ подписывает конверт, сохраняет подписанный конверт на всякий случай и делает запись, что пользователь запрашивал подписывание формы (если пользователь попытается подписать ещё одну форму ему будет отказано)
  4. Пользователь распечатывает конверт и получает подписанную форму
  5. Пользователь отсылает подписанную форму СУГу
  6. СУГ проверяет подпись АЦ и в случае успеха создаёт новую запись избирателя (в сущности просто сохраняет форму)

Ясно, что пользователь не сможет создать больше одной записи в СУГе, при случайной потере подписанного конверта, пользователь сможет скачать его потом заново, т.к. АЦу его сохраняет. В случае же если вместо формы пользователь послал мусор, то дав указания кк распечатать конверт, он может попытаться ещё раз.

Теперь у пользователя есть учётная запись в СУГе, которая представляет дополнительную ЭЦП для пользователя.

А как создавать новую запись в СУГе взамен старой? Примерно так:
  1. Пользователь запрашивает удаление записи в СУГе
  2. Запись в СУГе помечается удалённой
  3. Пользователь запрашивает подписанное подтверждение об удалении в котором содержится идентификатор записи
  4. Пользователь отсылает это подтверждение АЦу, а так же даёт указания как распечатывать конверт (помните АЦ сохраняет подписанный конверт?), плюс прикладывает новую запечатанную форму (при этом она запечатана другим ключом, по сравнению со старым конвертом)
  5. АЦ сверяет подписи и идентификаторы и в случае успеха подписывает конверт с новой формой

Уведомление о удалении записи в СУГе можно получать более одного раза. Видно что, таким образом может раскрыться история по прошлым голосованием, но в сущности кому какое дело как вы голосовали 10 лет назад? Тем более для того что бы это узнать надо будет иметь административный доступ к системам АЦа.

А как же дети?

Закономерно возникает вопрос, а что делать с новорожденными. Дети тоже будут иметь запись в АЦ, в то время как требуется что бы кол-во записей в СУГе и АЦе совпадало.

Всё просто. Дети тоже будут иметь запись в СУГе, но там будет стоять пометка «несовершеннолетний», которая не будет учитываться в общем подсчёте, для снятия которой надо будет в том числе и зарегистрировать запись в СУГе.

А смерть?

После регистрации смерти человека, его запись в АЦе дезактивируется, следовательно с его карточкой не смогут производить действия. Но мы не сможем дезактивировать запись в СУГе, т.к. мы не можем установить соответствие между ними. Действие с записью СУГа возможны только при активной карточке, следовательно с картой никто не сможет производить никаких действий, тогда по происшествию некоторого таймаута (скажем год) отсутствия действий запись в СУГе помечается «неактивной» и её можно будет только лишь заменить на новую, что в случае умершего человека будет невозможно. Именно отсюда возникает та досадная разность между количеством записей в СУГе и АЦе.

А что в итоге?


Мы получаем анонимную учётную запись избирателя. Кроме того совершенно любой человек может зарегистрировать особую учётную запись (назовём по традиции её партией) на которую можно будет делегировать голоса. Голоса партии можно делегировать другой партии, разумеется с запретом на циклы, при этом нельзя делить голоса, можно перевести либо все, либо ни одного. При этом после делегации голоса не исчезают, их можно будет применять, даже против той партии на которую они были делегированы. (см. раздел «А как будет идти голосование?») При этом человек и партия может делегировать свой голос(а) более чем одной партии.

Т.е. скажем у партии А есть 10 голосов, а у партии Б 20 голосов, считаем что все эти голоса уникальны и там нет моего голоса. Теперь если партия А делегирует свои голоса партии Б, то у А остаётся 10 голосов, а у партии Б становится 30. Теперь я делегирую свой голос партии А и у неё становится 11 голосов, а у партии Б становится 31. Если же я делегирую свой голос кроме А ещё и Б, то у партии Б останется всё-равно 31 голос, т. к. считаются только уникальные голоса, если же А рассорится с Б и остановит свою делегацию, то у Б будет 21 голос, а у А 11.

А как будет идти голосование?

Теперь предположим возник какой-то вопрос, скажем выбрать президента, либо принять закон. Пусть у нас есть эти две рассорившиеся партии. А голосует «против», а Б «за», соответственно в итоге Б выигрывает с преимуществом в 10 голосов, т.к. мой голос одновременно проголосовал и «за» и «против», а значит в сумме дал ноль голосов.

Итак, президента выбрали он начал работу, работал он, работал, но поработав 12 лет стал уставать и не справляться с обязанностями. И решает Б что хватит сидеть этому кандидату на президентском кресле и голосует за нового президента, А тоже решило поддержать нового президента, так что старый президент проиграл со счётом 31 голос (мой голос два раза «за» дал один «за»).

Разумеется для того что бы ответственные посты не «чехарадило», необходима будет система таймаутов, т.е. например год после назначения президента нельзя снять если его на один процент обогнал кто-то ещё, что бы результат подтвердился преимущество должно сохраняться скажем неделю ну и т.д. это уже несущественные детали.

Кроме того естественно возникает цивилизованная уведомительная прописка, вместо текущей крепостной. Т.е. прописавшись в Чебоксарах ваш голос будет учитываться в муниципальных выборах Чебоксар, Чувашии и России, и никак не будет учитываться на выборах в Москве. Если же вы не желаете указывать прописку, то ваш голос будет действителен на общероссийском уровне, но нигде на муниципальном. Разумеется необходимо будет установить ограничение на частоту смены прописки, дабы избежать лягушек-путешественниц.

Как будет выглядеть это для обычного человека?

Разумеется вся криптография будет спрятана за софтом с открытым исходным кодом. Получение, замена и делегирование будут лишь кнопочками в программе. Например, если пользователю надо будет делегировать свой голос, он просто найдёт в реестре понравившеюся ему партию и нажмём кнопку «Делегировать голос». Если же он захочет отменить, то он зайдёт в список партий получивших его голос и опять же сможет одним кликом отменить делегацию. Кроме того он сможет узнать куда партии делегируют его голос дальше. Если же у пользователя не будет компьютера, он сможет совершить те же действия в терминалах госуслуг муниципальных учреждений.

Чем оно лучше?

Рассмотрим выполнение списка требований (см. сам список выше в разделе «Требования к системе выборов»):
  1. Непрерывное голосование а так же давление множества маленьких партий вынудит власть быть в тонусе и отвечать требованиям людей
  2. Естественная структура появления новых сил и распределения влияния между партиями позволит системе плавно меняться отвечая новым идеям и поколениям
  3. Открытая система где можно проследить маршруты делегирования голоса значительно увеличит защищённость прозрачность выборов (см. дальше анализ атак)
  4. Т.к. партию может создать любой, то если его идеи и харизма это позволяют, то он быстро наберёт политическую силу без всяких значительных финансовых влияний
  5. Люди будут делегировать в первую очередь голоса тем кому они доверяют и считают которые смогут обращаться с их голосом целесообразно (например бабушка скорее делегирует голос своему внучку, нежели какой-то абстрактной партии). Соответственно далее по цепочке силу будут набирать наиболее компетентные и подходящие люди
  6. Все три варианта реализуемы
  7. Работа с системой сведётся к вставке карточки и щёлканию по кнопкам, при желании прямо из дома. Единственное неудобство, нужно будет производить действия хотя бы раз в год.
  8. Большая часть системы полностью автоматизированна, при грамотном горизонтальном масштабировании, стоимость обслуживания будет относительно низка.
  9. Систему можно внедрять плавно начиная с маленьких экспериментов, например избирать так мера, или законодательный орган малой административной единицы.

Рассмотрим возможные атаки (см. выше в разделе «Атаки»)
  1. Надёжность равна надёжности авторизационного центра (АЦ)
  2. Невозможно, т.к. каждая запись в системе учёта голосов (СУГ) подписана через АЦ
  3. Надёжность равна надёжности карты использующейся для работы с АЦ
  4. Невозможно, т.к. вся система делегирования полностью прозрачна и малейшее инородное воздействие легко детектируется за счёт отсутствия верной ЭЦП
  5. Сведено к минимуму, т.к. можно делегировать голос множество раз и отменять делегацию
  6. Сведено к минимуму, т.к. малейшая недоступность системы и некорректность её работы будет прямым хорошо документируемым нарушением
  7. сведено к минимуму благодаря тому что политическая сила будет распределяться очень сильно и политическая арена будет высококонкурентна


Вывод


Как видим предложенный механизм имеет перспективные возможности и достоин дальнейшего обсуждения. Разумеется в статье скорее всего не обошлось без ошибок и неточностей, так же наверняка предложенная схема не является идеальной. Я хотел бы в первую очередь обратить внимание что избирательный процесс возможно и нужно реформировать, а так же на относительно экзотические принципы непрерывного голосования и делегирования голоса. Буду рад комментариям и замечаниям, кроме того, если данные идеи вам понравились не стесняйтесь их распространять.

Благодарю за ваше внимание.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх