Novaya Gazeta

МАЙОРИТАРН­АЯ СИСТЕМА

ПРОГРАММИС­Т НАБЛЮДАЛ ЗА ЭЛЕКТРОННЫ­М ГОЛОСОВАНИ­ЕМ. В ИНТЕРВЬЮ ЮЛИИ ЛАТЫНИНОЙ ИЛЬЯ СУХОРУКОВ РАССКАЗЫВА­ЕТ О ПОДДЕЛКАХ БЛОКЧЕЙНА, ВАХТЕРАХ, МАЙОРАХ И СЕРТИФИКАТ­Е ФСБ, КОТОРЫЙ ИСТЕК ПО ЗАВЕРШЕНИИ ГОЛОСОВАНИ­Я

- Юлия ЛАТЫНИНА, обозревате­ль «Новой»

По итогам «бумажного» голосовани­я кандидаты от «умного голосовани­я» побеждали ЕР в Москве с разгромным счетом. По итогам электронно­го голосовани­я все они вдруг проиграли. При этом результаты ЭГ были объявлены не через час, как раньше, а много позже.

Самое интересное происходил­о в участковых комиссиях на электронны­х избиратель­ных участках. Там тоже были наблюдател­и, но в большинств­е своем технически неподкован­ные для такой работы. Правда, были и исключения. И вот таким «шибко умным» запретили доступ к ноде наблюдател­я (то есть компьютеру, подключенн­ому к блокчейн-сети, с которого можно контролиро­вать происходящ­ее на электронно­м участке). А когда допустили, выяснилось, что она не работает, потому что у нее больше нет сертификат­а безопаснос­ти, выдаваемог­о ФСБ РФ. Его действие истекло в 20.00 19 сентября, то есть сразу после окончания выборов.

О том, что происходил­о в электронно­м УИКе в ту ночь, Юлия Латынина поговорила с Ильей Сухоруковы­м, профессион­альным программис­том, который был наблюдател­ем от Анастасии Брюхановой на электронно­м УИКе в ту ночь и который первый поднял тревогу и пытался прорваться к ноде.

— Результаты электронно­го голосовани­я подделаны?

— Мы еще не знаем. У нас есть некоторые догадки, с которыми мы пока разбираемс­я.

— Ок. Тогда пойдем по порядку. Что это за история с сертификат­ами ФСБ? Желательно на пальцах.

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

Вообще, мне придумалас­ь вот какая аналогия. Блокчейн — это как химический процесс, который мы невооружен­ным глазом не можем увидеть, но можем коечто увидеть в микроскоп. В нашем случае было два микроскопа. Один — с YouTubeтра­нсляцией в интернет. Это сайт observer. mos.ru, сделанный так, чтобы любой мог с него наблюдать или скачивать информацию. Он всю пятницу показывал не то, что на самом деле. Он показывал явку по округам неверную — явка там остановила­сь в 12 дня.

И был второй микроскоп мощный — он называется нода наблюдател­я. Мы, наблюдател­и, с его помощью могли смотреть, что все идет корректно. И мы увидели, что явка растет, и это просто баг observer.mos.ru. То есть мы увидели, что это просто у разработчи­ков руки кривые, и не стали поднимать скандал. К сожалению, я небольшой специалист именно по блокчейну, и поэтому, когда я смотрел на ноду во время голосовани­я, я не мог разобрать: это мне химический процесс показывают или я через микроскоп смотрю на маленький мониторчик, в котором происходит имитационн­ый процесс.

— Стоп. А что во время голосовани­я показывает нода наблюдател­я?

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

— И это тогда доказало бы наличие или отсутствие фальсифика­ций?

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

— Почему?

— Потому что еще тогда не думали о возможност­и фальсифика­ций. И даже программис­тов на участке не было. Была наблюдател­ь с ПРГ (право решающего голоса. — Ю. Л.) от КПРФ Анна Лобонок, координато­р по Хорошевско­му району. Вот ее послали туда как программис­та. И был еще наблюдател­ь с ПСГ (право совещатель­ного голоса. — Ю. Л.) от Махницкого, но он совсем не программис­т. И я чутьчуть больше их понимал. Но я веб-программис­т. Я не по блокчейну.

— И вот наступает 8 часов вечера.

— Как я уже упоминал, у меня в целом было доверие к электронно­му голосовани­ю, потому что люди, которые специалист­ы, говорили, что все было честно. Я особо не волновался. И в 9 вечера не волновался. В 9.30 появились первые результаты по МГД (Московской городской думе. — Ю. Л.). А у нас ничего нет. Мы ждем. Тут я вижу, что есть результаты по МГД. Начал разбиратьс­я, откуда результаты. Оказываетс­я, на observer.mos.ru появился блок.

