Электронное голосование (ЭГ) – это дистанционное голосование, позволяющее не привязывать волеизъявление граждан к фактическому месту их нахождения. В силу того, что интернет-технологии не только развиваются с невероятной скоростью, но и становятся все более неотъемлемой частью жизни для простого обывателя, их применение в политических процессах более чем обоснованно и естественно. Однако, как и любое другое техническое решение, электронное голосование создает ряд трудностей и проблем, которые необходимо преодолеть. В данной работе мы не только обсудим достоинства и недостатки ЭГ, но также заострим особое внимание на реализацию алгоритмов, обеспечивающих главный критерий избирательной системы – тайну волеизъявления, и обсудим уязвимые с сточки зрения защиты информации в них места.

Немного из истории электронного голосования. Опыт разных стран

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

В 2002 году ЭГ проводилось в Швейцарии. Здесь уже правительство заранее озаботилось созданием правовой базы. Кроме того, голосование проводилось с использованием универсальных и стандартизированных ID-карт. С одной стороны, они не позволяли голосовать одному человеку дважды. С другой стороны, списки голосовавших состояли не из имен, а из номеров этих карт, что обеспечивало анонимность голосования. Благодаря ЭГ явка повысилась, а 90% швейцарцев сказали, что хотели бы снова принять участие в подобных выборах.

Рис.1. ID-карта избирателя в Швейцарии
Рис.1. ID-карта избирателя в Швейцарии

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

Достоинства и недостатки ЭГ

Из опыта стран-пионеров ЭГ можно выделить как ряд очевидных достоинств.

  1. Граждане могут участвовать в политической жизни страны где бы они не находились – достаточно просто иметь гаджет под рукой.

  2. Время проведения выборов и подсчета голосов происходит на порядок быстрее. А затраты на проведение процедуры значительно уменьшаются.

  3. ЭГ повышает привлекает молодых избирателей.

  4. Выборы становятся прозрачными – сложнее устроить “вбросы” и фальсификацию. 

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

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

  2. Есть риск получения и использования злоумышленниками в корыстных целях персональных данных избирателей. 

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

Сосредоточимся на последнем недостатке и рассмотрим решение проблемы, которое он вызывает.

Идеальное решение: протокол двух независимых агентств

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

Рис.2. Блок-схема алгоритма действия протокола двух независимых агентств
Рис.2. Блок-схема алгоритма действия протокола двух независимых агентств

В результате размышлений над реализацией такой процедуры было выдвинуто “идеальное” решение – так называемый протокол двух независимых агентств. Согласно задумке, первое агентство идентифицирует личность избирателя и присваивает ему некий индикатор, по которому второе агентство понимает – является человек валидным избирателем или нет. Идеальным такое решение называется по одной простой причине: в реальной жизни воплотить такое невозможно. Агентства должны быть независимыми и при этом подконтрольными государству (т.е. быть госструктурой), а это два взаимоисключающих понятия. А возлагать полномочия одного из агентств на какую-то коммерческую компанию, или тем более на иностранное государство, никто не будет, поскольку это прямая угроза национальной безопасности. Кроме того, даже если хотя бы одно из агентств будет сливать информацию третьему лицу, то определить кто за что голосовал тоже не составит труда.

Реальное решение: слепая подпись

Поскольку описанное выше решение невозможно реализовать на практике, а решать проблему все-таки нужно, в отечественной системе ЭГ был внедрен более сложный алгоритм, который называется слепой подписью. По сути идея там такая же, как и в случае протокола двух агентств, но с одной оговоркой – агентства могут быть не независимыми.

Для начала стоит ненадолго отвлечься от нашей темы и поговорить про слепую более детально.

Слепая подпись – это цифровая подпись, которая отличается тем, что подписывающее некий документ лицо не знает что именно оно подписывает. Можно разобрать алгоритм слепой подписи на конкретном примере. Допустим, Алиса хочет отправить тайное послание Василию, но Василий принимает информацию только от достоверных отправителей. Достоверен отправитель или нет определяет Боб, который в свою очередь не может прочитать письмо, а лишь проверяет, что отправитель тот, за кого себя выдает. Чтобы решить такую задачку, нужно действовать следующим образом:

1) Алиса пишет послание и запечатывает его в конверт.

2) Алиса отдает конверт Бобу, чтобы тот убедился в достоверности источника.

3)    Боб понимает, кто такая Алиса, и клеит на письмо марку, тем самым подтверждая достоверность источника.

4)    Алиса забирает письмо с маркой у Боба и отправляет послание Василию (разумеется, без обратного адреса).

5) Василий, получив письмо, видит на нем марку, убеждается в достоверности источника и читает содержимое, не зная при этом отправителя.

Если перевести эти рассуждения на математический язык, то получим следующее:

1) Алиса шифрует послание mпо правилуf,в результате чего получается зашифрованное сообщение c=f(m).

2) Алиса отправляет шифротекст Бобу.

3) Боб подписывает полученный шифротекст, не зная его содержания, т.к.fизвестна только Алисе, функциейg,получая c'=g(c)=g(f(m))

4) Боб отсылает c'.

5) Алиса убирает свое шифрование с вновь полученного подписанного сообщения c',получая c'' = g(f(m))*f -1= g(m).

Рис.3. Блок-схема слепой подписи
Рис.3. Блок-схема слепой подписи

Таким образом, заменив Алису на Избирателя, послание – на бюллетень, Боба – на систему ЭГ, а Василия – на ЦИК, мы получим отлично работающую процедуру тайного голосования.

Стандарт слепой подписи и его криптостойкость

Существует множество стандартов электронных цифровых подписей (ЭЦП). Самый последний из них (ГОСТ_34.10-2018) был принят 1 июня 2019 года и применяется в том числе и в отечественной системе электронного голосования. Именно его мы и рассмотрим.

Обговорим параметры, фигурирующие в данном стандарте:

  • Длина секретного ключа составляет 256 бит.

  • Модуль эллиптической кривой pудовлетворяет двум условиям: p> 2255, p\: - простое число.

  • Эллиптическая кривая Eзадается своим инвариантом на конечном поле F_p, состоящим из p элементов, по формуле

J(E)=1728\cdot \frac{4a^3}{4a^3+27b^2}\ mod p, \qquad 4a^3+27b^2\not\equiv 0\mod p,\qquad a,b\in F_p
  • Порядок группы mточек эллиптической кривой - это целое число, отличное от p.

  • Порядок q(простое число) некоторой циклической подгруппы группы точек эллиптической кривой, удовлетворяющей следующим условиям: m =nq,\ n\in \mathbb{N}, \qquad 2^{254}< q<2^{256}

  • Так называемый генератор подгруппы q-точка P=(x_p,y_p) \in E, для которой имеют место равенства q \cdot P =0,\qquad k\cdot P \neq 0, \ k=1,2,...,q-1, где 0\:-нейтральный элемент.

  • h(M) -так называемая хеш-функция. Она отображает сообщение Mв двоичные векторы длиною в 256 бит.

  • Целое число d\:-ключ шифрование, которым обладает любой пользователь, использующий цифровую подпись, и которое лежит в пределах0<d<q.

  • Точка Q=(x_p,y_p) \in E \:-ключ расшифрования, которым также обладает любой пользователь, использующий цифровую подпись, и который равен Q=d\cdot q.

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

p^t \neq 1\; mod\ q, \qquad t=1,...,B \geq31 \ и \ J(E) \neq0,1728

Обратим внимание на хеш-функцию. Она представляет из себя двоичный вектор из 256 компонент: h=(a_{255}, \ ...\ ,a_{0}).Двоичные векторы можно “сшивать” (операция конкатенации):h_a = (a_{255}, \ ... \ ,a_0), h_b = (b_{255}, \ ... \ ,b_0)x \mapsto (h_a|h_b) = (a_{255}, \ ... \ ,a_0, b_{255}, \ ... \ ,b_0)

А также между ними и целыми числами можно построить биективное отображение по следующему правилу

z= \sum_{i=0}^{255}a_i\cdot 2^i, \qquad z\leqslant 2^{256}.

Биективное оно потому, что формула, его задающая, есть ни что иное, как представление числа z в двоичном виде h.

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

Начнем с формирования ЭЦП. Наглядная блок-схема представлена на рисунке (см. рис. 4), поэтому распишем только формулы, которые мы применяем на каждом шаге.

  1. z\leftrightarrow h(M).

  2. e =z \ mod \ q. Если \ e =0, \ то \ e=1.

  3. k = rand(from \ 0, \ to \ q)

  4. C = kP \to x_c -координата \ C \to r=x_c \ mod \ q.Если r=0, то возвращаемся к шагу 3).

  5. s = rd+ke\ mod\ q.Если s=0, то возвращаемся к шагу 3).

  6. Ставим векторы в соответствие числам r\leftrightarrow h_r = \vec{r}, \ s\leftrightarrow h_s = \vec{s}, \ \xi = (\vec{r}|\vec{s})

Рис. 4. Блок-схема алгоритма формирования ЭЦП
Рис. 4. Блок-схема алгоритма формирования ЭЦП

Теперь проверим ЭЦП. Также сошлемся на наглядную блок-схему (см. рис.5), а каждый шаг опишем сухой формулой.

  1. \xi = (\vec{r}|\vec{s}) \to \ восстанавливаем  \ r\ и\ s. Если \ r<q \ и\ s<q\ \to подпись \ неверна.

  2. \vec{h} = h(M).

  3. z\leftrightarrow \vec{h} \to e=z \ mod \ q \to Если\ e=0, \ то\ e=1.

  4. \nu=e^{-1} \ mod\ q.

  5. z_1 = s\nu\ mod\ q, \ z_2 = -r\nu \ mod\ q.

  6. C = z_1 P+z_2Q \to x_c \ - координата \ C \to R = x_c \ mod\ q.

  7. R = r \to подпись верна, иначе - нет.

Рис. 5. Блок-схема алгоритма проверки ЭЦП
Рис. 5. Блок-схема алгоритма проверки ЭЦП

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

Стойкость хеш-функции: Вероятность того, что хеш-функцию данного стандарта взломают подбором коллизии на фиксированное сообщение, составляет 1,73 \cdot 10^{-77}.Если заниматься подбором произвольной коллизии, то вероятность повышается до 2,94 \cdot10^{-39},но все равно остается чрезвычайно малой.

Стойкость алгоритма шифрования: она определяется проблемой дискретного логарифмирования в группе точек эллиптической кривой. Поскольку пока не существует алгоритмов этой оценки, обратимся к наибыстрейшему – методу Полларда. Для него вычислительная сложность оценивается как O(\sqrt{q}).Следовательно, если положить, чтоqимеет 256 разрядов, это обеспечит криптостойкость в 10^{30}операций.

Реализация слепой подписи на практике

В предыдущем параграфе был рассмотрен конкретный стандарт, в соответствии с которым функционирует российская система электронного голосования. Теперь обсудим, как именно происходит процесс голосования по этапам.

Порядок действий будет следующим:          

1) Избиратель авторизуется на официальном портале. В нашем случае это “Госуслуги”. По сути гражданин просто сообщает свои персональные данные.

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

3) На устройстве избирателя генерируются секретный ключ S и публичный ключK. Это происходит в браузере.

4) Ключ K маскируется случайным образом, в результате чего получаем замаскированный ключ K', по которому определить исходный K возможно, только зная параметры данной маскировки.

5) КлючK' отсылается на сервер, который выдает бюллетени.

6) Сервер подписываетK'своим ключом (назовем эту подписьC'), после чего отсылает ее обратно на устройство голосующего вместе со своим публичным ключом, который абсолютно одинаков для всех пользователей.

7) Бюллетень с выбранным вариантом шифруется публичным ключом с сервера и подписывается ключомS.

8) На устройстве избирателя снимается маскировка с подписиC'и ключаK'. Надо заметить, что процесс устроен таким образом, чтобы получилась действительная для ключаK подпись C.

9) Зашифрованный бюллетень с подписью (вместе с K и C) отсылается на сервер приема бюллетеней.

10) Сервер по приему бюллетеней не знает публичного ключа, так как он был сгенерирован на устройстве голосующего, но проверяет подписьC и то, что бюллетень был подписан секретной частью публичного ключа. Таким образом, сервер определяет, что бюллетень был выдан настоящему избирателю, правда, уже непонятно, какому именно.

11) После этой проверки сервер отправляет бюллетень в базу.

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

Более наглядно алгоритм можно представить в виде блок-схемы (см. рис. 6).

Рис. 6. Блок-схема процесса голосования
Рис. 6. Блок-схема процесса голосования

Резюме и выводы

Подведем итоги обзора систем электронного голосования. Мы кратко обсудили историю создания и внедрения систем ЭГ в различных зарубежных странах. Отдельно проговорили положительные моменты ЭГ:

  • Нет привязки к определенному месту.

  • Затраты значительно ниже, а скорость обработки результатов выше.

  • Прозрачность.

Также обсудили и отрицательные стороны ЭГ:

  • Угроза хакерских атак

  • Утечка данных избирателей

  • Сложность в обеспечении тайности голосования

Далее мы сосредоточились на алгоритме реализации процесса голосования. Было рассмотрено как идеальное решение “протокол двух независимых агентств”, не реализуемое на практике, так и более сложное – “слепая подпись”, которое успешно воплощено в жизни. Мы обсудили ее главные положительные качества, а именно:

  • Валидность голосующего. Голосовать может только человек, обладающий избирательным правом и еще не принимавший участия в данных выборах.

  • Анонимность. Определить по бюллетеню личность избирателя не представляется возможном, что обеспечивает выполнение закона о тайне волеизъявления.

  • Невозможность фальсификаций. Голоса избирателей невозможно удалить из системы, равно как и изменить их.

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

Наконец, мы на пальцах обсудили процедуру электронных выборов – как именно происходит тайное голосование.

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

