Артем Костырко - Разворот (утренний) - 2021-09-21
И.Баблоян: 10
―
35 в столице. Радиостанция «Эхо Москвы». Телефон для ваших вопросов и комментариев нам: +7 985 970 45 45. Максим Курников, Ирина Баблоян. Но вопросы, конечно, не нам с Максимом, а вопросы можно задать Артему Костырко, начальнику Управления по совершенствованию территориального управления и развитию смарт-проектов Правительства Москвы. Артем, здравствуйте!
А.Костырко
―
Здравствуйте!
М.Курников
―
Давайте я сразу попрошу наших слушателей, которые имеют технические представления о том, как реализован блокчейн и прочее, формулировать свои вопросы. Потому что вы потом критикуете: «Почему вы про это не спросили». Мы не специалисты, прямо скажем. Много вопросов уже пришло и мы постараемся их задать. Мы почему будем говорить с Артемом Костырко — потому что именно он, можно сказать, курирует всю техническую составляющую этих выборов дистанционного электронного голосования.
И.Баблоян
―
Давайте с начала пойдем. Первый вопрос, который заботит людей: «Почему ровно в 8-19, когда последние голоса были пересчитаны, не появились результаты?»
М.Курников
―
Как вы это объясняете?
А.Костырко: Много людей, которые воспользовались функцией отложенного решения
А.Костырко
―
Они как бы сразу появиться и не могут, потому что есть целая процедура. Не мы ее придумали, но есть процедура соединения ключей. То есть в 8-15, когда голоса последние в блокчейн попали в зашифрованном виде, собирается ключ, чтобы все расшифровать. Эта процедура под камеры с большим количеством уважаемых людей и, соответственно, она занимает какое-то время. Плюс после этого ключ отправляется на сервер для расшифровки. По условиям игры теперь у нас система абсолютно защищенная контур К-1 — это высший класс безопасности. И она отправиться просто по интернету туда не может. Соответственно, это мы просто ножками идем в соседнее помещение, засовываем флешку в отдельный компьютер, которого нет в интернете, с которым есть связь и, соответственно, отправляем туда ключ. Соответственно, эти манипуляции, они завершились к 9 вечера. Вот НРЗБ ключ был опубликован в сети, это видно, там транзакция со временем прямо называется опубликованием ключа расшифровки. Вот это было с минутами в 9-15, по-моему. После этого только начинается расшифровка. Пошли транзакции. Через 20 с чем-то минут. мы первый протокол по муниципальным выборам уже в пресс-зале — то, что было на «Экспоцентре» Общественный штаб по контролю за выборами, — мы туда его и отправили. То есть Примерно через 20 минут муниципалы были расшифрованы. А дальше началась процедура расшифровки основного объема: Мосгордума и Госдума — она заняла больше времени, чем мы рассчитывали. А дольше, потому что когда мы делали тест для москвичей — уже тогда мы тестировали функцию отложенного решения. На тесте 146 тысяч человек приняло участие, а функцией воспользовалось менее 10 тысяч. И мы тогда уже имели эту задержку примерно на 2 часа. Именно после ключа, только через 2 часа расшифровали и посчитали 146 тысяч. И мы говорили, что с отложенным решением будет задержка. Но Венедиктов настоял перед всеми большими начальниками по поводу того, что лучше пересчитывать и пусть будет дольше, но доверия к системе будет больше.Один момент просто отвлекусь, переголосование — это не значит, что вы бюллетень взяли, поставили за какого-то Иванова, потом взяли еще раз, поставили за Петрова. Это не два голоса. Смысл в чем — что система проверяет, не зная, что это ваш бюллетень. То есть она не знает, что уважаемый ведущая взял и сначала за Иванова, потом за Петрова. Все люди превратились в некий циферно-буквенный код, который с человеком никак не связан и, соответственно, положили в блокчейн. Соответственно, она проверяет не просто Иванов и есть ли какой-то еще его бюллетень, она проверяет каждого с каждым. У нас было 300 тысяч переголосований на 2 миллиона, это 15%. Вот она берет каждое из переголосований и со всеми 2 миллионами проверяет. То есть, грубо говоря нужно умножить матрицу 2 миллиона строк на 300 тысяч столбиков. Вот она это делает каждый раз.
М.Курников
―
Современные компьютеры много ведь операций способны в секунду проделать.
А.Костырко
―
Да, но здесь еще особенность в том, что это блокчейн. Это плата за то, что данные всегда прозрачны и невозможно ничего незаметно с ними сделать. Он делает это последовательно. Невозможно распараллелить. То есть особенность в том, что он делает это последовательно. Нет возможности поставить там 10 компьютеров, 20 компьютеров, в параллель, чтобы они начали считать. Они записывают цепочку последовательно. Соответственно, вот эта запись: прочитал звено, умножил, последовательно записал. Вот это все продолжается так. Поэтому еще раз: ничего страшного нет, это похоже на то, когда вы файл качаете из интернета, и одно дело скачать 2 мегабайта, а другое — 202.
И.Баблоян
―
Артем, а правильно ли я понимаю?.. Вот смотрите, я проголосовала электронно. После того, как я проголосовала, мой голос ушел и превратился… то есть я уже не Ирина Баблоян проголосовала, а просто набор цифр какой-то.
А.Костырко
―
Да, прямо с вашего устройства в этот момент, как вы нажали кнопку «Проголосовать», Ирины не стало и абракадабра записалась.
И.Баблоян
―
А просто у меня появился порядковый номер. А можно где-нибудь… у кого-нибудь вообще есть доступ к тому, какие номера как проголосовали?
М.Курников
―
Что Ирина Баблоян — такой-то номер.
А.Костырко
―
Нет, такого доступа нет ни у кого. Потому что еще раз говорю: голос, во-первых, у вас на устройстве. В какой-то момент времени это даже проследить невозможно. Соответственно, указание, что Ирина проголосовала так, вернее зашифрованный бюллетень Ирины, его не существует нигде. Есть просто зашифрованный бюллетень и есть факт о том, что Ирина этот зашифрованный бюллетень получила. Больше нет ничего.
М.Курников
―
Давайте тогда пойдем по претензиям, которые предъявляются.
И.Баблоян
―
Я хотела сразу тогда спросить по поводу доступа к ноде наблюдения. У нас буквально перед вами был Денис Шендерович, который находился там. И он сказал, что в 8 вечера прекратилось наблюдение.
М.Курников
―
Сертификата не было, он был отозван.
И.Баблоян
―
Он был отозван. Только в 2 часа ночи получили какие-то ответы, объяснения, почему. Что произошло? Почему в 8 вечера, когда должен был быть этот доступ, его не было?
А.Костырко
―
Доступ к ноде был все три дня, начиная с 8 утра 17 сентября. Туда приходили кроме Дениса люди, они там находились, было дежурство. И то, что доступ прекратился в 20:00 — это абсолютно нормально. После того, как опубликован ключ расшифровки в сети, нода наблюдателя становится не нужна. Любой может взять ключ расшифровки и все те же транзакции, которые все три дня копились, взять и расшифровать. С этой точки зрения нода не несет никакой полезной нагрузки.В будущем мы, конечно, это предусмотрим. Но по регламенту, эта нода наблюдателя после того, как заканчивается голосование, и оканчивается прием голосов в блокчейн — она становится не нужна и выключается. Это просто регламентные работы. В 20:15 она выключилась. Но это не значит, что отозванный сертификат — это взяли и позвонили, отменили и сказали, заберите сертификат. Это просто автоматически произошло, как у вас логин с паролем имеет какое-то время действия. И вот, соответственно, время действия истекло, и он больше не работает.
И.Баблоян
―
Простите, пожалуйста, у меня такой вопрос: почему таким языком нельзя было сказать об этом наблюдателям в эту же минуту? Люди, которые там занимались этим, они же были в курсе. То есть можно же было как-то объяснить. А вот это вот, что «ФСБ закрыло доступ или нужно нам позвонить человеку, чтобы нам открыли доступ…» — это вообще у меня не сходится, честно говоря, с тем, что вы говорите.
А.Костырко
―
Это все просто ребята, которые там находились, они обычные дежурные были. Поэтому для них эта проблема функциональная. Доступ прекратился, потому что так по регламенту. Все очень хотят доступ. Что надо сделать? Позвонить тому, то этот доступ дает. Всё. Вот это обычная процедура. Поэтому да, позвонили. Но, мы, к сожалению, тогда были в этом же здании, просто в другом крыле заняты. И я туда не подошел. Но в целом дальше все, процедура пошла.
И.Баблоян
―
Простите, 6 часов? То есть они ждали 6 часов? С 8 до 2 часов ночи.
А.Костырко
―
Все понятно. Но опять же эта фраза: «Позвонить в ФСБ», она говорит о том, сколько времени и как это занимает. То есть там тоже звонят вам по телефону и говорят: «У нас все сработало штатно. Доступ обратно верни, пожалуйста». И там возникает, соответственно, вопрос: «А вам зачем? А вы кто? А почему?» И согласование и так далее.Но еще раз говорю, на будущее мы это предусмотрим. Но на данный момент пока не думали, что это может взывать какие-то вопросы. Потому что ключ расшифровки в сети, берите, пожалуйста, смотрите. Мы на все экраны вывели ход расшифровки, показали всем ключ. То есть вся пресса видела там на экране все. Поэтому, если честно, это просто в голове не отложилось, что параллельно еще кто-нибудь пойдет в ноду.
А.Костырко: Это блокчейн. Это плата за то, что данные всегда прозрачны и невозможно ничего незаметно с ними сделать
М.Курников
―
Что с цифрами? Когда вчера стало известно, что якобы количество голосов больше, чем количество зарегистрировавшихся, откуда такая информация приходит и что она обозначает?
А.Костырко
―
У даже на обзервере висит кнопочка «Информация» в кругляшке над каждой цифрой. Вот хоть кто-нибудь, кто задает эти вопросы ее понажимал. У нас переголосоване. Поэтому это абсолютно нормально. Вот Ирина взяла бюллетень — она попала в статистику по явке. То есть хотя бы раз получила доступ к бюллетеню. Это как раз те 96,5%, которые приняли участие голосовании. После того она один раз получила и нажала кнопочку «Проголосовать» тут же. Соответственно, она попала в статистику принявших участие в выборах, то есть в знаменатель. Там одна из этих цифр — общее количество бюллетеней, отправленных в электронную урну. Через три часа пришла — еще раз. Она не увеличила количество тех, кто принял участие в голосовании, то есть в явке не увеличилось, потому что она уже была, но у нее бюллетеней стало 2. Соответственно, вот это количество бюллетеней, отправленных 300 тысячами уникальных людей в сеть, она и дает это превышение. То есть, грубо говоря, есть люди, которые получили бюллетень по всем выборам по двум или по трем и не отправили его, просто открыли и ничего не сделали, — такие всегда есть, каждые выборы. То есть это то же самое, что вы бюллетень в карман положили на участке и ушли с ним, унесли. Такие есть всегда. И, соответственно, есть те, которые по несколько раз переголосовали. У нас был только один человек, который переголосовал 7 раз, и это разработчик из команды. То есть он просто проверял, что все работает. В основном людей 85 с лишним процентов переголосовали 2 раза, то есть один раз и второй раз.Много людей, которые воспользовались функцией отложенного решения — это и дает превышение над количеством нормальных бюллетеней. Если бы 100 человек зашло и получили бюллетень, 100 бюллетеней бросили — 100 к 100, все нормально было бы. А здесь как бы зашло 100 человек, 90 из них опустили бюллетень и после этого 10 ничего не сделали и ушли, но 10 человек решили потом поменять своё решение и сделали это три раза. И получается, что 80+30=110, и 110 делится на 100. Тут будто 10 лишних голосов - но это не так, при подсчете учитывается только последний по времени из каждой цепочки. Это переголосование. Это видно было и в первый день.
М.Курников
―
Юрий спрашивает вас: «А как проверить, что на этапе формирования итогового протокола не были искажены результаты? Какие для этого есть технические возможности?»
А.Костырко
―
Мы сейчас в связи с тем, что опять же есть много вопросов, мы понимаем, что объяснение на технической группе, где мы раскрываем, собственно, все эти алгоритмы и показываем на конкретных примерах, как это произошло, возможно, в этот раз этого недостаточно. Мы постараемся раскрывать, не выдавая тайную анонимность, раскрывать вообще весь набор голосов, то есть и те групповые номера, то есть все бюллетени Ирины, только это не Ирина, а циферно-буквенный код. Мы делаем так, что это что этот циферно-буквенный код уж точно абсолютно к Ирине не приведет. Соответственно, покажем это в интернет. Выложим этот весь массив данных.И, соответственно, как проверить? Во-первых, первая часть: все голоса зашифрованы, они лежат в обзервере до сих пор, и он будет у нас работать примерно месяц после выборов, всегда еще крутиться. Ключ от шифрования там. То есть в принципе, кому нужно… Вот я Твиттер Каца видел, что он взял, применил, посчитал, и у него протокол сошелся. То есть можно, в принципе, это сделать. Можно воспользоваться той выкладкой, которую мы сделаем тоже на каком-то из распространенных порталов, положим наши объяснения вместе с массивами данных. То есть можно будет прочитать их, не выполняя математических действий тоже это увидеть.
М.Курников
―
Еще вопросы как раз по поводу знания кодов. И можно ли за человека было переголосовать, зная код доступа и так далее?
А.Костырко
―
Это старый, древний вопрос. Невозможно проголосовать за человека — потому что мы не знаем, какой человек голосует. У того, кто заходит, голос сразу зашифровывается, никуда он не отправляется, он уходит зашифрованный, я не знаю — за кого этот голос. Ключ мы соединили только после окончания голосования. То есть я в принципе даже теоретически не понимаю, какой голос брать. Если бы я брал все голоса, не глядя просто, вот я такой зло и решил всех на «Единую Россию», то по итогам выборов видно, что я сильно не угадал, то есть там меньше половины. Если я хочу конкретно голос Ирины поменять, то мне надо знать, как она выглядит в системе. Но есть нонимайзер и, соответственно, как выглядят голоса в сети, это тоже видно. Там прямо видно, кто автор этого голоса. То есть прямо в самой транзакции написан вот этот код. У нас неоднократно пытались из этого кода вывести идентификатор человека в реестре, номер паспорта, СНИЛС, привести его к каким-то идентификаторам в базах, которые слиты в интернет и так далее. Ну, это глупое упражнение, потому что там теоретически даже сделать невозможно. Он так не формируется. Поэтому я не знаю, где голос Ирины, и я не знаю, какой конкретно этот голос, даже мне неважно, если кто проголосовал. Как я поменяю что-то?
М.Курников
―
Артем, скажите, как так получилось, что другие регионы выдали результат на несколько часов раньше, чем Москва? Москва на своей платформе делает, а федерация на своей. У нас есть отличие — с точки зрения структуры мы одинаковы, но с точки зрения внутреннего устройства мы разные. У федералов есть демоморфное шифрование — это система, при которой голос предрасшифровывается в самой системе и значение этого голоса пишется в цепочку. То есть не сам зашифрованный голос, а значение этого голоса пишется в цепочку. Каждый момент времени в этой системе известен результат. Голоса копятся в цепочке не в виде транзакции человека, а в виде конкретного решения этого человека и формирует протокол в итоге. Поэтому у федералов один раз достаточно расшифровать всю цепочку, и как бы сразу протокол готов. Это хорошо и полезно, потому что у нас 37 протоколов, а у них 800. Несопоставимые цифры — много регионов и много выборов. Есть и минус в этой системе. У нас можно дойти до каждого голоса человека, у нас каждый голос существует в цепочке и каждый может взять свой голос в транзакции, и после голосования применить ключи шифрования и сам его расшифровать. В федеральной системе так не получится. У нас есть еще и переголосование. А это занимает время. Это не просто найти 300 тысяч голосов с их дублями, а это перебрать 300 тысяч раз все 2 миллиона голосов.
А.Костырко: Венедиктов настоял, что лучше пересчитывать и пусть будет дольше, но доверия к системе будет больше
И.Баблоян
―
То есть правильно ли я понимаю, что каждый человек, проголосовавший в Москве электронно, может получить, в принципе, эту расшифровку для себя.
А.Костырко
―
Да, и всегда мог. Для это достаточно было просто сохранить свою транзакцию зашифрованную. То есть это можно и сейчас, это можно было и в 19-м году и каждое голосование.
М.Курников
―
А сейчас уже вернуться и посмотреть, какая у тебя была транзакция невозможно?
А.Костырко
―
К сожалению, невозможно. Потому что нормативно это вообще запрещено. То есть мы очень аккуратно про это говорим. Это я с вами в эфире так разоткровенничался после трудных выборов. Но на самом деле нормативно это запрещено.
И.Баблоян
―
Просто это инструмент, которым можно было бы воспользоваться, если каждый человек сомневающийся, такой как я, что мой голос ушет туда… куда надо, то можно было путем сложения этих данных перепроверить.
М.Курников
―
Перепроверить 2 миллиона человек.
А.Костырко
―
Только себя.
И.Баблоян
―
Я имею в виду, что каждый человек это сделает. Я-то только себя, другой человек — себя, и вот так по цепочке.
А.Костырко
―
Вы правильно говорите, совершенно верно. В этом-то и есть смысл. Если хоть один человек найдет, что с его голосом что-то не так, то блокчейн нарушен. Значит, все остальные голоса, в них что-то не так. В этом как бы и смысл. То есть достаточно хотя бы одного нарушения, то есть доказательного нарушения… У нас уже некоторые люди…
И.Баблоян
―
А на какой стадии этот код появляется, когда его нужно зафиксировать для себя?
А.Костырко
―
Когда вы нажимаете кнопку проголосовать. В интернете есть инструкция организации, которую я не знаю правильно называть, как она там с иностранным участием или еще что-то…
М.Курников
―
«Голос» вы мете в виду, который признан властями иностранным агентом.
А.Костырко
―
Да. Он выложил инструкцию. И другая организация «Медуза», не знаю, как правильно называется…
И.Баблоян
―
Такая же иностранная, по мнению властей России.
А.Костырко
―
Она это тоже выложила и тоже есть такая инструкция. Это тоже не является нарушением закона или особым каким-то функционалом. Это обычный функционал любого браузера интернета.
М.Курников
―
Дмитрий спрашивает вас: «Как можно провести аудит системы электронного голосования? Как я могу проверить все покрывающие логи? — я не знаю, что это такое. — Есть ли наличие возможности зарезервированного доступа для заинтересованных лиц? И почему у наблюдателей был запланирован отзыв сертификата во время работы?»
А.Костырко: Результаты сразу появиться и не могут, потому что есть целая процедура
А.Костырко
―
Про сертификат отвечали уже. По поводу проверки логов. Единой системы логирования не существует, чтобы нельзя было проследить голос. Ее просто физически нет. Три части системы, бюллетень, реестр избирателей и, собственно, блокчейн. Для каждой из них своя система логирования на своих идентификаторах, между ними нет никакой связи ни физической, ни виртуальной. Это проверялось на технической группе, мы это показывали. Этого нет.Как получить проверку? Мы показываем на технической группе исходные коды, выкладываем на дитхап, показываем алгоритм работы. Дальше, соответственно, это вариант контрольного примера. Берите и на себе его проверяйте. У нас, собственно, те, кто в технической группе есть — это наши критики, — они на себе и делают. И вся и критика связана с тем, что «вы вот здесь написали, у вас такая библиотека называется, я в ходе голосования проверил, она такая, но есть еще и другая». Там есть такой наш коллега Евгений Федин, он обращает постоянно внимание на бюллетени. Спасибо ему за это, потому что очень сложная система, много всяких элементов. Он всегда находит, что мы сделали, не сказав об этом.
М.Курников
―
К сожалению, Артем, время закончилось. Я, честно говоря, думаю, что нужно будет на этой неделе еще раз связаться, потому что продолжается эта история. Мы слышали в первой части часа Дениса Шендеровича, который был наблюдателем, у которого есть претензии к тому, как все считалось. Он не верит в итоговый результат.Это был Артем Костырко, начальник Управления по совершенствованию территориального управления и развитию смарт-проектов Правительства Москвы, который объяснял, как все устроено с их стороны.