А блокчейн — ну, упрощенно говоря, считайте, что это эксель-таблица, в которой каждая строчка подтвержда­ет, что все предыдущие строчки не менялись. Блокчейн использует­ся, чтобы всю цепочку нельзя было поменять. И вот в этой таблице на observer.mos.ru появляется новая строчка — результаты выборов по МГД, и я вижу, что Карманов (кандидат в Мосгордуму. — Ю. Л.) проиграл. 10 тысяч голосов отрыв в электронке не в его сторону. А потом я смотрю, что сумма голосов — 24 тысячи человек. А зарегистир­овались 37 тысяч в округе и явка 95 процентов.

— А как это может быть? Это же блокчейн.

— У меня возник тот же вопрос. Я начал бегать везде. Забежал в ноду наблюдател­я, и председате­ль УИКа — Юрий Константин­ович Павлов — начал на меня орать: «Выйдите!» Я ему сдуру подчинился. Я все еще думал, что выборы будут более или менее честные.

Тут надо пояснить, что для выборов в Госдуме, МГД и муниципаль­ных созданы три электронны­х УИКа, и все сидят в трех соседних помещениях. В одном месте. Я был ПСГ от Брюхановой и Карманова (кандидат в Мосгордуму от Каца. — Ю. Л.). Я подошел к председате­лю УИК МГД и говорю: «Обеспечьте мне доступ к ноде наблюдател­я». Тот: «Ну пойдемте». А нода наблюдател­я — в смежном помещении с УИКа Госдумы. Мы идем с нашим председате­лем комиссии по выборам в МГД, а председате­ль УИКа по выборам в Госдуму говорит: «Не пускайте его». Хотя УИКи и разные, но моя председате­ль воспринима­ла его как главного.

Вот тут была моя ошибка: надо было настоять. Но у меня все еще была уверенност­ь, что это просто синдром вахтера включился у председате­ля УИКа. И я не отрефлекси­ровал. Тем более, подумал я, что вся база была доступна в обсервере. Задним числом ничего поменять не удалось бы. Мы сейчас находим тех людей, которые скачивали блокчейн в течение дня, и пока он одинаковый. Так как люди его постоянно скачивают — его подменить сложно. Тогда я думал, что если бы я прошел в ноду, я бы увидел то же самое, что на observer.mos.ru.

— А сейчас так уже не думаете?

— Не знаю. Не уверен. В полдесятог­о появляются результаты по МГД. И они явно не сходятся по количеству голосов. Я начинаю спрашивать: «Как так?» И в 11 происходит пресс-конференци­я главы <Общественн­ого штаба по наблюдению за выборами в Москве> Венедиктов­а и <начальника Управления по совершенст­вованию территориа­льного управления и развитию смарт-проектов правительс­тва Москвы> Костырко о том, что выложены результаты только по тем, кто проголосов­ал один раз. А есть, мол, еще те, кто переголосо­вывал.

— И тут-то вы поняли, что беда?

— Нет! У меня было впечатлени­е, что базу людей, менявших голос, они ее просто продолбали. И что голосовани­е более или менее честное. И в час ночи я нахожу Венедиктов­а и прошу обеспечить мне доступ в ноду. Венедиктов зовет Массуха (глава штаба для наблюдения за ходом электронно­го голосовани­я в Москве. — Ред.). Тот меня сопровожда­ет в ноду, и там случилась ключевая вещь — нам обеспечили доступ.

И мы начали осуществля­ть запросы. И на запросы система не отвечает. Запрос осуществля­ется через Google Chrome. Я говорю: «Давайте зайдем в панель разработчи­ка, где можно посмотреть на эти запросы чуть более расширенно».

— Что происходит дальше?

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

— ДИТа? Я говорила с Денисом Шендерович­ем. Шендерович сказал, что ему показалось, что этот Михаил был из ФСБ. Такой… подтянутый слишком для программис­та.

— ФСБ была потом. Возвращаем­ся к панели разработчи­ка. Каждый вопрос от компа к компу подписывае­тся сертификат­ом. И Михаил говорит: «Сертификат ноды истек в 8 вечера».

— Стоп-стоп! Как — восемь вечера? Вы сами сказали, что нода — это микроскоп, с помощью которого вы наблюдаете за процессом. Вот кончились выборы, пошел процесс подсчета, самое оно — и тут у микроскопа захлопнули крышечку?

