Эрик Чжан

Квадратичное управление: что работает, а что нет?

11 июля 2022 г.

Эрик Чжан

– Грубое исследование реальных ограничений квадратичного голосования и возможных решений.

Для TL;DR перейдите к Заключению.

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

Примитивной формой квадратичного управления является квадратичное голосование (QV) (https://en.wikipedia.org/wiki/Quadratic_voting). Идея QV заключается в том, чтобы позволить участникам системы управления выражать степень своих предпочтений, ограничивая при этом крайние предпочтения (особенно со стороны китов). Для достижения этой цели Глен Вейл и др. (https://www.aeaweb.org/articles?id=10.1257/pandp.20181002). предложил, чтобы голосовой балл (первоначально называвшийся «голосовой кредит») назначался избирателям, которые участвуют в управлении, а процесс голосования потреблял голосовые кредиты. Стоимость голосовых кредитов за голос увеличивается, если продолжать голосовать за одно предложение, поэтому это ограничивает уровень влияния, которое киты могут оказать на результаты голосования. С квадратичным голосованием экспериментировали в крипто- и некрипто-мирах. Недавно в раунде голосования сообщества ETHDenver (https://dorahacks.io/grant/ethdenver22) использовалось квадратичное голосование для согласованного распределения средств. В реальном мире Демократическая группа Колорадо)(https://en.wikipedia.org/wiki/Quadratic_voting#Applications) использовала квадратичное голосование для определения законодательных приоритетов.

Квадратное финансирование (QF)(https://vitalik.ca/general/2019/12/07/quadratic.html) объединяет голосование с пожертвованием и создает алгоритм для расчета соответствующего распределения средств за счет индивидуальных пожертвований. Квадратичное финансирование было принято DoraHacks, Gitcoin и некоторыми другими протоколами финансирования криптовалюты. На DoraHacks.io (https://dorahacks.io/grant) было проведено более 30 раундов грантов квадратичного финансирования. Квадратичное финансирование позволяет членам сообщества из любой экосистемы участвовать в предложениях на ранней стадии и BUIDLers. Однако он страдает одновременно от нескольких проблем, в том числе от растущего неравенства в распределении, подделки личных данных, атак Сивиллы и сговора.

В конечном счете, все дело в масштабе систем управления. Думайте о системах управления как о распределительных машинах. Если система раздает только 100 долларов, вероятно, фейковых аккаунтов не будет много. Когда он раздаст 100 000 долларов, вероятно, будут боты и атаки Сивиллы. Когда он распределит 10 000 000 долларов, весьма вероятно, что возникнет изощренный сговор, атаки Сивиллы и другие проблемы.

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

Проблемы квадратичных систем управления

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

Один раунд QV/QF в три этапа

Хотя это выглядит прямолинейно и просто, если вы действительно построите такую ​​систему и будете использовать ее в реальном управлении, вы будете сталкиваться с проблемами практически на каждом этапе. Теперь давайте посмотрим на систему и обрисуем некоторые препятствия, уже обнаруженные нами и другими.

  1. Зарегистрируйтесь: вносит ли система в белые списки избирателей? Если да, то как избиратели попадают в белый список? Если нет, то как предотвратить злоупотребления со стороны злоумышленников?

  2. Голосование: избиратели голосуют за определенный набор целей (BUIDL, проекты, предложения, общественные блага или что-либо еще, что необходимо выбрать/профинансировать).

  3. Согласование/распределение: если существует пул финансирования для распределения, он будет сопоставлен с целевыми показателями на основе результатов голосования. Могут потребоваться анализ и корректировки после голосования.

Помимо вышеперечисленных вопросов, есть еще много проблем, над которыми стоит подумать. Когда система масштабируется, будут ли участники сотрудничать друг с другом в сговоре? И как предотвратить сговор?

Также могут возникнуть некоторые более тонкие проблемы, специфичные для конкретного случая использования, и это лишь некоторые из них:

  1. Как постоянно проверять легитимность цели для получения финансирования в раунде QF?

  2. Как проверить личность избирателя, сохранив при этом конфиденциальность избирателя?

  3. Как узнать голоса Сивиллы и справиться с этими голосами, если атаки Сивиллы уже происходят?

  4. Как бороться с неравенством, если между целевыми показателями существует огромный разрыв в финансировании?

  5. В чем сложности решения этих проблем?

В этой статье мы концентрируемся на трех категориях проблем, которые наиболее актуальны для масштабирования квадратичного управления: проверка личности / атака Сивиллы, сговор и неравенство распределения.

Сопротивление Сивиллы и идентичность избирателя

Сопротивление Сивиллы до сих пор было одной из наиболее обсуждаемых тем в квадратичном голосовании и квадратичном финансировании. По сравнению с системами 1p1v или 1stake1vote, разделение счетов может генерировать больше голосов при квадратичном голосовании и большую область поддержки при квадратичном финансировании, следовательно, больше соответствующих фондов.

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

Однако дело обстоит иначе, когда большая группа людей использует квадратичное голосование или в случае квадратичного финансирования, когда вкладчики сообщества могут прийти откуда угодно. Примечательно, что методы аутентификации Web2, такие как GitHub/регистрация электронной почты, НЕ являются способом предотвращения атак Сивиллы вообще, поскольку их можно легко создать и даже подделать историю учетной записи. При большом количестве избирателей квадратичные системы управления особенно уязвимы для атак Сивиллы, поскольку подделка личных данных и учетных записей для голосования действительно имеет большое значение!

Для борьбы с атаками Сивиллы были разработаны системы анализа Сивиллы после раунда (https://medium.com/block-science/operationalizing-the-gitcoindao-anti-sybil-process-7f2595544f44). Эти системы в основном анализируют данные голосования, выявляют потенциальные учетные записи и поведение Сивиллы, а затем удаляют их. Хотя анализ после раунда полезен, существует несколько проблем с анализом после раунда.

  1. Анализ может проводиться только после окончания голосования и требует времени. Сообществу придется подождать льготного периода, и недовольство может возрасти.

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

  3. Злоумышленники всегда могут найти способы обмануть систему, в то время как систему анализа Сивиллы невозможно улучшить и быстро изменить, но злоумышленник может.

  4. Изменение/корректировка результатов может привести к спорам и недоверию.

    Поэтому важно бороться с атаками Сивиллы до и во время голосования. Вопрос в том, как мы можем подтвердить личность избирателя? (https://0xparc.org/blog/zk-id-1)

    Теперь рассмотрим несколько существующих и будущих подходов: KYC, внесение в белый список, проверка аккаунтов в социальных сетях, токены NFT/Soul-bound (SBT) и zk-identity.(https://0xparc.org/blog/zk-id-2).

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

    • Сопротивление Сивилле является здесь главной целью, по крайней мере, для управления блокчейном.

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

    • Конфиденциальность имеет основополагающее значение для облегчения людям выражения своего реального мнения.

    • Сложность заключается в том, насколько сложно (с точки зрения инженерных и эксплуатационных затрат) построить и использовать эти методы на практике.

    Мы рассматриваем эти компромиссы с разных сторон: открытость против сопротивления Сивилле, конфиденциальность против сложности.

    Сопротивление Сивиллы против компромиссов без разрешений

Компромисс между конфиденциальностью и сложностью системы (обратите внимание, что zk-identities имеет много предпочтительных свойств, но требует создания гораздо более сложной инфраструктуры)

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

Мы также можем рассмотреть различные сообщества в зависимости от количества избирателей и открытости.

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

Для больших и закрытых сообществ NFT/SBT (с частной аттестацией, если конфиденциальность имеет большое значение) и стейкинг, вероятно, являются хорошим выбором или в сочетании с другими.

Для больших и открытых сообществ такие подходы, как zk-identity, являются долгосрочным решением. Например, на президентских выборах в США 2020 года с обеих сторон возникло множество споров по поводу бюллетеней для голосования по почте и машин для голосования. Для такого закрытого (только граждане могут голосовать), но большого сообщества (около 300 миллионов американцев, которые могут голосовать), вероятно, стоит развивать инфраструктуру идентификации zk в долгосрочной перспективе.

Обратите внимание, что несколько систем могут быть объединены. Добавление ставок в систему белых списков может повысить подотчетность; объединение SBT с аттестацией zk может повысить конфиденциальность и т. д. Однако добавление новых методов или объединение различных методов приведет к увеличению стоимости продукта, проектирования, эксплуатации и управления. Поэтому сообществу необходимо оценить компромиссы, прежде чем принимать решения.

Сопротивление сговору

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

В конечном счете, системы управления являются распределительными машинами: люди выражают свое мнение посредством голосования, а система распределяет ограниченное количество ресурсов между различными группами. Существуют разные уровни сговора в зависимости от масштаба системы управления. Вероятно, существует гораздо меньше стимулов для сговора в системе, которая распределяет 1000 долларов, чем в другой, которая распределяет 1 000 000 долларов.

Существуют издержки, связанные с различными формами сговора, включая финансовые затраты, потери репутации и так далее. В грантах DoraHacks руководство сообщества BUIDL (https://dorahacks.io/blog/buidl-community-guidelines/) явно запрещает подкуп голосов. Членам сообщества, нарушившим это правило, может быть запрещено получать соответствующие средства из гранта. Однако если стимулы к сговору достаточно велики, всегда есть способы дать взятку.

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

В мире блокчейна часто невозможно обеспечить соблюдение правил сообщества, чтобы предотвратить сговор (потому что в цепочке практически нет «правоохранительных органов»!). Поэтому криптографические решения по борьбе с сговором более выгодны. Минимальная инфраструктура борьбы с сговором (MACI) (https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413) — это система, которая достигает этой цели, усложняя криптографически избирателям доказательство фактических результатов голосования. Базовый раунд голосования MACI состоит из четырех этапов.

  • Во-первых, избирателям необходимо зарегистрироваться для участия в голосовании.

  • Затем начинается голосование. Все голоса будут зашифрованы с использованием закрытого ключа оператора и переданы в смарт-контракт. Избиратели могут голосовать несколько раз.

  • Когда период голосования заканчивается, оператор собирает все сообщения и подсчитывает голоса в обратном порядке, а затем публикует окончательные результаты, не раскрывая чьи-либо голоса.

  • Наконец, оператор публикует результаты с доказательством с нулевым разглашением (ZKP), доказывающим, что результаты верны.

Четыре шага системы голосования с использованием MACI

В настоящее время MACI в основном используется для голосования на блокчейне и управления сообществом для распределения финансирования. DoraHacks Light-weight MACI (https://github.com/dorahacksglobal/qf-maci) (на основе MACI 1.0) (https://medium.com/privacy-scaling-explorations/release-announcement-maci-1-0) -c032bddd2157) использовался в нескольких раундах квадратичного голосования на DoraHacks.io, включая раунды голосования сообщества ETHDenver 22 (https://dorahacks.io/grant/ethdenver22) и голосование судей Opensea Hackathon (https://dorahacks.io). /грант/опенси). Кроме того, Clr.fund — это платформа Ethereum для финансирования общественных благ, которая использует MACI и квадратичное финансирование.

MACI повышает устойчивость к сговору за счет увеличения стоимости сговора. Без такой системы избиратели и взяткодатели будут обмениваться информацией, и стоимость взятки будет низкой. Благодаря MACI стоимость взяток значительно возрастет. В системе с эффективной информацией функции предотвращения сговора повысят стоимость взятки до такой степени, что взяткодатель не сможет себе этого позволить. Если взяткодатель не может создать информационную асимметрию и снизить ожидания избирателей, он не сможет получить прибыль от взятки.

Разговор на публичном форуме о том, насколько MACI увеличивает стоимость сговора

Однако MACI не является «разовым» решением всех проблем, связанных со сговором. Единственным безусловным свойством является корректность результата, которая гарантируется доказательствами с нулевым разглашением. Помимо этого, у MACI есть свои собственные предположения о безопасности и конфиденциальности, в основном связанные с оператором:

  1. Оператор не вступает в сговор с избирателями путем прямой или косвенной утечки информации определенным группам избирателей.

  2. Между избирателями не существует «сумасшедшего» механизма, позволяющего сломить сопротивление сговору MACI (например, за избирателями физически следят 24 часа в сутки, 7 дней в неделю или заставляют голосовать на компьютерах, которые не контролируются ими самими).

Для предположения 1 исходный MACI требует, чтобы оператор был хорошим, а это означает, что оператор сохраняет конфиденциальность информации об избирателях, а также деталей голосования, и оператор не вступает в преднамеренный сговор с избирателями путем утечки информации. Для предположения 2 – стимулы недостаточно велики, чтобы избиратели изобретали дорогостоящие способы преодоления сопротивления сговору MACI.

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

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

Идея состоит в том, чтобы добавить в систему деактивацию ключей и использовать ZKP на стороне клиента, чтобы оператор не знал, кому какой ключ принадлежит, тем самым не позволяя оператору знать, кто за что голосовал. Есть несколько способов достижения этой цели. Компромисс таков: чем больше конфиденциальности, тем выше инженерная сложность.

Конфиденциальность и сложность, различные предложения по анонимизации MACI

Ссылка на различные варианты анонимизации MACI:

  • Легкий MACI (https://github.com/dorahacksglobal/qf-maci)

  • Оригинальный MACI (https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413)

  • Легкий анонимный MACI (https://doraresear.ch/2022/04/30/light-weight-maci-anonymization/)

  • Анонимизация MACI (с MPC) (https://ethresear.ch/t/adding-anonymization-to-maci/6329)

  • Анонимизация MACI (с повторным шифрованием) (https://ethresear.ch/t/maci-anonymization-using-rerandomizable-encryption/7054)

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

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

И противники, и решения развиваются по мере масштабирования системы управления.

Неравенство и налоги

Большая часть управления заключается в распределении ресурсов. В большинстве случаев неравенство — это скорее особенность, а не ошибка, поскольку оно существует всегда, пока распределяются ограниченные ресурсы. Разница лишь в том, большая она или маленькая, но устранить ее на 100% мы никогда не сможем (утопии все равно не существует!). Если система управления страдает от больших разрывов в богатстве/распределении, люди со временем потеряют уверенность и доверие к системе, что в конечном итоге приведет к краху системы. Примечательно, что это верно как в реальном мире (социальные восстания, революции и гражданские войны), так и в управлении протоколом блокчейна.(https://cryptoslate.com/defi-crowd-mocks-harvard-law-student-group- за голосование-20 миллионов из казначейства Uniswap)

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

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

Также существует допущение при использовании налога. Мы должны исходить из того, что все проекты/предложения являются законными и прошли предварительную квалификацию. Это делается для того, чтобы все кандидаты, получающие субсидии, были законными в глазах общества. Если в системе нет проверки приложений, система не будет работать.

Первая схема прогрессивного налога на квадратичное финансирование была описана здесь (https://doraresear.ch/2021/06/16/reduce-quadratic-funding-inequality-with-a-progressive-tax-system/). Он облагает налогом лучшие проекты каждый раз, когда вызывается метод voice(), и распределяет налог по всем проектам на основе фиксированного алгоритма. Эта версия прогрессивного налога была опробована в нескольких грантах на DoraHacks в 2021 году. Проблема этой системы в том, что распределение налога по-прежнему соответствует пропорциям финансирования всех проектов. Таким образом, если дефицит финансирования является нормальным, последние профинансированные проекты могут получить выгоду от системы. Если дефицит финансирования огромен, менее финансируемые проекты могут получить мало налогового финансирования. В действительности квадратичное финансирование часто приводит к большому разрыву в уровне благосостояния, и после нескольких экспериментов от этого алгоритма отказались.

Недавно был предложен новый квадратичный алгоритм налогообложения финансирования (https://github.com/dorahacksglobal/qf-grant-contract/blob/bsc-long-term/grant-distribution-algorithm.zh.md), основанный на сокращении разрыва. между наиболее подходящим проектом и наименее подходящим проектом при сохранении структуры квадратичных результатов голосования. Чтобы упростить задачу, алгоритм определяет степень неравенства как разницу между партией, получающей наибольшую сумму финансирования, и партией, получающей наименьшую сумму финансирования. В этом алгоритме максимальное соотношение наиболее и наименее финансируемых фондов устанавливается в качестве параметра, и алгоритм динамически корректирует результаты финансирования в процессе голосования всякий раз, когда разрыв превышает максимальное соотношение. Новая налоговая система, вероятно, будет опробована в рамках предстоящих грантов.

Заключение (TL;DR)

  • Управление – это распределение ограниченных ресурсов и ценностей.

  • Управление само по себе не создает стоимости. Однако эффективное и справедливое управление может усилить стимулы, которые повысят производительность.

  • Реальное управление имеет схожие проблемы с управлением блокчейном.

  • Квадратичное управление унаследовало большинство проблем от других систем управления, добавляя некоторые собственные проблемы из-за своей «квадратичной» природы.

  • Квадратичное управление сталкивается с тремя основными проблемами: проверка личности и атаки Сивиллы, сговор и неравенство.

  • Решения для защиты от сивиллы и проверки личности имеют свои компромиссы, в основном с точки зрения отсутствия разрешений, устойчивости к сивилле, конфиденциальности и сложности системы.

  • При определенных предположениях сговор можно частично разрешить с помощью протоколов с поддержкой криптографии, таких как MACI. Больше конфиденциальности означает больше сложности.

  • Неравенство может быть вредным и разрушительным. Аналогично решениям в реальном мире. Налог потенциально может помочь улучшить качество распределения.

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