Разбираемся в надежных настройках и почему они так важны для Manta Network

Разбираемся в надежных настройках и почему они так важны для Manta Network

MantaPay, сервис, который предлагает частные платежи между двумя сторонами, обеспечивает конфиденциальность с помощью доказательств с нулевым разглашением (ZKP), чтобы гарантировать действительность транзакции без публикации какой-либо частной информации в блокчейне. ZKP являются основой функции сохранения конфиденциальности Manta Network, чтобы обеспечить конфиденциальность для всех криптоактивов и реализовать концепцию Сети как уровня конфиденциальности для Web3.

Тот тип , который использует ZKP Manta , требует некоторой инфраструктуры, поэтому нам нужна надежная установка. В этом посте мы углубимся в то, что такое доверенная установка и как она обеспечит безопасность Manta Network.

Что же такое доверенная установка?

Надежная установка — это часть инфраструктуры, которая нам нужна для создания ZKP. Идея ZKP заключается в том, что кто-то (доказывающий) может доказать правильность утверждения кому-то другому (верификатору), не раскрывая никакой информации. Чтобы сгенерировать ZKP, и доказывающая, и верифицирующая сторона должны зафиксировать некоторый общий секрет и использовать этот общий секрет для создания общедоступных параметров. Надежная настройка — это то, как мы генерируем ключи проверки и проверки, необходимые для создания транзакции в сети Manta/Calamari. Эти ключи должны быть вычислены перед запуском продукта конфиденциальности, отсюда и термин «настройка». Более того, вычисление этих ключей производит некоторые токсичные отходы, которые необходимо выбросить, отсюда и термин «доверенный» (означающий, что вы доверяете тому, что токсичные отходы были выброшены).

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

Когда доверенная установка безопасна?

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

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

Итак, кому мы можем доверить вычисление ключей?

Любой, кто знает секретный номер, может создавать жетоны из воздуха, так что искушение сохранить токсичные отходы слишком велико для любого человека (за исключением, возможно, Фродо Бэггинса, но, к сожалению, он не настоящий…).

К счастью, есть способ разделить это бремя с помощью процедуры, называемой «безопасное многостороннее вычисление». Мы дадим более подробную информацию ниже, но идея состоит в том, что вместо того, чтобы один человек знал о токсичных отходах, мы разбиваем токсичные отходы на сотни или даже тысячи кусочков, находящихся в руках разных людей. Затем происходит нечто волшебное: пока один -единственный человек выбрасывает свой кусок токсичного мусора, невозможно вычислить секретный номер — это означает, что никто не может создавать фальшивые доказательства, поэтому монеты никогда не будут сделаны из воздуха. (Представьте, насколько проще была бы жизнь Гарри Поттера, если бы ему нужно было уничтожить только один крестраж, чтобы навсегда избавиться от Волан-де-Морта…)

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

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

Что именно происходит в доверенной настройке?

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

Manta проверит, правильно ли участник выполнил свои вычисления, а затем передаст результат следующему участнику. Это будет происходить снова и снова, образуя цепочку из сотен участников, каждый из которых вносил свой вклад в ключи для проверки/верификации, а затем выбрасывал свои токсичные отходы. В конце церемонии будут получены окончательные ключи для проверки/верификации. Пока хотя бы один участник уничтожит свои токсичные отходы, эти ключи будут в безопасности для использования в ZKP.

Сколько времени занимает настройка?

Математика сложная, но вычисления выполняются быстро. Каждому участнику нужно будет загрузить чуть менее 20 Мб данных, произвести расчеты, занимающие где-то от 1 до 5 минут (в зависимости от вашей машины), а затем загрузить 20 Мб данных на наш сервер. Будет около 1 минуты простоя, пока мы проверяем правильность расчетов для каждого участника, затем он переходит к следующему участнику. На одного участника уходит не более 10 минут.

Что происходит после?

Церемония будет генерировать ключи проверки / проверки, которые поддерживают протокол MantaPay. Эти ключи будут опубликованы. Мы развернем протокол MantaPay на Calamari/Manta и, возможно, на других платформах, используя ключи подтверждения/проверки, сгенерированные на церемонии.

Примеры других использований:

Trusted SetUps использовались различными протоколами конфиденциальности, такими как Zcash , Aztec и Aleo , чтобы сделать сети полностью ненадежными. Существуют разные типы доверенных настроек, вы можете узнать больше об этом в этом посте Виталика или в подкасте Zk.

Начать дискуссию