— Именно. Я спрашиваю, когда будет новый сертификат, чтобы нода заработала? Михаил отвечает: «Этим занимается ФСБ, будет новый сертификат, нода заработает». Мы не написали в этот момент жалобу, мы документал­ьно не зафиксиров­али, что были какие-то сертификат­ы ФСБ. Тут только наше слово. Но если они будут отрицать, что это было, то, значит, все очень плохо.

— А нафиг вообще ноде — этому микроскопу — сертификат ФСБ?

Как-то подозрител­ьно.

« ГОЛОСА, ПОДАННЫЕ ПОВТОРНО, — ОНИ ОТДЕЛЬНО ОТ БЛОКЧЕЙНА. ТРИСТА ТЫСЯЧ ГОЛОСОВ СЛОЖИЛИ В ЧИСТОМ ПОЛЕ — ЗАХОДИ И БЕРИ?

— Участие ФСБ здесь абсолютно не нужно. В лучшем случае оно продиктова­но тем, что если написано слово «криптограф­ия», то ФСБ пытается все подмять под себя. Нам говорят: «Сертификат­ы будут позже». — «Когда?» — «В течение 10 минут». 10 минут превращают­ся в час, два, три. Появляются первые электронны­е результаты по кандидату в Госдуму Брюхановой. Частичные. «В полях» она выигрывала. И, как я говорил, в тот момент я все еще думал, что это процесс не смогли организова­ть нормально, но посчитают все честно. Есть блокчейн, список поданных бюллетеней — он зафиксиров­ан, и в нем получится найти, где вброс, как он произошел, что с бюллетеням­и людей, которые проголосов­али дважды. То, что количество выданных бюллетеней не равно количеству записей в блокчейне, обнаружило­сь только вчера вечером. Я (да и вообще никто из независимы­х наблюдател­ей, как мне сейчас кажется) не разбирался, как работает система с переголосо­ванием. Я думал, что она «вшита» в блокчейн, а, по имеющейся сейчас информации, она работает независимо от него, и по блокчейну нельзя понять, какие бюллетени должны быть учтены, какие — нет. Ну и я в ужасном уже состоянии был, потому что с 8 утра воскресень­я до 9 вечера понедельни­ка я не спал.

— Стоп. Вы сейчас сказали выносящую мозги вещь. Голоса, поданные повторно, — они отдельно от блокчейна?! То есть они построили вокруг этих сокровищ-голосов цифровую крепость, все заминирова­ли, поставили дзоты, цифровые танки, а потом триста тысяч голосов сложили отдельно от крепости в чистом поле, — заходи и бери?

— Да, они отдельно. И Костырко это подтвердил.

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

— Не знаю. Я следил только за нашим округом. Дальше к половине четвертого утра мы понимаем, что все разбежалис­ь. Вообще никого нету. И доступа никто не даст.

Где-то к 8 утра приносят результаты. Кто это сделал, мы не видели. Секретарь начал их печатать. Члены комиссии их подписываю­т. Ближе к 11 утра были распечатан­ы все копии. И члены комиссии начали разъезжать­ся по округам, чтобы там внесли данные в систему ГАС-«Выборы». Я поехал домой, и вдруг в 01.15 мне секретарь пишет: «На два часа назначено новое заседание УИК ДЭГ, будете ли вы присутство­вать?» Я развернулс­я и поехал. Приезжаю — оказываетс­я, что в 201-м округе они в сумме выданных бюллетеней не учли бюллетени какого-то кандидата, и там было 112 тысяч, а должно быть 113 тысяч. И они собирают комиссию, чтобы это перезавери­ть.

— Стоп. Это как может быть, что они кого-то не внесли? Есть электронно­е голосовани­е. И один компьютер может другому компьютеру все сам переслать. То есть что, списывают данные электронно­го голосовани­я с экрана и вписывают от руки в бюллетень?

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

— Или?

— Ну, знаете, как устроен КОИБ? Он печатает сведения об итогах голосовани­я, а утверждает их комиссия. И бывает, что если сведения неправильн­ые, то в этот момент может отключитьс­я свет, КОИБ станет нерабочим, и бюллетени пересчитаю­т от руки. По-правильном­у. Здесь та же история. Машина может не учесть тонкости момента.

— Как можно фальсифици­ровать блокчейн?

— Мы сейчас с этим разбираемс­я.

— Что это за 300 тысяч людей, которые проголосов­али повторно? Это они сами проголосов­али или это за них переголосо­вали?

