Очерк блокчейн-демократии
Демократизация технического контроля через блокчейн
Требования к распределённой системе облачной демократии
Организационно-технологическим средством против тирании централизованного контроля представляется организация системы облачной демократии в виде сети распределённых в пространстве вычислительных узлов, принадлежащих как можно менее связанным друг с другом общественным сторонам, которым голосующие могли бы предоставлять и у которых могли бы отзывать знаки доверия.
Данная сеть должна обладать следующими свойствами:
- Сеть должна периодически приходить к консенсусу о текущем своём состоянии: перечне участников, составе сети, выносимым на голосование вопросам, результатам голосований и т.д.
- Консенсус должен достигаться при получении подтверждения от узлов, которым принадлежит более двух третей знаков доверия голосующих.
Второе свойство называется "византийским консенсусом". Оно следует из фундаментальной математической теоремы, согласно которой предательство или неадекватность одной трети командующих пространственно разведёнными друг от друга легионами ведёт к принятию неправильных решений в целом по армии.
Блокчейн-сети
Подобные одноранговые вычислительные сети известны и имеют в русском обиходе название блокчейн-сетей или распределённых реестров. Блокчейн-сети бывают публичными (permissionless), допускающими к участию любые стороны, или приватными (корпоративными, permissioned), допускающими к участию определённый круг лиц и предполагающими процедуру централизованного управления.
Несмотря на то, что история блокчейн-сетей до середины 2010-х годов была непрерывно связана с развитием криптовалют, распределённый реестр в ряде вариантов не требует наличия какого-либо внутреннего средства расчёта.
В данном случае предлагается создать публичную блокчейн-сеть, единственным органичением которой была бы необходимость многоступенчатого признания участником голосования каждого претендента на участие.
Автор предлагает называть облачную демократию, построенную на основе блокчейн-сети, блокчейн-демократией.
Голосование в блокчейн-сети
Проблема тайного голосования имеет несколько уровней сложности. На минимальном уровне от системы голосования требуется, чтобы пользователь, имеющий неограниченную волю в своём выборе, мог донести результат своего выбора до механизма подсчёта голосов и не быть при этом идентифицированным. Данная задача решается с помощью упомянутых выше криптографических механизмов слепого голосования.
Следующий уровень - возможность изменить или отозвать свой голос, находясь под частичным контролем негласной тирании. Подобный контроль означает принуждение голосующего к единократному голосованию за нужного кандидата через обычные интерфейсные приложения, но не включает в себя дополнительные криптографические действия, например, передачу контролёру ключей шифрования. Подобная схема голосования представлена, например, отечественным проектом Waves Enterprise.
Самый высокий уровень тайного голосования, позволяющий голосующему негласно от всех переголосовать, предполагает использование криптографических протоколов из группы доказательств с нулевым разглашением (zero-knowledge proof). Подобный криптографический протокол, zk-SNARKs, используется в криптовалюте Zcash. Протоколы с нулевым разглашением являются относительно новой технологией и слабо изучены, так что их использование в блокчейн-демократии потребует дополнительных вложений и общественного обсуждения.
Так или иначе, само наличие протоколов с нулевым разглашением в качестве опции в программном обеспечении блокчейн-демократии может предотвратить сползание русского общества к жёсткой тоталитарной тирании, карающей даже за повторное голосование.
Взаимная проверка принадлежности сертификатов ЭЦП
Как проверить, что избиратель Иван Иванович Иванов, зарегистрировавший сертификат электронной цифровой подписи (ЭЦП) в системе голосования, действительно тот, за кого себя выдаёт, и, более того, вообще существует на белом свете, а не представляет собой "мёртвую душу"?
Автор предлагает систему взаимной аутентификации участников, когда выбранные псевдослучайным образом пары участников проверяют друг друга при личных встречах или иным столь же надёжным образом. Проверка состоит в сравнении биометрического отпечатка (например, цифрового описания отпечатка пальца или внешности) с задекларированным в блокчейн-сети.
Подтверждённый в определённой доле раз участник становится подтверждённым.
Взаимная аутентификация подтверждённого лица должна происходить периодически:
- Во-первых, для подтверждения аутентификации претендентов на участие;
- Во-вторых, для подтверждения собственной персоны, так как люди имеют свойство менять фамилии и адреса жительства, а также умирать.
Восхождение и развенчание лидеров мнений
Отсутствие формальной структуризации решений
В идеале, любой участник должен иметь возможность вынести любой вопрос на голосование. Таким образом, вводить какую-то жёсткую формальную иерархию вопросов не предполагается.
Ответим на два вопроса:
- Как ограничить область внимания участника действительно важными вопросами?
- Как участнику делегировать принятие решения по вопросу, на решение которого у него нет сил, времени или компетенции, кругу доверенных лиц?
Для ответа на оба вопроса опишем механизм рекомендаций.
Рекомендации
Участники должны иметь возможность сохранять в блокчейне рекомендации по вопросам, в которых они считают себя компетентными, включая рекомендацию "не голосовать". Каждый участник должен иметь возможность самостоятельно и негласно определять перечень подписки на рекомендации участников.
Этот перечень будет служить двум целям. Во-первых, рекомендации отдельных доверенных участников будут формировать результат автоматического голосования. Во-вторых, они будут ограничивать множество вопросов, предлагаемых к вниманию участника.
Автоматическое голосование
Именно рекомендации будут автоматически формировать большую часть решений участников, на которые у них не будет времени, сил или компетенции.
В простейшем случае бинарного (да-нет) голосования или выставления числовой оценки (например, по пятибальной шкале), срединный элемент упорядоченного множества рекомендаций этого круга и будет давать голосующему результат его автоматического голосования.
Более сложные механизмы автоматического выбора решений могут быть заимствованы из различных схем голосований (Кондорсе, Шульце и т.п.), основанных на предпочтениях и рейтингах.
В любом случае, конкретный механизм автоматического голосования предполагается не встраивать в узлы блокчейн-сети, а вынести в клиентское приложение. Это позволит участникам самостоятельно определять этот механизм и не разглашать свой круг доверенных участников.
Как следствие, популярные участники останутся в тайне и не станут мишенью для давления. Их активность, оторванная от цифр популярности, может быть мотивирована не только любовью к ближнему, но и платной подпиской.
Зона внимания голосующего
Внимание участника - наиболее ценный ресурс, который он будет отдавать обществу в части поддержки блокчейн-демократии. Перечень вопросов, предлагаемых вниманию участника, может строиться и ранжироваться на основании рекомендаций, выданных его единомышленниками и оппонентами, а также на количестве проголосовавших, то есть близости голосования к кворуму.
Как и в случае автоматического голосования, алгоритм выдачи перечня вопросов предполагается вынести в клиентское приложение.
Автор надеется достичь, таким образом, формирования общественной сетевой структуры, выносящей компетентные решения, но не завязанной на узкий круг лидеров общественного мнения, подверженных внешнему давлению.
Дорожная карта блокчейн-демократии
- По проникновению блокчейн-голосования:
- При принятии решений внутри политического движения.
- В масштабах муниципального образования.
- В масштабах губернии.
- В федеральном масштабе.
- По функционалу:
- Голосование среди всех членов по вопросам, выносимым ограниченным кругом функционеров. Принятие в члены, добавление узлов блокчейна по решению этого круга.
- Отзыв голосов, изменение голоса.
- Перманентное голосование членов по доверию к узлам блокчейна, в том числе новым, то есть выдачи знаков доверия. При определении византийского консенсуса узлов следует учитывать количество доверяющих.
- Принятие новых членов по формальной процедуре.
- Рекомендации по голосованию. Делегирование прав кругу других участников.
- Замена текста вопросов на их дайджест в блокчейне, вынос текста вопросов в отдельные хранилища.
- Вынесение вопросов на голосование любым узлом блокчейна. Ограничение скорости внесения изменений в блокчейн пропорционально доверию к узлу.
- Реализация протокола доказательств с нулевым разглашением (например, zk-STARK) для предотвращения возможности давления на голосующих.
Приложения
Приложение 1. Ограниченность ресурсов блокчейн-узлов
Узлы блокчейн-сети не должны требовать для хранения блоков информации больших дисковых массивов. Скорость добавления вопросов для голосования должна быть ограничена скоростью роста ёмкости приводов жёстких дисков на мировом рынке, делённой на объём данных по каждому голосованию.
Ограничение требуемого дискового пространства узла создаст предпосылки для большого их количества и, следовательно, высокой устойчивости к захвату сети отдельной социальной группой.
Приложение 2. Защита от юридического преследования
Блокчейн не должен включать в себя тексты вопросов, вносимых произвольными участниками голосований, в противном случае внесение в блокчейн текстов, запрещённых к распространению на территории РФ судом, спровоцирует запрещение всей блокчейн-сети.
С какого-то момента развития технологии лучше хранить криптографические дайджесты этих текстов, а сами тексты хранить отдельно.
Приложение 3. Проблема тирании большинства
Необходимо осознавать, что демократия не является панацеей от насилия, убивающего инвестиции в экономику. Это касается не только признанных меньшинств, но и социальных групп, хоть как-то отличающихся от основной массы населения. Введение неограниченной демократии может привести к легализации новой волны отъёма собственности, иных гражданских прав и жизней у отдельных граждан, как это уже случалось с русскими два раза за столетие.
Приложение 4. Защита от взлома
Для защиты программного обеспечения блокчейн-демократии автор рекомендует руководствоваться историческим опытом блокчейн-сетей криптовалют. Можно предложить два направления усилий:
- Привлечение как можно большего количества аудиторов исходного кода. Код может стать предметом изучения в профильных учебных заведениях, а также частью общественных программ награждения за найденные ошибки (bug bounty).
- Разработка одной и той же функциональности на разных языках программирования.
Приложение 5. Благодарности
Автор благодарит:
- Коллектив czar.tv за обсуждение проблем национализма, сподвигнувшее его на поиск решения;
- Романа Юнемана за ссылки на "Облачную демократию" и "Кризис демократии в эпоху цифровой революции";
- Разработчиков исследовательских проектов BFT-SMaRt и SMaRtChain, позволивших автору взглянуть под капот алгоритма византийского консенсуса;
- Артёма Калихова из Waves Enterprise за обсуждение проблемы переголосования и наводку на zk-SNARK;
- hhemul за критику раздела "Делегирование прав" и обсуждение возможностей захвата сети отдельной социальной группой.