Как стать автором
Обновить

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

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

Через десять дней мы можем говорить что угодно об ошибках в системе — изменить будет уже ничего нельзя.

У нас получается 78К лишних голосов, которые могли бы ошибочно быть учтены (избыток 4%),
так же 702К не расшифрованных публично и .... 14М лишних голосов по версии Шпилькина, из которых ну вычтут несколько десятков участков и все.
По статистике же Шпилькина только каждому пятому не нравится текущий курс, остальным все равно (не пошли), все нравится (за), не нравится, но хочется работать (за)

остальным все равно (не пошли)


Нет, не всё равно. Но голосованием сегодняшняя проблема не решается.

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

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

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

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

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

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

когда не приходят 2/3, вбросы сделать проще всего бюллетени есть свободные, если бы пришли 3/4, то пришлось бы уже править цифры, т.е. посчитали одно, а написали другое.

Вы не понимаете как устроены выборы, что такое федеральный округ и что такое округ одномандатный, отсюда ваша глупая реплика

Прекрасно понимаю, текущая система позволяет воровать из этих 225 мест, что и показали результаты при накрученных 49% взяли 198 из 225 мест одномандатных, по ним даже порога в 50% не нужно и не какого второго тура, в таких условиях это подарок для кандидата от основной партии. Причём не так давно были просто по спискам выборы, но сейчас бы не набрали конституционное большинство.

Немалая часть одномандатников вышла в думу, набрав у себя в округе 25-35%. Официально. Пример, Санкт-Петербург.

ну без второго тура это не выборы, т.е. надо набрать хотя бы 25% и быть первым, и так везде, а мнение остальных 75% игнорируется.

Одномандатники вполне нормальная практике при двух-партийной системе, а при многопартийной это 198/225 "честных мест"

вы говорите что 78к в голосов в мск ничего не значат из-за 14М вробшенных по рф
это совершенная глупость
эти 78к вероятно решают судьбу 15 мандатов из 450

ок, а как появились другие 183 мандатов вам не интересно?

Что весомее 15 из 450, или 183 из 450?

А сейчас ещё что-то можно изменить? Есть надежда на справедливый суд, только подать жалобу нужно успеть за 10 дней? Вот потому у оппозиции с народом и не получается контакт - они просто инопланетяне.

Есть хороший разбор от Каца - https://www.youtube.com/watch?v=4ffEHROI8WI - на обеденном перерыве фальсификаторы палятся легко. Но есть подозрение, что те голоса были собраны с людей в ручном порядке. Люди просто сдавали пароли. Отдать пароль - это тоже политическая позиция. Так что народ сказал своё слово - хотят царя, своему голосу не доверяют.

Оппозиции пора бы понять уже суть проблемы.

У оппозиции с народом не получается контакт ))
Xорошо сказали. ))

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

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

ну ок, мы не верим идем ногами, кто то верит и либо отдает свой голос ЕР, либо за него это делают, по вашей логике, ну и кто виноват?

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

А в 2020 не боялись?

Между тем результаты онлайн и офлайн были почти одинаковые в Москве.

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

А вот то что среди людей, интересующихся новым и готовых голосовать в интернете, меньше людей, готовых голосовать за КПРФ - я как раз не очень удивлён.

там сомнительных всего 300К, но все сомнительные были решающими, есть даже случаи сомнительных за яблоко, что бы от КПРФ от УГ не прошел

ну какие 300к, вон в статье же написано, что в блокчейне побеждает ЕР, а проголосовало там порядка 2млн.

Сегодня выступал наблюдатель программист, аномальных там всего 300к голосов, остальные могут быть по указке, но это уже вообще не доказуемо, может и все 49% тоже по указке по федеральным спискам

Интересующихся новым - это вы про Единую Россию сейчас?) Все же знают, что самая популярная партия в интернете - это ЕР, да?)

Вообще, речь не только про КПРФ и ЕР - по одномандатным округам в Москве провластные кандидаты были не обязательно от ЕР а их главные соперники не только от КПРФ но это никак не меняло расклада.

Вот соотношения результатов голосования в Москве по спискам между ДЭГ и ногами:

ЕР: 1,49

КПРФ: 0.51

ЛДПР: 1.08

CР: 0.86

НЛ: 1.21

Не обращая внимания на КПРФ, как так получается, что "интересующиеся новым" больше поддерживают ЕР чем тех же СР или Новых Людей? ЕР более модные, молодежные?

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

ок, мы не верим идем ногами

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

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

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


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

А ведь можно эту логику всё же и туда заложить. но...

Но если обычную БД стягивать в реальном времени, и если записи подписаны ЭЦП и имеют сквозную нумерацию, то же самое будет справедливо и без всяких блокчейнов же?

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

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


В общем, троллейбус из хлебушка сделать можно, но зачем?

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

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

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

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

Если CSV подписан ЭЦП оператора, сказать можно что угодно, но вот она подпись. Блокчейн для этого не требуется.

И чем это лучше чем готовый экзонум/эфир/...? Т.е. я не против, это можно сделать, просто разговор из разряда "зачем мне nginx если я tcplistener на порту открыл и погнал"… Ну просто потому что это уже рабочее коробочное решение, которое умеет всё, что нужно?..

… а в соседнем топике стыдили ФБК за то, что для сайта из одной страницы и одной формы ввода они развернули Kubernetes.

Такое ощущение, что клиент эфириума это кубернетс кластер а не приложение с парой флагов, запускаемое кем угодно за 5 минут. У меня даже готовый докер-композ есть для особо ленивых.

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

Тут же усложнение есть, а выгод нету.