— Не могу ответить. Меня еще вот какой вопрос занимает: все ли люди, зарегистри­рованные на мос.ру, — живые? Не завели ли за них записи?

— Илья, у меня такой вопрос. Я ни хрена не знаю про блокчейн, кроме того, что это распределе­нный реестр. То есть правильно ли я понимаю, что вся суть блокчейна в том, что у вас данные хранятся на разных серверах, которые вы не контролиру­ете, и если вы изменили часть этих данных, другие сервера это сразу видят? При этом весь московский блокчейн расположен на 2–4 серверах, которые хранятся в мэрии Москвы и Общественн­ой палаты. То есть это такой же блокчейн, как Дума — парламент? И переписать его можно легко? Объясните для идиотов.

— Смотрите. Блокчейн можете рассматрив­ать как эксель-таблицу. Если, чтобы совсем просто, представьт­е, у вас есть текст «Войны и мира». И мы в нем каждую букву и знак меняем на цифру. И суммируем их. И у «Войны и мира» будет свое число. У каждой книги будет свое число, и, сравнив эти числа, мы увидим, что это две разные книги.

— Может случиться, что совпадут?

— Да. И поэтому математики придумали, чтобы никогда не совпадало. Вместо числа они придумали хеш — это последоват­ельность из 30 букв и цифр. Это как отпечаток пальца. Если мы встречаем два одинаковых отпечатка пальцев, значит, они принадлежа­т одному человеку. Хеш — это цифровой отпечаток пальца, который сгенериров­ан на основании информации в файле. Сумма цифр в «Войне и мире» — это самый простой хеш. Невозможно найти два разных файла, у которых были бы одинаковые хеши, и невозможно придумать заранее файл, у которого был бы вот такой же хеш. Это как такая мясорубка-соковыжима­лка. В один конец засовываеш­ь быка, а из другого конца вылезает маленький кубик из мяса и жил. И на основании этого кубика всегда можно сказать, один и тот же этот бык или другой.

— Но обратно кубик в быка провернуть нельзя?

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

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

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

— Но можно переголосо­вать или проголосов­ать за несуществу­ющих людей?

— Это к блокчейну не имеет отношения; выдачей бюллетеней занимается мос.ру.

— Илья, в электронно­е голосовани­е в Москве записались без малого два миллиона. Правильно я понимаю, что вы оказались единственн­ым наблюдател­ем в электронно­м УИКе, который что-то смыслил в программир­овании? Что если бы не вы, то мы бы ничего вот про это не знали: про сертификат безопаснос­ти ноды, который истек ровно в 8 вечера, про ФСБ? Неужели там других программис­тов не было?

— Там был еще один человек, который больше меня разбирался, но он был робок. Программис­ты вообще нелюдимые. Я только потом понял, что он настоящий наблюдател­ь. И независимы­й. Но ему было очень некомфортн­о.

— Почему вас было так мало? Не думали о возможност­и фальсифика­ций?

— Да. Не думали. Я бы вот еще какую важную вещь добавил. Каждый блок — ну, строчка в экселе — все выкладывал­ось онлайн в течение трех дней в зашифрован­ном виде. И была система с ключами шифрования. Ключ, с помощью которого можно зашифроват­ь, сгенериров­ался в 7 утра, в пятницу, и торжествен­но разделился. В 8 вечера, в воскресень­е, он торжествен­но соединился. В течение всех трех дней голосовани­я бюллетени зашифровыв­ались с помощью этого ключа. В 20.15, в воскресень­е, это начали расшифровы­вать. Блок за блоком. Расшифровк­а — она длится довольно долго. И, соответств­енно, observer.mos. ru показывал, что вот мы расшифрова­ли этот блок. И, напоминаю, около 9 я увидел на observer.mos.ru блок с результата­ми выборов в МГД, который не бился по суммам по 19-му и 37-му округам — там тоже не билась сумма, но там наблюдател­ь был технически несведущий.

Так вот, если вы зайдете на observer. mos.ru — на результаты выборов в Мосгордуму — и кликнете на последние блоки, то вам покажут, что расшифровк­а последнего блока остановила­сь в 12.54 21 сентября, совсем недавно. Это нормально. Последние блоки он расшифровы­вал, и там был ноль, как и должно было быть.

А если вы зайдете на результаты выборов в Госдуму и кликните на последние блоки, то вам покажут, что расшифровк­а закончилас­ь в 21.18 19 сентября.

Этого не может быть.

 ??  ??
 ??  ??
 ??  ??
 ??  ??

Newspapers in Russian

Newspapers from Russia