Pull to refresh
44
0
Всеволод Новиков @nnseva

User

Send message

Прежде всего, спасибо, что присоединились к обсуждению.


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


Разумеется, э/голосование в текущем виде неудовлетворительно, о чем было сказано еще в предыдущем посте. Приведение системы в относительный порядок — это первоочередная задача, и она имхо вполне решается использованием тех инструментов, которые задействованы в текущей разработке. Об этом я и пишу здесь в основном.


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


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


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


Если вы о чём-то содержащем слово "блокчейн" в описании, то сразу забудьте, в случае электронного голосования почти гарантированно задача решается значительно проще, ибо у нас неизбежно есть центральная организация ответственная за проведение выборов

Центральная организация не означает, что блокчейн не применим, например использованная ДИТ система Exonum как раз и предполагает такой способ использования, предлагая разделение узлов системы на два типа, ответственных за генерацию блоков, и ответственных за аудит. Мы можем только сказать спасибо разработчикам за выбор этой системы. Наша очередь действовать — нам нужно настоять на развертывании узлов аудита у независимых наблюдателей.


Что касается регистрации, то на ее примере я полагаю, хорошо заметно прежде всего, что детали административной верификации исходных данных в настоящих обстоятельствах гораздо важнее технических деталей реализации контроля целостности собранных данных. Регистрация московских участников голосования на mos.ru на основании осведомленности о личных данных, вызвавшая скандал на идущем сейчас голосовании, — хороший пример этому. При всех недостатках, ЕСИА оказался по всей видимости, значительно более устойчив к фальсификации за счет требования о непременном личном визите к уполномоченному регистратору.

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

на тему проксикратии см.также fluid democracy, cloud democracy

Судя по сарказму, вы считаете, что этого не достаточно, предлагайте свой вариант.

Система голосования не призвана бороться с социальными дефектами, но она должна им противостоять, чтобы минимизировать их влияние на свободное волеизъявление голосующих. Реальность такова, что люди не идеальны.

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

Спасибо за детальный разбор. Я действительно, знаком с блокчейн-системами весьма поверхностно.


О "проблеме 51%" я пишу скорее как о названии. Мне уже написали выше, что ключевым соотношением в данном случае, является 2/3, что впрочем, не отменяет основного вывода: при монопольном контроле всех узлов, подмена цепочки возможна и не отслеживаема.


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


Правописание поправлю.

Я был бы весьма рад, если бы он вступил в эту дискуссию.

Хорошее замечание. Наверно, концептуально это действительно лучше.


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

Ну, в точности так же можно и забрать у человека бумажный бюллетень. В этом смысле, эл. голосование ничуть не хуже.

должен заметить, что в обсуждаемой системе этой возможности нет

Я исхожу из предположения, что сервер знает, кто к нему отправил голос.

Ну, это не обязательно, на самом деле

то, что каждый из них владеет только одной частью ключа. На тестовом голосовании было 5 частей например.

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

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


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


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


  4. Публичный аудит — его часть в виде аудита кода по кр.мере — мы сейчас и пытаемся осуществить, так что разработчиков следует имхо поблагодарить за эту возможность. Я думаю, что мы также должны добиваться использования анкоринга, независимых узлов аудита, а также создания сети независимых узлов валидаторов (о них — в одном из первых каментов).


  5. Думаю, это будет решаться в рамках развития самих инструментов блокчейна.


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

Что-то я заблудился, а идентификация голосующего — это вообще, какое из полей здесь? оно здесь точно присутствует?

Ну, в таких местах я полагаю, и оффлайн не особо помогает.

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

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity