20 августа платформа «Голос» вместе с платформой «Зубр» и инициативой «Честные люди» представила итоговый отчет о выборах президента Республики Беларусь. В тот же день один из разработчиков «Голоса», чья идея, по сути, и легла в основу платформы, написал пост о себе. Этого человека зовут Павел Либер, он уже 17 лет работает в IT, участвовал в разработке платформы «Скорая взаимопомощь», выступал интегратором для платформы «Зубр», но, по его мнению, самым важным социальным проектом этого года стало участие в разработке «Голоса». 42.TUT.BY побеседовал с Павлом о том, как создавалась платформа, и что с ней будет дальше.
Как создавался «Голос»?
Мы уже говорили с Павлом ранее — но на тот момент он сохранял анонимность. Теперь же, когда опубликован итоговый отчет по выборам, он представился на личной странице в соцсети, отметив, что «сегодня важный день, когда у платформы должен быть не только голос, но и лицо».
Павел Либер работает в EPAM (директор практики Digital Strategy & Experience Design) и участвовал «в огромном количестве цифровых благотворительных проектов Беларуси — от помощи детям с аутизмом и мамам, у которых родились недоношенные дети, до приложения для спасателей МЧС и платформы для помощи Минздраву в борьбе с коронавирусом». В июне этого года он написал пост в Facebook, где отметил, что «если большинство жителей страны имеет смартфон, то можно превратить этот крауд людей в один большой цифровой избирательный участок».
Эту идею заметили другие представители ИТ-сферы, которые решили развить идею, и вот так на свет появился «Голос» — платформа, куда каждый мог прислать фото своего бюллетеня или протокола УИК.
Эта идея вызвала ответную реакцию у властей. Так, 6 августа Александр Лукашенко поручил дать оценку законности инициатив об альтернативном подсчете голосов на выборах. И в тот же день глава ЦИК Лидия Ермошина назвала платформу «вредным и преступным проектом» и «политической аферой». Тогда команда проекта ответила главе ЦИК, что единственная цель «Голоса» — убедиться в достоверности официальных результатов.
После заявлений Лукашенко и Ермошиной Генпрокуратура посчитала, что онлайн-платформы «Голос» и Zubr.in занимаются проведением социологических опросов и исследований без аккредитации. За это ее основателям грозит административная ответственность.
Однако платформа все равно выпустила итоговый отчет по выборам. И 21 августа стало известно, что в Беларуси ограничили доступ к онлайн-платформам «Голос» и Zubr.in, хотя их уже пару недель заменяет «зеркало».
Когда «Голос» только начал свою работу, Павел Либер (как и большинство участников команды) покинул страну, чтобы, по его словам, создавать проект «в абсолютно спокойных условиях, не боясь каждого стука в дверь». Он и сейчас находится за границей, как и ключевые люди команды. Поэтому мы побеседовали с ним по Zoom.
— Эта невероятная история. Я еще не встречал в своей практике, чтобы группа волонтеров могла самоорганизоваться и выдать продукт — суперзащищенный, супербезопасный, который получил миллион пользователей за три недели, смог устоять перед всеми мощностями государства Беларусь, собрать результаты и выдать отчет. И это все буквально меньше чем за месяц, — рассказывает Павел. — Если бы пару месяцев назад мне это сказали, я бы ответил, что такого никогда не будет. И сейчас, когда я смотрю на это «никогда не будет», то сам не верю, что оказался причастен к такой значимой и масштабной истории. Думаю, таких интересных проектов — один на миллион.
Прежде всего, подчеркивает Павел, его основная работа в EPAM не связана с «Голосом» — он даже взял отпуск на три недели, чтобы посвятить платформе все свое время и силы.
Кроме того, как и «Честные люди», «Голос» — это «горизонтальная» структура, где нет одного руководителя. Так что Павел просит называть себя просто одним из разработчиков.
— «Голос» — это такой стартап энтузиастов и волонтеров. Например, я чуть-чуть и менеджерил, и рисовал, и кодировал, и абсолютно все наши ребята делали то же самое. Это классический стартап, который прошел свою эволюцию от пяти до сорока человек всего за три недели, а также набрал 1,2 миллиона пользователей. Большинству стартапов такое даже и не снилось.
Команда «Голоса» разделена на условные группы. Одна занимается сайтами проекта, другая — чат-ботами, третья — нейросетями и компьютерным зрением, что предназначены для распознавания бюллетеней. Четвертая — безопасностью и отказоустойчивостью, а пятая — пиаром и связями с общественностью.
— По сути, каждая группа достаточно автономна, — говорит Павел. — Меня не все знают, я не знаю всех людей, и этим «Голос» удивителен, потому что это не классический ИТ-проект. Это такой сумасшедший стартап, который быстро вырос, децентрализовался, разделился на правильные команды и был сдобрен сотней волонтеров, которые после нейросетей помогали анализировать бюллетени.
Безусловно, есть люди, к опыту и авторитету которых прислушиваются больше всего, но какого-то магического менеджера, который всем этим управляет, попросту не существует. Это еще один пример, как могут самоорганизовываться белорусы.
Связаны ли «Голос» и «Честные люди»?
И да, и нет, отвечает Павел. С одной стороны, платформа очень плотно работала с «Честными людьми» (именно их волонтеры присылали протоколы с участков), а с другой, «Голос» — это самостоятельный ИТ-продукт с самостоятельной ИТ-командой, который возник независимо от «Честных людей».
Новые люди приходили из различных ИТ-сообществ, а также из Telegram-чатов, где собирались желающие помочь. Так что за короткое время у «Голоса» подобралась достаточно сильная команда — как говорит собеседник, «наверное, была представлена половина ИТ-компаний Минска».
Еще до социального хакатона Social Technology Hackathon 2020, который прошел 18−19 июля, ребята сделали большую часть проекта.
— На все ушло чуть меньше месяца, — отмечает Павел. — Причем интересно, что вся эта децентрализация, сбор хороших инженеров позволили создать систему, с одной стороны, надежную и безопасную, а с другой — сделать это быстро, потому что огромное количество решений мы «переиспользовали». Так, мы использовали Amazon, наработки нейросетей, распознающих бюллетени, и так далее и тому подобное. То есть, сложился очень интересный комплекс хороших инженеров и правильной комбинации кастомной разработки и каких-то готовых решений.
Я, честно говоря, как менеджер и руководитель отдела сам не верю в то, как эта система работает. Потому что ее как бы никто не менеджерит, все люди равны, никто никому не ставит задачи, никто никому не платит деньги. Но при этом все работает, и все конфликты решаются достаточно позитивно — люди интеллигентные и понимают, что есть общая цель, которая важнее, чем личные амбиции.
Как на работу платформы повлияло отсутствие интернета в стране?
Платформа начала свою работу 23 июля. Как говорит Павел, разработчики были готовы, что им придется столкнуться с трудностями в день выборов.
— Фактически, наша команда разделилась на две части. Одна считала, что страшные государственные хакеры попытаются нас взломать и украсть все данные. А вторая, включая меня, полагала, что бороться с нами будут административно-физическими способами, в том числе запугиванием, через инфополе, физическое устранение людей и так далее. В итоге все пошло скорее по второму сценарию, хотя попытка подменить платформу в день выборов все же была. Но на деле мы ожидали большего.
Утром 9 августа в стране начались проблемы с интернетом. Однако разработчики к этому подготовились заранее.
— Все механики были построены таким образом, чтобы отсутствие интернета могло нас огорчить, но не остановить. Но да, безусловно, это повлияло на «Голос» в том плане, что мы получили фотографии бюллетеней позже, чем планировали. Не все успели их прислать, и не все умели пользоваться VPN. Viber «умер» и остался только Telegram. Но мы подождали, интернет восстановился, и люди смогли дослать фото, и мы построили на них финальный отчет.
Как команда проверяла достоверность присланных фото бюллетеней?
У платформы было три уровня проверки. Первый — полностью автоматический: на этом этапе нейросеть распознавала, что именно прислал и за кого проголосовал пользователь.
Причем система понимала, если один и тот же бюллетень фотографировали с разных ракурсов и отправляли с разных номеров, и отмечала его как подделку.
— У нас есть решения, которые устраняют накрутки. Сначала система анализирует, с какого устройства отправлен бюллетень. По каждому пользователю у нас есть данные об устройстве. Эти данные не позволяют понять, кто именно пользователь, но позволяют определить, что два пользователя заходили с одного устройства. Такие случаи помечаются как возможные дубликаты.
Если устройство одно и то же, дальше данные сравниваются с помощью нейросети. Она изучает бюллетень и анализирует его уникальные черты: как расположены подписи членов комиссии (несмотря на то, что подписи одинаковые, они все равно написаны по-разному на каждом бюллетене), где и как стоит галочка за кандидата, на каком фоне сфотографирован бюллетень (цветовой фильтр). Комбинация этих факторов позволяет идентифицировать бюллетень. Если видим, что нам пытаются отправить один и тот же бюллетень под видом нескольких — мы его отсекаем. Считаем, что надежнее способа проверять бюллетени просто нет. При этом массовых накруток мы не заметили. Какие-то единичные случаи были, но на уровне статистической погрешности, которая допустима при 1,26 млн зарегистрированных пользователей, — подчеркивает собеседник.
Если система не могла понять, что изображено на снимке — это случалось, если человек фотографировал помятый бюллетень или присылал свое селфи, или фото своего кота, или послание команде «Голоса» (это реальные случаи), то здесь подключались волонтеры, которые определяли: это бюллетень или нет, валидный ли он, и за кого стоит галочка.
И на третьем уровне группа доверенных модераторов перепроверяла данные еще раз. И только после этого команда считала, что бюллетень действителен.
— Каждая группа решала свои сложные задачи, — отмечает Павел. — Вначале старались придумать, как не отпугнуть большое количество пользователей, запрашивая у них слишком много личной информации. На первых порах мы хотели, чтобы пользователь делали селфи с бюллетенем, потом — чтобы с паспортом. Но в итоге мы решили, что лучше напрячься и сделать систему с компьютерным зрением по распознаванию бюллетеней, максимально упростить процесс для человека и сделать его даже на уровне ощущений — безопасным.
Другая сложная задача — это шифрование данных, чтобы даже случайно «слитая» база не раскрывала информацию о пользователях. И это прекрасно работает — сегодня разработчики не знают, кто и за кого голосовал, все зашифровано, база данных у одного человека, «ключ» у другого, и все за границей.
По компьютерному зрению тоже стояли свои сложные задачи — распознавание бюллетеней, максимальная автоматизация процесса. Так как нам прислали 565 тысяч бюллетеней, а это более миллиона фотографий, то распознать это просто силами волонтеров было просто невозможно.
А наша PR-группа решала, как отбивать нападки властей, отвечать на обвинения ЦИК, вести диалог с людьми и снимать их страхи — делать все, чтобы регистраций было все больше, и счетчик на главной странице «Голоса» крутился быстрее.
«Голос» выполнил свою задачу?
Павел подчеркивает, что команда не ставила перед собой цель заменить ЦИК, и не собиралась считать, сколько людей проголосовало за Лукашенко, а сколько — за Тихановскую. Более того, разработчики неоднократно подчеркивали, что не агитируют ни за одного из кандидатов, и стараются сохранять политический нейтралитет.
— Мы ставили совершенно конкретную задачу — проконтролировать, правильно ли ЦИК посчитал голоса на отдельных, конкретно взятых участках. И с этой целью платформа справилась, по моему мнению, просто блестяще. Потому что на той выборке, что у нас была (1310 участков) мы увидели, что на каждом третьем участке данные из протоколов не совпадают с официальными данными ЦИК. Это огромное количество. И благодаря этому стало понятно, что никакой законности выборов мы признать не можем.
— Но помимо чисел была еще более важная задача — психологическая: формирование гражданского общества. Мы встроились в диалог между избирателем и избирательной комиссией. Для первых мы стали инструментом защиты их выбора. А для вторых — непонятным IT-решением, которое, скорее всего, сможет перепроверить их работу. И членам комиссий пришлось делать выбор: считать честно или рассчитывать, как и раньше, на защиту властей и избирательной системы.
Платформа объединяла людей, и чем агрессивнее власти с ней боролись, тем больше людей ей симпатизировало. Люди ей верили, «сражались» с председателями и наблюдателями за право сфотографировать бюллетень и почувствовали причастность к отстаиванию своего голоса.
У нашей власти есть интересный парадокс — как только они начинают пытаться что-то активно дискредитировать, это приводит к абсолютно противоположному эффекту. Мы это увидели своими глазами. На сайте есть счетчик пользователей, и как только выходило очередное разоблачение в адрес «Голоса» или Лидия Ермошина называла нас «теневым Центризбиркомом», или Генпрокуратура искала технические возможности нас заблокировать, наш счетчик стремительно ускорялся.
Опять же — давайте просто задумаемся: если бы наши люди доверяли существующей избирательной системе, и они не хотели удостовериться в прозрачности выборов, то, наверное, 1,2 миллиона человек за две недели на платформу не пришли бы и не прислали почти 600 тысяч фотографий. Причем из этого миллиона 95% проголосовало за Тихановскую.
Но, конечно, не всем понравилась идея «Голоса». Так, люди слали в чаты платформы не только благодарности, но и сообщения вроде «вы расшатываете страну».
— Когда я опубликовал пост о себе, то получил много позитивных комментарий, но среди них были и негативные, — говорит Павел. — Есть люди, которые искренне уверены, что это все обман. Но мне кажется, то, что мы выдали, очень сложно оспорить. Потому что — вот же избирательные протоколы, они подписаны председателями избирательных комиссий, это официальный документ. И данные в них не сходятся даже с официальными результатами ЦИКа.
Но некоторые все равно уверены, что это все фальшивка, и что фото ненастоящие. Хотя люди в соцсетях подтверждают, что да, «это мой протокол, я сама его видела».
Посредством этого решения люди оказались вовлечены в процесс напрямую, им стало сначала интересно, а затем обидно, когда они увидели, что их лично обманули. На всех предыдущих выборах у нас не было такого хорошего ИТ-решения. Люди слышали, что озвучили финальное решение, но не могли это проверить. А тут можно пойти и в реальном времени все посмотреть, найти свой участок, посмотреть ситуацию по нему и полистать фото.
А что с платформой будет дальше?
Сейчас «Голос» выполнил свою основную цель. Впоследствии ее работа будет проходить в двух плоскостях.
— Первая — юридическая, — рассказывает Павел. — У нас есть фотофакты, что протоколы не сходятся с данными ЦИКа, это повод, чтобы обращаться в ЦИК и Верховный суд, показывать эти факты мировому сообществу. Так, 18 августа я представил отчет «Голоса» Литовскому сейму.
Вторая плоскость более интересная — это сами граждане, которые стали сплачиваться и превращаться в гражданское сообщество. Уже сейчас мы видим, что они готовы составлять коллективные жалобы с подписями и оспаривать официальные данные в судах. Мы очень надеемся, что это произойдет, и чтобы общество само начало оказывать давление на систему и системы.
«Голос» как платформа сбора и подсчета бюллетеней безусловно сыграла свою роль. И так как это достаточно интересная система с сохранением анонимности, но с идентификацией пользователей, она может стать хорошим инструментом для народных голосований, референдумов, опросов. Например, сейчас формируется Координационный совет, который не хочет принимать решения единолично. Им важно знать, поддерживают ли граждане их решения, и «Голос» может стать прекрасным каналом коммуникации между советом и гражданами страны.
Наши пользователи — белорусы: мы авторизовали их по белорусскому номеру телефона. Пусть даже в системе будут какие-то отклонения, но для больших репрезентативных выборок, опросов это — прекрасная платформа.
Мы сейчас думаем над этим, потому что видим, что у платформы есть потенциально интересное продолжение, и команда все еще хочет продолжать над этим работать. И до тех пор, пока мы официально будем заблокированы в Беларуси, наша мотивация неисчерпаема.