Skip to main content

Венчурный фонд Andreessen Horowitz, также известный как A16z, выпустил библиотеку Solidity, которую можно использовать для анонимного голосования на Ethereum. Библиотека под названием «Цикада» предотвращает раскрытие выбора отдельного избирателя до окончания голосования. В сочетании с системами членства в группах с нулевым разглашением, такими как Semaphore, это также может сделать личность избирателя навсегда неизвестной, согласно сообщению в блоге инженера A16z Майкла Чжу от 24 мая.

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

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

В 2019 году криптографы Джулио Малавольта и Аравинд Тиагараджан предложили концепцию «гомоморфных» головоломок с временным замком. Это позволило сложить головоломки вместе, чтобы получить окончательную головоломку, которую было намного проще решить, чем сумму отдельных головоломок. Решение последней головоломки показывает только сумму отдельных значений, не раскрывая отдельных значений, составляющих эту сумму.

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

При попытке перенести систему Малаволты и Тьягараджана на блокчейн исследователи A16z столкнулись с препятствием на пути к созданию честной системы голосования: каждый выбор нужно было кодировать как логическое значение «1» или «0». Это означало, что злоумышленники могли попытаться увеличить свою силу голосования, неправильно закодировав голос — например, закодировав «100» в качестве своего значения.

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

Связанный: Anchorage Digital открывает голосование DeFi для депозитарных клиентов

Cicada предотвращает раскрытие голосов только во время проведения опроса. Как только «опрос закрыт» или период блокировки по времени прошел, любой человек может определить содержание голосования путем грубой силы решения головоломки. Однако A16z предположил, что эту проблему можно решить, объединив Cicada с системами членства в группах с нулевым разглашением, такими как Semaphore, Semacaulk или доказательствами состояния с нулевым разглашением. В этом случае перебор головоломки покажет только то, что голос был подан правомочным избирателем, но не раскроет учетные данные, использованные для подтверждения права избирателя.

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

Системы голосования уже давно являются компонентом децентрализованных автономных организаций (DAO), руководящих органов, которые часто управляют приложениями блокчейна. Но в большинстве случаев DAO используют токены для представления голосов, а это означает, что отдельные пользователи могут иметь огромное влияние, если они владеют большим количеством токенов. Например, 22 мая злоумышленник получил контроль над Tornado Cash, отдав дополнительные голоса злонамеренному предложению, использовав его для выкачивания всех средств контракта на управление. Позже злоумышленник предложил вернуть контроль пользователям.

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

Источник: Сointеlеgrаph

Оставить комментарий