2009-05-30

Публикации Выравнивание по ширине и расстановка переносов Лето, мобильный офис и коворкинг

Helios Voting

Андрей Орлов  2009-05-30 21:47

Недавно натолкнулся на интересный сайт: "Helios Voting". Это специальная служба, позволяющая провести закрытое голосование среди участников небольшого сообщества, с возможностью проверки результатов, исключающей их фальсификацию.

Helios Voting

Helios Voting

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

О невозможности фальсификации

Опуская технические детали реализации, устойчивость к фальсификации обеспечивается предоставлением двух возможностей:

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

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

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

Технические детали

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

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

В основе клиентской части приложения лежит JavaScript, хотя часть ресурсоемких расчетов выполняется при помощи вызова Java-процедур (LiveConnect). Такой подход позволяет приложению работать в большинстве современных браузеров (хотя авторы ориентируются в первую очередь на firefox), при этом сохраняется возможность легкого понимания и аудита исходного кода: использование библиотеки jQuery позволило сократить оригинальный код до легко воспринимаемого вида, а корректность самой jQuery можно проверить, сравнив с оригинальной версией.

Заключение

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

Появление такого сервиса несет, скорее, образовательный смысл, знакомя и обучая интернет-пользователей использованию криптографически-защищенных сервисов голосования. Каждый этап процесса может быть проверен, причем, не только собственно подсчет голосов, но и корректность работы программного обеспечения, правильность библиотек и прочее. Хотя это не является откровением, прочитать это в компактно изложенном виде крайне полезно, поэтому совету всем заинтересовавшимся обязательно прочесть статью Helios: Web-based Open-Audit Voting.

DreamBot Zope3 Учат тут Нейросети Репозиторий Слив! Статистика Редакторам Мобильный блог
Официальный сайт Zope3 Московская группа изучения реактивного движения The Dream Bot Site nooxml Сайт посуточной аренды квартир в москве