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

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

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

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

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

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

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

Абсолютная надежность — это не то, что сегодня обеспечивают аналоговые системы голосования. На самом деле все наоборот: аналоговое голосование требует большого доверия к чиновникам и учреждениям. С этим серьезно борются многие страны мира, в том числе и очень развитые страны вроде США. Нам не нужно придумывать что-то абсолютно надежное. Просто с чем-то более надежным, чем то, что мы имеем сегодня. И эта планка не является недостижимой.

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

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

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

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

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

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

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

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

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