Усложнение по сравнению с чем? Все ваши подписанные цсв и постгресы это как раз сложнее, чем простая математическая структура для которой есть проверенные временем реализации. Это как писать своё шифрование вместо использования openssl потому что оно там сложное, а значит будут векторы атаки, а своё простое как раз защищено

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

Но если мы сделаем БД с синхронизацией в реальном времени, подписями, сквозной нумерацией и всем осталньный… То мы как раз и получим блокчейн (или что-то похожее).


В том же и суть, что блокчейн != криптовалюта. По сути блокчейн это способ организовать персистентный журнал с историей и автоматической синхронизацией. Это идеальное решение для задач вроде электронных очередей, голосований и т.п. Единственный вопрос доверия. И вот с ним проблема, но в областях где уровень доверия выше (например ярмарки выходного дня на блокчейне) — это отличное решение, которые из коробки много чего умеет. Чем и хорошо.

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

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

Ну, дерево меркеля нам и обеспечивает по сути сквозную нумерацию.

Я просто скажу, что онлайн голосование это прямое нарушение конституции, согласно которой на выборах у нас всеобщее ТАЙНОЕ голосование. Голосование через онлайн с авторизацией по паспортным данным на сайте подконтрольному текущему правительству по определению не тайное голосование.

Тайное голосование используется везде именно для того, что бы вас не могли преследовать за ваше мнение. А тут могут. И надо быть довольно недальновидным человеком, что бы голосовать онлайн за кого-либо. Сегодня победило ЕР и преследует голосовавших за оппозицию, а завтра условные КПРФ и преследует тех кто голосовал за ЕР.

Чем обычное оффлайн-голосование более тайное? Я точно так же прихожу с паспортом, и ничего не мешает мотивированному сотруднику избирательного участка запомнить связку "номер паспорта"-"номер бюллетеня", нарушая таким образом тайну в момент извлечения бюллетеня из урны для подсчёта.

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

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

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

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

Чем обычное оффлайн-голосование более тайное? 

Тем что мое решение невозможно узнать после опускания бюллетеня в корзину.

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

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

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

И то и другое контролируется ЦИК (иначе кто-то может лупануть сертификатов от души) - что как бы говорит о том, что ЦИК может одним движением сопоставить вас как личность с вашим голосом в системе.

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

Что бы это было не на доверии, а by design - бюллетени у всех одинаковые и считается только количество. Привезли на выборы условные 100, проголосовало 50 (в урне 50 штук), голосов 45 (5 испорчены), еще 50 утилизированы. Так это работает.

Однако надо сказать, что таким результатам в ГАС Выборах может быть и другое объяснение: например, что оппозиционные избиратели несколько раз переголосовывали за того же самого оппозиционного кандидата, а избиратели административных кандидатов этого не делали.


По некоторым данным(не скажу точно источник, но слух проскакивал) во время выборов ходила информация что шанс выиграть приз(в Москве «премировали» желающих проголосовать через ДЭГ) повышается с числом попыток переголосования — как раз могло повлиять на ситуацию когда переголосовывали за того же кандидата повторно :).

Песков что ли накрутил переголоса?

Хм… А только Песков в ДЭГ участвовал?

Я, например, с дачи проголосовал(за спойлера, а не за ЕР), и выиграл туже минималку — вот только список «партнёров» какой-то несолидный, даже сходу не знаю на что баллы потратить :). А когда начинают показывать выигравших главные призы, и кто-то вбрасывает что переголосование увеличивает шансы — не уж-то не найдутся те кто если и не поверит, то подумает «а вдруг?!»?

P.S. Переголосованием не занимался, правда в первую попытку(утром первого дня голосований) попал на нестабильную работу сервиса — бюллетеня ждать не стал, пошел в лес за белыми :). На следующий день проголосовал без тормозов.

Сейчас бы слухам верить.

Вред прививок, ковид выдумка тайного мирового правительства, вышки 5g убивают людей — и правда, кто в наше время верит слухам :).

Мое электронное голование было гораздо веселее.

Вначале голосование казалось традиционной легкой прогулкой, но ...

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

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

Через 3 часа опять та же ровно история, после нескольких "сайт перегружен, зайдите через 15 минут "так уверенно выдает "вам не доступна услуга оперативного изменения" ( не помню точно текст, просто противно пересматривать видео, второй то раунд с экрана мака записал ) и всё, выборы окончены ?!

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

Это как то очень кривые руки писали этот сервис, вот такое мое мнение.

P.S. очень интересно стало, может там бюллетень по умолчанию, ну, традиционный такой с поставленным чекбоксом ?

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

Я вчера тоже пол ночи пытался понять как устроено переголосование. И ничего не смог найти в открытых источниках.

Без него все оч похоже на федеральные выборы, когда невозможно отследить голосовавшего(см https://habr.com/ru/post/574360/#comment_23408446, только комент а не статью, тк в статье скорее всего ошибка.)

Но если я могу переголосовать, то кто то уметь мачить мой старый голос и новый(те операции с типом 6, которые по очевидной причине не имеют voter_id)

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

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

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

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

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

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

Главное случайно не уйти на обед и не поставить процесс на паузу XD

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

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

Или, сколько времени займёт поиск хэша по базе 2 миллиона? 20ms? За сколько отработает DISTINCT MAX?

И всё можно сделать встроенными средствами того же постгреса, к примеру.

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

Ну, допустим проще сделать хэши.

Допустим, в блокчейне записаны пары (хэш(фио), голос).
Что помешает начальнику Васи Пупкина вычислить хэш(«Вася Пупкин») и найти в блокчейне его голос?

Соль.

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

А вот какова его роль когда переголосовать можно не очень ясна.

Я верю:) Но иногда полезно глянуть в код:

#[interface_method(id = 5)]
fn add_voter_key(&self, ctx: Ctx, tx_args: TxAddVoterKey) -> Self::Output;

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

Я правильно понял, что они взяли готовую неплохую реализацию голосований на блокчейне, и потом гвоздями сбоку прибили переголосование в условную эксель-табличку, причём голос в эксель табличке имеет финальный приоритет? И, если так, зачем там тогда вообще блокчейн? 🤷🏻‍♂️🙂

Чтобы Веник мог во все уши кипятком разливать, что у нас блокчейн, всё чисто и прозрачно и подделать низзя

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

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

Если был бы некий чатик или опрос, в котором 1М ДЭГ проголосовал так то, то можно было бы сопоставить. А так, я и знакомые использовали ДЭГ и на этом все, ну результат то не 100%, вот мы то О-малое, которые не испугались ДЭГ, ну а дальше как у Трампа - не голосуйте по почте, а потом "данные по почте надо анулировать, т.к. мы там проиграли" .

Беда в не подделать

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

А потом по ситуации уж выбрать тот который больше нравится.

А еще же можно их просто заранее сформировать несколько штук и выбирать из них наиболее подходящий в текущей ситуации.

Там exonum, в нем есть анкоринг на биткойн от такой вот бухгалтерии. Но его предсказуемо не прикрутили.

С Венедиктовым, увы, случилось дурное. Эту ситуацию, имхо, хорошо описала Шульман.

Ключевой сотрудник "Газпром Медиа" в ключевой момент сработал в интересах собственников "Газпрома".

Для меня самое непонятное вот что - исходя из вот такого прецедента - https://habr.com/ru/news/t/561094/ - где гарантия что переголосовывали сами люди?


Как я понял, гарантия в sms-подтверждении (чтобы получить бюллетень, нужно ввести код из пришедшего sms).

СМС как защита от государства?

гарантии нет, но вероятность, что человек пойдет голосовать ногами или зайдет к себе в кабинет очень высока именно в Москве, и подставляться из за 1М голосов так явно очень странно, проще выгнать наблюдателей из УИК, что мы видели не раз из регионов.

Люди даже не голосовали многие сами (прошу прощения за желтушный заголовок видео)



И переголосовывали за них тоже "кто надо"

И неудивительно - много раз про это были публикации.

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

Спасибо за ваш труд.

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

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

Находил вот такую картинку по динамике голосования в ДЭГ по 198 округу (Хованская/Брюханова)

И ещё несколько

Я бы на всякий случай проверил - все ли "переголосования" попадают в 24 часовой лимит после первого голосования.

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

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

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

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

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

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

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

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

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

>Но тогда прощай анонимность, так как после расшифровки будет ясно за кого именно он голосовал

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

От создателей алгоритма шифрования "ЛСДУЗ & ЙФЯУ9".

При поддержке дизайнеров шрифтов "Студии Лебедева"...

Новый многосерийный сериал

8ыь()pьi 2о2i

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

«Касперский» создал систему для государственных выборов через интернет

Команда Polys при «Лаборатории Касперского» разрабатывает систему электронного голосования, ориентированную на проведение государственных выборов и способную масштабироваться на неограниченное число избирателей. Особенностью «Polys.ГОСТ» является возможность гибкой подстройки криптозащиты под требования любого законодательства.

Это как, интересно? Для государства - NULL алгоритм, а остальным - Кузнечик?

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

Вывод +/- получили результаты именно какие и были, а доп время потратили на перепроверку, т.к. сами создатели не поверили в цифры, и вероятно, допустили воздействие из вне.

Забавно, что всех обувателей (тут речь, не про проделанную работу в рамках данной статьи) заботит судьба 2М голосов, а вот что партия набравшая всего 49%, в ГД получила более 70% мест уже мало кого волнует.

ИМХО одномандатники главное зло, а ЭГ нужно делать в один день, лучше в воскр, что бы голосовали не на работе.

Не очень понятно, как можно прийти к выводу про "результаты, какие и были", если это вообще никто (кроме каких-то секретных людей в ДИТ Москвы, которые вообще не члены избиркома) не может проверить.

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

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

сами создатели не поверили в цифры, и вероятно, допустили воздействие из вне.

Это создатели то не поверили в то, что по всем округам победили кто надо?) И еще и перепроверить решили, никогдаж такого не было, чудо.

Как сообщает Григорий Мельконьянц, на общественном штабе Москвы принято решение провести общественный пересчёт голосов интернет-голосования по скачанным наблюдателями файлам с сайта https://observer.mos.ru/.

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

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

На проводившихся в сентябре 2020-го года государственных выборах я скачивал эти файлы с доступной тогда периодичностью 30 минут и заметил в них ошибки и последующую подмену файлов. Моя публикация на эту тему (https://www.facebook.com/notes/786771108774083/) вызвала бурное негодование у ответственного за систему интернет-голосования города Москвы Артёма Костырко, который в своём блоге опубликовал мне ответ и неожиданно заявил, что я наблюдал не за тем, за чем оказывается нужно было наблюдать (https://echo.msk.ru/blog/kostyrko/2710137-echo/). Вот что он написал: "Один из членов технической рабочей группы, которого позвал Венедиктов, – сотрудник уважаемого МГТУ имени Баумана Виктор Толстогузов – опубликовал отчет о наблюдении за электронным голосованием 11-12 сентября. Для этих целей он решил пользоваться нашим обзервером, хотя учитывая его обширные технические знания мог бы пойти напрямую в блокчейн и выгружать данные напрямую оттуда. Прежде чем разобрать претензии, которые Виктор высказал в наш адрес, необходимо объяснить, чем обзервер отличается от блокчейна. Обзервер – это внешний интерфейс, который показывает всем, даже тем, кто первый раз слышит слово блокчейн, что процесс идет, что записываются блоки, что голосование не останавливается. Обзервер смотрит в блокчейн и отражает то, что процесс голосования идет. Файлы, которые формируются на сайте обзервера не равны блокчейну, потому что они отражают сайт, а не блокчейн."

То есть Артём Александрович заявил, что я, как и все ответственные наблюдатели следили, оказывается, совсем не за тем, что нужно, что файлы не равны блокчейну, поскольку они вообще относятся к сайту

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

Далее он пишет: “Файлы, которые генерируются каждые 30 минут на сайте observer2020.mos.ru, — это данные, выгруженные с этого самого сайта, а не из блокчейна. Мы называем это гордым словом парсинг. Таким образом, эти файлы – таблицы эксель – совершенно не равны и не являются блокчейном. Основной прием Виктора — это софистика. С его точки зрения, в блокчейне — зашифрованные голоса, в файлах— зашифрованные голоса, значит блокчейн равен файлам. Но это не так.” и “Строки в таблице – это не данные из блокчейна, это автоматически высосанное содержание сайта observer2020.mos.ru. Когда вы копируете текст из документа и вставляете его в другой документ, вы можете случайно не выделить последнее слово. Значит ли это, что в первоначальном документе что-то не так? Не значит. Когда вы открываете чек и случайно отрываете его криво, значит ли это, что банковская транзакция в аппарате прошла неверно? Не значит.”

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

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

Заявления Артёма Александровича о том, что блокчейн нельзя изменить и что-то туда вбросить ничем не обосновываются. Место ввода данных с голосами избирателей в блокчейн закрыто от наблюдателей и членов комиссии. Также, вероятно, Артём не знает, что данные блокчейна, если он действительно есть в системе (за 2 года работы в технической рабочей группе нам так и не доказали использование технологии блокчейн в реализации ДИТ Москвы), может быть изменён путём отката цепочки блоков и записи их заново. Заметить это никто из наблюдателей не сможет, поскольку используемый блокчейн не распределен между участниками наблюдения, а скрыт ДИТ Москвы от посторонних глаз. Например, метод отката блокчейна и записи его заново использовался при работе системы интернет-голосования, разработанной компанией Ростелеком (https://habr.com/ru/company/rostelecom/blog/518928/) и этого никто из внешних наблюдателей не заметил. Тогда Ростелеком признался в содеянном сам.

Как и мне год назад, так и на этих выборах наблюдателям и членам комиссии не была предоставлена возможность сохранять данные из системы напрямую с помощью так называемой “ноды”. Поэтому система интернет-голосования от ДИТ Москвы по-прежнему является недоступным для проверок чёрным ящиком, находящимся в неизвестном месте.

Сегодня на сайте общественной палаты г. Москвы появилось сообщение, что “Члены технической рабочей группы, участвовавшие в обсуждении и разработке системы онлайн-голосования, смогут убедиться в правильности и корректности подсчета электронных голосов. Для этого руководитель Общественного штаба по наблюдению за выборами в Москве А. Венедиктов предложил им самостоятельно провести аудит результатов электронного голосования.” (https://opmoscow.ru/.../it-eksperty-smogut-ubeditsya-v...). Однако мы этого сделать должным образом не сможем (я являюсь членом ТРГ), потому что нет должной документации на систему, не разработаны методики проверки и не с чем сравнивать. За два года работы мы направили в ДИТ Москвы и общественную палату г. Москвы большое количество предложений, в том числе требования к содержанию технического задания, в которых указывалось о необходимости предоставления документации, разработки методик проверки, внедрения электронной подписи для документов, однако они не были реализованы. Направленные мной в ОП Москвы тревожные письма остались без ответа (прилагаю). В лучшем случае на наши предложения нам отвечали неофициально, после жалоб в ОП Москвы, например, следующим образом:

- “В среднесрочное ТЗ включены вопросы включенного контроля и наблюдения авторизованными наблюдателями за состоянием самой системы и транзакциями внутри нее.”;

- “В среднесрочное ТЗ внесены вопросы публикации на специальном портале документации, одобренной регуляторами.”;

- “В среднесрочное ТЗ включены механизмы интерактивной проверки браузера пользователя на предмет вредоносного кода.”;

- “По сути стоит отметить, что в среднесрочное ТЗ включены разделы, связанные :

- реализацией контрольного примера до и после начала электронного голосования,

- контроля соответствия исполняемого и исходного кода системы,

- функционала включенного технического наблюдения в ходе электронного голосования.”;

- “В среднесрочное ТЗ внесено 3 способа контрольного пересчета:

- на основе проверки случайного объема контрольных транзакций пользователями, согласившимися стать добровольными контролерами и раскрыть для комиссии анонимность своего голосования (но не тайну),

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

- на основе непосредственного доступа контролирующих уполномоченных к программно-техническим средствам ДЭГ.”.

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

Меня, как члена ТРГ, пока не уведомляли о предстоящем аудите и мне неизвестна его методика.

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

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

UPD

Документы:

1.1. Письмо в ОП Москвы с предложениями, июнь 2020: https://disk.yandex.ru/i/Qw-hyfLWUY0hJQ

1.2. Приложение - разработанные технические требования к системе интернет-голосования: https://disk.yandex.ru/i/BM2zFLdOBshlSA

3. Ответ общественной палаты от 15.03.2021: https://disk.yandex.ru/i/yeyE7JzNmzfGNQ

4. Письмо о необходимости рассмотреть направленные требования от 24.05.2021 (осталось без ответа до сих пор): https://disk.yandex.ru/i/FnESO3B-lxsAbQ

Впервые в жизни видел проект качеством ниже чем можно встретить в аутсорсе. То что не бьются итоги нормально. Это не проблема шифрование или блокчейна. Это обычное дело для сетевой архитектуры а-ля спагетти. Она просто такая. Слишком слабосвязанная система. С множеством нюансов. Где непонятно что происходит и ничего нельзя протестировать на уровне "удовлетворительно". Я даже не говорю про то что не были обнародованы обязательные для таких систем тех документы. У нас вообще то ГОСТЫ есть. На ПО. На сами выборы честно скажу мне было все равно. Наблюдал из интереса к отрасли в которой работаю. Очень расстроен. Мы для людей и так как космонавты какие то. А теперь доверия может стать меньше. Просто потому что небыло времени протестировать. Написать методики ввода в эксплуатацию. Обоснования работы и надёжности. Сочувствую программистам. Представляю как выглядил процесс изнутри.

Я не уверен, стоит ли им сочувствовать. Я думаю, там все знали на что шли. Госзаказы такие госзаказы.

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

На хабре есть. Вот тут в комментариях Пост. Извините ссылка не ровно в начало получилась

«Касперский» создал систему для государственных выборов через интернет

Команда Polys при «Лаборатории Касперского» разрабатывает систему электронного голосования, ориентированную на проведение государственных выборов и способную масштабироваться на неограниченное число избирателей. Особенностью «Polys.ГОСТ» является возможность гибкой подстройки криптозащиты под требования любого законодательства.

В «Лаборатории Касперского» рассказали о подсчете голосов в системе ДЭГ

Функционал системы для онлайн-выборов был разработан специалистами «Лаборатории Касперского». Благодаря особенностям технологии блокчейна, программистам удалось реализовать возможность отложенного выбора, что позволило снизить риск «утраты» голоса избирателя из-за неполадок с интернетом.

Создатель «Лаборатории Касперского» оценил онлайн-голосование

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

И ещё вопрос. Не могу понять, для чего вообще блокчейн здесь используется и от чего он защищает.

Его целостность должна подтверждаться скачиванием время от времени всеми желающими и сверкой? Но точно также можно подтверждать и целостность обычной БД, без всяких блокчейнов!

Если нужно подменить одну транзакцию, то в обычной БД подменяется только она, а в блокчейне придётся подменять все от неё до текущей, да. Но и то и другое палится скачиванием всей базы и сверкой!

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

Побуду кэпом. Только ради названия, чтобы широкая публика впечатлилась модным, но непонятным словом (ну, блокчейн, там что-то с биткоином связано, наверно надёжно).

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

Полностью согласен. Исключительно для хайпа и понтов. Так же как и вчера ростелеком с гордостью заявил что никто не смог взломать систему. Они конкурс объявляли. Нечего и некому было взламывать. Вначале впечатлившись суммой хотел присоединиться. Но почитав условия пошёл ТикТок дальше исследовать. Там точно платят)

Если есть возможность качать и проверять транзакции блокчейна в реальном времени, можно также и записи в обычную базу качать в реальном времени. Если транзакции заверены ЭЦП оператора, сказать «вы неправильно скачали» — не получится. Зачем блокчейн?

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

Я при этом ни в коем случае не хейтер идеи блокчейна, она сама по себе красивая и полезная. Просто зачем она конкретно здесь? Блокчейн, который никого ни от чего не защищает, это как в рассказе Пёстрая лента Конан Дойля: вентиляционная отдушина, которая не вентилирует, и звонок, который не звонит. ОЧЕНЬ ПОДОЗРИТЕЛЬНО черт его дери

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

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

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

Когда выложили блокчейн? Или он был доступен все время голосования?

Спасибо большое! Вы четко облекли претензии, которые я, как и многие, озвучивали абстрактно, в конкретную техническую форму.


К сказанному хочу добавить, что нет никаких следов происхождения конкретных voter ID. Если при "бумажном" голосовании есть списки избирателей, в которых указаны Ф.И.О. и адрес, то тут получается, что мы видим только аналог порядкового номера в строке списка избирателей… и всё. И если на обычном, оффлайновом участке наблюдатели и ПСГ могли посматривать в книги, то на электронных УИК со стороны наблюдателей не было никакого контроля над тем, что избиратель вообще существует.


Более того, сама "нода наблюдателей" — это, судя по описаниям присутствовавших наблюдателей, вообще фикция. Это не нода блокчейна, а клиент к http-серверу, который отвечает на api-запросы, и вообще большой вопрос, куда именно эти запросы уходили. Наблюдателям вообще не давали ничего делать самостоятельно, запросы по их просьбе отправлял сотрудник ДИТ. И никакого доступа к спискам избирателей через предоставленные API-вызовы у наблюдателей вообще не было. Про прозвон трех номеров из огромнейшего списка — это даже не смешно.


Про "протухший сертификат" в 20:00 — у меня вообще слов, не нарушающих правила Хабра, нет.

И ещё вопрос. Не стоит ли скинуться на аудит всей этой системы, ну, скажем, теми же ребятами, которые аудит OpenSSL делали? Нам, конечно, может казаться, что мы все тут офигенно крутые специалисты по инфобезу и блокчейнам, но сдается мне, спецы нароют куда больше. Конечно, в 10 дней не факт, что оно уложится, но ценность такой аудит, тем не менее, имел бы — хотя бы для понимания объема возможных дыр в таких конструкциях на будущее. Ну и понимания надёжности/ненадёжности конкретно этой

Да какая разница, если все узлы "блокчейна" находится у комиссии за закрытыми дверьми, и при этом у них есть мастер-ключ, и при этом наблюдатели не имеют доступа к спискам избирателей? Тут хоть миллион аудитов проводи, даже самая идеальная реализация будет иметь уязвимость на уровне внешней аутентификации, которой тут тупо доверяем. Как показать, что это все — реальные избиратели, а не боты?


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

Какие-то исходники выкладывали на «общественный аудит» месяц назад. Тогда ДИТу задали вопрос: «как убедиться, что использоваться будет именно тот код, который вы сейчас выложили?» — и он остался без ответа.
Более того, опубликованная версия не поддерживала изменение голоса, а фактически использованная — поддерживала. Т.е. уже доподлинно известно, что на аудит был выложен не тот код, который в итоге пошёл в прод.

«Общественный» аудит OpenSSL происходит с момента начала разработки, благо код открыт. Тем не менее, коммерческим аудитом профессионалов они не побрезговали.

Не могли бы поделиться ссылкой. Мне просто интересно кто поменял репутацию на деньги) Или касперкий?)

Я видимо не так понял) Я подумал что ростелеком сделал у авторитетного источника аудит ДЭГ. Вашу ссылку я уже видел)

Я про другое: какая ценность аудита профессионалами открытого кода ДЭГ, если фактически используется не этот код, а непонятно какой? (А даже если бы и этот, мы бы об этом знали только со слов ДИТ и без возможности удостовериться.)

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

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

Сделали способ голосования, который проверить сложнее, чем офлайновое — за что же тут спасибо?

Да не "сложнее", а вообще невозможно!

В этом-то всё и дело.

Как можно рассчитывать на доверие к этому в таком случае?

Вода по немногу камень точит. Никуда они не денутся. Рано или поздно будет все по уму сделано. Эволюция жестока к дуракам.

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

Так не выйдет. Они инициализируются до начала.

А кто мешал нагенерить "мертвых душ" заранее? ;)


Моя теория в том, что так и сделали, но их не хватило, потому и устроили комедию с "истекшим сертификатом" (например, через rdp подменили) и "переголосованиями" по никому не озвученной процедуре.

"Да-а-а, уж..." (с)

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

Ага, в воскресенье.

Самое наглядное - округ с Рыжковым, когда в пятницу-субботу вбрасывали за Раззакову, а в воскресенье переключились на Рыжкова. В итоге он и победил в сумме, заняв второе место и на ДЭГ и на участках.

Разве мало госучреждений, работающих в воскресенье? От больниц до метро.

И все они прекращают работу ровно в 14:30? И несмотря на такое раннее окончание рабочего дня - ровно с 12:20 у них обед? Если бы это были реальные голоса (пусть и под принуждением) из разных госучреждений - было бы больше флуктуаций в графиках. Это мог быть не один человек, а небольшая команда в одном учреждении, но точно не принуждаемые бюджетники.

На пуши бюджетникам например с mos.ru тоже не похоже. Если бы все пуши пришли в одно время - мы бы увидели резкий пик в момент пуша, а затем плавный спад. Если пуши отсылались порциями в течение первой половины дня вск - всё равно был бы более плавный спад после 14:30, график же обрубается резко. К тому же это никак не может объяснить резкое изменение предпочтений в округе Рыжкова, разве только пуш не был типа "Голосуйте за Рыжкова прямо сейчас по ссылке:"

Хорошие аргументы. Но представить себе даже небольшую команду, десятки тысяч раз подряд тыкающих мышкой в одну кнопку, я всё равно не могу. Для скрипта — наоборот, флуктуации слишком сильные. И вся эта история никак не вяжется с 12-часовой задержкой перед подведением итогов: если к 20 часам блокчейн уже был «какой надо», то чего было тянуть?

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

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

Посмотрите видос на ютубе ниже — и скажите что это нельзя было автоматизировать.

Могу подтвердить данные в ролике по 198ому округу на основе данных блокчейна (абсолютное и относительное кол-во голосов Брюхановой и Хованской)

Данные брались из официального блокчейна: (+ ручное декодирование недостающих голосов)

SELECT datetime, ballot.decrypted_choice[1] as choice
FROM public.decrypted_ballots as ballot
JOIN public.transactions as trans_store
ON (ballot.store_tx_hash = trans_store.hash)
WHERE ballot.decrypted_choice[1] in (217404809,136749451) ORDER BY datetime

Ага!


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


Переголосовать можно не ранее, чем через 3, но не позднее, чем через 24 часа после первоначального голосования, так что утро воскресенья — вполне подходящее время для таких вбросов.


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


Это объясняет и нереалистичное число переголосований (в районе 15%), и дает возможность при проведении проверки подсчета с выделением переголосований по имеющемуся только в приватном блокчейне group_id (на котором сейчас настаивает рабочая группа) заявить: вот, смотрите, переголосовали-то не в ту сторону, как вы нас обвиняли, а наоборот, так что переголосование, как и задумано, защищает от административного давления!


Конечно, просто "вброс переголосований" проще, но и вот такой хитрый вариант тоже исключать не стоит.

я бы не называл вбросом, термином обычного голосования, тут либо

  • так все включили ПК и голосуем за... (пт утро);

  • забрать логин/пароль и использовать в вскр;

  • получить доступ к логин/пароль и без ведома голосовать;

ну и технически не исключено, что переголосования не учитывались, или прибавлялись, 104% не просто так.

Но дикая явка в пт, больше подтверждает вашу версию, чем совпало и так было

Идя на евыборы не покидало ощущение, что идешь поиграть в покер с шуллером на деньги.
В итоге все просто, сайт просто не работал последний день и не факт, что работал в другие.
Wait a second…
Хочет кто-то или нет, но (на)евыборы это неизбежность. В конце концов к этому придут все и альтернативных способов неостанется. Если подумать, то технологически существует возможность реализовать их настолько честно насколько возможно. И гораздо честнее чем личная явка.

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

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

Даже самые технологически идеальные выборы не защищены от технологии "начальник за спиной"

Зато обычные бумажные от такого неплохо защищены — достаточно убедиться что ширма без дырок.

Ну говорят вон фотать заставляют, получается что тоже так себе.

Ну и возможность переголосовать — очень полезно для такого варианта.

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

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

Какой анализ фото, вы чего. Каждый первый мелкий директор школы — специалист по кибербезопасности? Если нафотошопить галку может каждая первая барышня (при желании), то вот детектировать ретушь фото — задача на порядки более редкая. При желании конечно всё гуглится, но люди которые умеют гуглить редко оказываются этим самым директором-проверяющим.


В теории конечно все возможно. Но практика говорит о том, что так не делают.

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

Это хорошо если борятся за явку, а не за кандидата

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

Основной момент, что это неминуемо (ИМХО), всё остальное это уже решается.

Ну и «начальник за спиной» это супер важно когда около 50/50.

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

Мне кажется должно быть борьба не за «идеальное голосование», а за «достаточно примелемое» и вот оно как раз технологически более достижимо. Даже хотя бы за счёт тех кто жопу не готов поднять, но пальцем тыкнуть в принципе не против.

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

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

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

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

Альтернативный вариант: многократное переголосование с последующим вычищением таблички дубликатов. (этот сценарий косвенно подтверждается там что в обеденные часы аномалии куда-то пропадали).

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

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

Пример. Таблица переголосваний до перестроения:

A => D
B => D
A => D
B => D

И после:

A => B
B => A
+ 4 голоса за D

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

Не знаю будет ли оффициальный ответ от ДЭГ, но на всякий случай опубликую описания Щербакова А (из телеги ДЭГ) тут:

Касательно повторного голосования.

1. В системе есть два блокчейна. Публичный и приватный

2. В приватном хранится доп параметр group_id.

3. Для подсчёта нам по сути нужно сгруппировать все голоса по этому id и выбрать последний.

4. Этот механизм часть защиты избирателей от давления

5. Логика подсчёта также реализована на блокчейне, что накладывает определенные ограничения на скорость всего этого. Та же самая операция на базе данных (GROUP BY) будет значительно быстрее но для БД будет необходима внешняя система контроля целостности DAMP

Саму логику можно посмотреть в репозитории ДИТ в папке dit-blockchain-private-source Полный путь dit-blockchain-private-source\services\actual-ballots-service\src\schema\actual_ballots_storage.rs

Таким образом долгое время выполнения это из-за реализации нетипичной для блокчейна операции GROUP BY на параметре group_id. Он был реализован "в лоб" с высокой сложностью, но вполне вероятно что другие более эффективные реализации могут либо не существовать либо потребовать значительно более глубоких знаний блокчейна Exonum - на уровне авторов/контрибьютеров самого проекта. Поэтому такая реализация вполне себе допустима.

То есть тайна голосования нарушается только в приватном блокчейне, который и является связкой userID — groupID?

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

Но в таком случае существование публичного блокчейна вообще не имеет никакого смысла и это главная причина считать что ДЭГ это один большой развод.

Внимание вопрос.

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

А если их приватный блокчейн приватный и его нельзя было смотреть в процессе - можно ли проверить что приватный генерировался во время голосования, а не, например, после него на основании публичного с произвольно расставленными group_id?

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

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

Судя по графику, что выложили на эхо по 198 округу (https://echo.msk.ru/blog/echomsk/2908338-echo/), и графику, который демонстрировала Брюханова в своем видео, данные в закрытом блокчейне отличаются от публичного. По крайней мере динамика голосования за Брюханову разная. За Хованскую вроде как похоже внешне (я цифры не сравнивал). На мой взгляд ДЭГ должны объяснить это расхождение. Особенно если и на остальных участках будет подобная ситуация. Они вроде как обещали выложить по всем участкам графики на основе закрытого блокчейна.

UDP: ссылка на график по публичному блокчейну от команда Брюхановой https://www.facebook.com/photo/?fbid=10224328914184863&set=pcb.10224328921105036

Не очень понимаю, как возможность переголосования защищает? По-моему, с этой функцией можно играть и в другую сторону — собирает всех начальник в сб и сажает перед ним «переголосовывать» то, что сотрудники сами наголосовали в пт. А к концу рабочего дня уже и 24 часа пройдет.

Судя по первой вашей статье, вы последние 8 лет зря не теряли :) Обрели не только хорошие навыки программиста.

Спасибо за работу, вдохновляет!

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

Идея голосования через госуслуги/mos.ru порочна by design. Клиентская часть должна быть представлена в виде открытого протокола. Тогда любая политическая сила сможет предложить избирателям софт, которому они доверяют. Транзакции должны быть полностью публичны, в реальном времени.

Пока эти базовые принципы не выполнены -- копать глубже нет смысла.

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

А если найдут такое в одном из 10 000 клиентов (может даже специально сделаное), то поднимится кипишь отменить результаты выборов.

Так что никто на такое не пойдёт, только госсервис, только хардкор.

Если политическим партиям позволить, то они бы вообще сделали свои клиенты, где есть только одна кнопка «Проголосовать» — выбор за кого вы уже сделали, скачивая клиент.

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

Отменять выборы?

Смысл подобного не понятен, покрайней мере в сегодняшних реалиях.
Угу. Или будет 100 клиентов «Проголосовать за Бориса Вишневского» с одинаковым названием и минимально отличающимися иконками.

Это фундаментальный вопрос электронного голосования.


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


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


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


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

А что мешало системе в конце 3го дня накидать в этот блокчейн транзакций с нужными переголосованиями? Ну или докидывать их равномерно на протяжении всего голосования?

Так и сделали

Это одна из версий. Пока что ей нет ни подтверждения, ни опровержения.

Вот, смотрите, что написано на сайте mos.ru в разделе "Ответы на вопросы":


Откуда я знаю, что вы посчитали все голоса, которые поступали онлайн?

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

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


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


Еще, кстати, непонятно, почему на федеральных выборах и в Москве использовались разные блокчейны — Москва это что, отдельное государство со своими правилами? Хотя в Москве хотя бы выложили публичный блокчейн, а федеральный на https://stat.vybory.gov.ru вообще не выложен.


P.S. Я заметил, что тут вставляют ссылки на видео об обнаруженных аномалиях голосования (% голосования за ЕР растет и падает по одному графику). Не надо вставлять видео, никто не будет его смотреть, надо вставлять ссылку на текстовый пост: https://www.facebook.com/maxim.gongalsky/posts/10224328921105036

Не надо ссылки на фейсбук, он не пускает без аккаунта там.

Если вставлять, то сам текст, или ссылку на открытые площадки.

Работа гигантская сделана, спасибо за объяснения.

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

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

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

Monero же. С помощью приватного ключа ты видишь свою трансакцию и больше никто.

по идее — оно так и есть, просто монетка выдается при регистрации на ДЭГ, всем дать монетку нельзя, ведь основная масса людей голосуют оффлайн.

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

банк россии выпускает номерные банкноты, всем раздает, а потом каждый ими голосует, ну или продает за бутылку

Ну или бутылку раздавать. А голосовать уже пустыми бутылками. Тогда никто свой голос продавать не будет.

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

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

Нам бы хотя бы до двухпартийности дойти, не понравилось через 4 года (а не 5-6 лет) других.

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

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

Кто выдает "монетки"? Государство. Что мешает государству выдать "монетку" боту-автоголосователю? Ничего. Более того, с теми базами, что есть у государства, легко сделать так, что ведомство "выдающее монетки" ничего и подозревать не будет о том, что она выдана боту, а не реальному человеку.

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

В условиях недоверия государству нет вообще никаких способов обеспечить честность и прозрачность выборов, кроме народной воли выйти на улицы и заявить об этом. Ну, то есть, окей сделали мы даже не блокчекйн, а вот прямо прямо явную открытую табличку в которой есть вообще все данные: место, время, ФИО, голос. А дальше-то что? Кто будет сверять эти данные с реальностью? У нас ведь явка 40%. Добавить 10% ботов сверху и любой (реалистично) нужный результат в кармане.

Эти монетки тут же монетизируют всякие алкоголезависимые личности.

«Куплю ваучер»…

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

Какая разница как работает электронное голосование? Выборы в РФ имитационные, то есть в результате озвучат любой результат, который им будет нужен, как в Беларуси.

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

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

Но моя гипотеза об атаке на электронного голосование состоит в том, что атакующие как раз переголосвали в пользу административных кандидатов. А именно, использовалось два механизма:
1. Фейковые аккаунты несуществующих людей + спящие аккаунты подконтрольных реальных людей для голосования.
2. Переголосование от имени реальных людей, которые изначально голосовали за оппозицию. Блокчейн покажет гражданину, что его голос был учтён (изначальный), но не покажет, что после от его имени было осуществлено переголосование, т.к. никакой публичной связи между двумя голосами нет.

В этом случае всё расхождение между данными ГАС ВЫБОРЫ и числом выданных бюллетеней следует считать нижней границей вбросов на электронных выборах.

В расшифровке пропущен пункт "отказ избирателЮ В онлайн-голосованиИ". К примеру, мной заявлено участие в ДЭГ 31 августа, а отказ получен 16 сентября в 23-20 с формулировкой: " По Вашему заявлению на Портале государственных и муниципальных услуг (функций) города Москвы произошли изменения 16.09.2021 в 21:14:43.

Номер заявления: 0001-9000003-087901-1070188/21.

Новый статус заявления: Отказ в предоставлении услуги"

После обращения к организаторам в чем причина отказа получен маловразумительный ответ:

"В соответствии с Порядком дистанционного электронного голосования на выборах, назначенных на 19 сентября 2021 года от 20 июля 2021 г. № 26/225-8, данные заявления на участие должны быть сопоставлены с различными реестрами ведомственных информационных систем, которые участвуют в проверке данных заявителя и организации процесса голосования.

Если хотя бы в одном реестре данные заявителя отличаются от указанных в заявлении, оно отклоняется системой.

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

Вопросы, которые касаются корректировки данных пользователей в личных кабинетах на портале Московских государственных услуг mos.ru не входят в компетенцию службы технической поддержки дистанционного электронного голосования.".

Вот это вообще мило с их стороны, тех поддержка ДЭГ организована порталом mos.ru и обращаться за проверкой данных в неведомых мне "ведомственных информационных системах" предлагается в службу технической поддержки портала Московских государственных услуг mos.ru: https://www.mos.ru/feedback/support/ или обратиться по телефону: 8 (495) 539-55-55.

Что не так в ДЭГ? Человеческий фактор не такой уж человечный. За явные технические косяки отвечать должен кто-то из ДИТ, но они вот со всех сторон огородились отписками.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.