Комментарии (40)


  1. ifap
    12.12.2021 14:49
    +5

    TL; TR: Новорег публикует духоподъемную статью про электронное голосование; ГОСТ 34.10-2018 — рулит!


    1. eugene_feo Автор
      12.12.2021 15:38
      +1

      Большое спасибо за такую оценку!


  1. tyomitch
    12.12.2021 14:54
    +2

    Не вижу, что мешает Бобу удостоверить 100500 конвертов, созданных им самим, и переслать их Василию как будто бы от 100500 валидных избирателей.


    1. eugene_feo Автор
      12.12.2021 15:40
      -4

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


      1. tyomitch
        12.12.2021 15:51
        +13

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


  1. Daddy_Cool
    12.12.2021 15:54
    +2

    Как-то очень сложно. Почему нельзя проще?
    1. Человек заходит на «Госуслуги», видит список для голосования. Голосует. Его IP, ФИО, выбор — сохраняется в базе и далее передается для анализа настроений в стране.
    2. Результаты голосования непрерывно корректируются на основании онлайн-голосования и экзит-поллов в соответствии с требованиями заказчика.
    А шифрование — да… это конечно хорошо…
    — А если серьёзно — как ПОТОМ независимому агентству проверить, что каждый проголосовал так как хотел? Потому что 90% будет лениво проверять не утек ли куда-нибудь его голос и не оказалось ли так, что кто-то проголосовал хотят вовсе не собирался этого делать.


  1. tyomitch
    12.12.2021 16:00
    +3

    И ещё одно мутное место: после пункта «11) После этой проверки сервер отправляет бюллетень в базу.» как избиратель может узнать, что его голос а) учтён в принципе; б) учтён верно?


  1. Mairon
    12.12.2021 16:11
    +5

    Все попытки техническими методами прикрыть фундаментальные изъяны современных демократических голосований - мёртвому припарки.

    Почему-то по умолчанию считается, что голосование должно быть:

    1). Тайным;

    2). Необязательным.

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


    1. tyomitch
      12.12.2021 16:19
      +1

      Это не «по умолчанию» считается, это прямым текстом вписано во Всеобщую декларацию прав человека, статья 21.


      1. Mairon
        12.12.2021 17:02
        +3

        О том и речь - почему-то было решено так, а с чего это должно быть так - никаких бесспорных аргументов не существует.


        1. tyomitch
          12.12.2021 21:30

          Как и все остальные положения Декларации, начиная со «Все люди рождаются свободными и равными в своем достоинстве и правах.» — это вопрос нравственного, а не рационального выбора.


        1. iboltaev
          12.12.2021 21:34
          +4

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


          1. tyomitch
            12.12.2021 22:04

            Обязательное голосование применяется, например, в Австралии, Бельгии, Люксембурге, и одном швейцарском кантоне.
            en.wikipedia.org/wiki/Compulsory_voting#Enforced

            Нетайного нет нигде.


            1. Mairon
              12.12.2021 22:52
              +2

              Нетайное тоже в Швейцарии есть (в некоторых кантонах)

              https://en.wikipedia.org/wiki/Landsgemeinde


              1. tyomitch
                13.12.2021 11:36
                +1

                Ого, и для участия в таком голосовании вместо паспорта достаточно предъявить штык. Верны традициям.


          1. ifap
            12.12.2021 22:43
            +1

            Насчет необязательности голосования явных аргументов нет.

            Эмм… свобода воли и свобода ее изъявления, не?


            1. Mairon
              12.12.2021 23:02
              +2

              Можно попробовать на основании этого утверждения отказаться платить налоги или служить в армии :)


              1. ifap
                12.12.2021 23:11
                +1

                Да можно и убийство оправдать этим: я австрийский художник, я так вижу, кто ж спорит…


          1. Mairon
            12.12.2021 22:51

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

            А где-то было открытое и публичное голосование, чтобы утверждать, что произойдёт именно это? Это же совершенно непроверяемое утверждение. ЕМНИП, в истории были примеры открытого и публичного голосования - в полисах Эллады и некоторые формы голосований в Швейцарии, и я не слышал исследований о том, что там кто-то кого-то притеснял или дискриминировал.


            1. rinaty
              12.12.2021 23:56
              +5

              и не надо никого притеснять, просто достаточно:

              а) знать, что твой работодатель одобряет кандидата А

              б) знать, что твой работодатель узнает как ты проголосовал

              все, после этого 90% проголосует за А. Тех кто так или иначе работает на государство у нас пол страны.


              1. Mairon
                14.12.2021 11:22

                И работодатель возьмёт и уволит 90% сотрудников по основанию "проголосовал не так"? Так не бывает.

                Ну и в целом, если в стране такие риски на самом деле есть, то тайна голосования не в состоянии защитить волеизъявление, а становится ещё одним инструментом фрода в условиях разложившихся и неработающих общественных институтов.


                1. tyomitch
                  14.12.2021 19:31

                  Если не 90%, а 10% — то что?


                  1. Mairon
                    14.12.2021 21:00

                    Вот предлагаю проверить что.


    1. Wesha
      13.12.2021 02:24
      +2

      Почему-то по умолчанию считается, что голосование должно быть:
      1). Тайным;
      2). Необязательным.
      Хотя никаких бесспорных аргументов, почему это должно быть так, не существует.

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


      1. Mairon
        14.12.2021 11:27

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

        2). Как я писал выше — обязанностей, от которых нельзя отказаться, в стране много. Налоги, служба в армии и т.п. Обязанность проголосовать при этом — куда более важная для общества, чем год красить газоны.


        1. Wesha
          15.12.2021 02:40

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

          Ну вот в вышеприведённом рассказе как раз "по приколу вписали произвольное имя", и оказалось, что Петросянов в стране многовато...


  1. valis
    12.12.2021 16:23
    +7

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

    В офлайн голосовании доверенными лицами являются наблюдатели за голосованием. Которые в теории независимы.

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

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

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


    1. tyomitch
      12.12.2021 16:36
      +1

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


      1. Tarakanator
        13.12.2021 11:16
        +1

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


        1. JediPhilosopher
          13.12.2021 13:16
          +1

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

          В ситуации, когда весь блокчейн держит государство, оно там может переписывать что угодно и как угодно. В этом плане блокчейн ничем не лучше обычной SQL БД.


          1. Tarakanator
            13.12.2021 13:20
            +1

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


            1. tyomitch
              13.12.2021 13:26

              В этом плане блокчейн ничем не лучше обычной SQL БД.


              1. Tarakanator
                13.12.2021 13:47

                Я не знаком с SQL, поправьте если я ошибаюсь:
                Сама логика работы с обычной БД подразумевает возможность удаления информации. Так что удалённые записи ещё не означают фальсификацию выборов. Может это аннулированные голоса отбросили и потёрли их из базы?

                А в случае с блокчейном пришлось извращаться. И вводить ещё одну не афишируемую БД со списком недействительных голосов.

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

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

                В моих глазах практически невозможно случайно сделать некорректную БД для голосования через блокчейн.
                А вот через обычную БД легко пост фактум заявить что мы не подумали о такой фозможности, поэтому защиту от вот этого не предусмотрели.


  1. Elsajalee
    12.12.2021 16:46
    +1

    Даём каждому избирателю идентификатор, абсолютно случайный, одноразовый, уникальный. При личной явке - на листочке написан, вытягивается как лотерея; при электронном голосовании, очевидно, на экране (кстати, при электронном - прощай анонимность; вы же голосуете авторизованным). Далее голосование идёт "под копирку", т.е. у избирателя остается за кого он проголосовал и в ящик тоже самое (сей факт тоже может проверятся электроникой, без участия человека). Итог голосования: полный список (идентификатор)=(за кого). Так каждый человек может проверить, верно ли учтён его голос. Но не проверить вбросы (которые всё равно не проверить при электроном голосовании). Если идентификатор снабдить номером участка, т.е. (номер участка)(идентификатор)=(за кого), то независимые наблюдатели хоть что-то (количество пришедших избирателей соответствует опубликованному списку) смогут подтвердить.


    1. iboltaev
      12.12.2021 21:37

      как избиратель потом докажет, что он голосовал на самом деле по-другому?


      1. Elsajalee
        12.12.2021 21:44

        голосование идёт "под копирку", т.е. у избирателя остается за кого он проголосовал

        2 копии бюллетеня же. Принимается автоматом, только если заполнено одинаково (как и ранее - исправления не допускаются); одна остается на руках, одна в урне.

        Поиск на сайте ЦИК- ввел идентификатор бюллетеня - получил результат + полный список в виде txt|csv|...


  1. vasilevss
    12.12.2021 21:31

    Все эти писульки и агитки для любителей овсяных хлопьев'ов.

    1. Нужен блокчейн с открытым кодом для реестра голосов

    2. Нужна вебморда с открытым кодом для бабушек

    3. Нужен прозрачный деплой всего этого дела.

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


  1. Daddy_Cool
    12.12.2021 23:38

    Первый абзац вот этого комментария объясняет почему это очень трудно сделать.
    habr.com/ru/post/594995/#comment_23812337


  1. maslyaev
    13.12.2021 11:38

    Напомню, что в РФ всем, что имеет хоть какое-то отношение к криптографии, занимается ФСБ - структура, о доверии к которой говорить просто смешно.


  1. DaturInnoxia
    13.12.2021 14:58
    +2

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

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