Надежные настройки и почему они важны для Manta Network
Cервис, MantaPay, предлагает приватные платежи между двумя сторонами, обеспечивает конфиденциальность, с помощью доказательств с нулевым разглашением (ZKP), чтобы гарантировать действительность транзакции, без публикации какой-либо частной информации в блокчейне. ZKP являются основой функции сохранения конфиденциальности в Manta Network, чтобы обеспечить конфиденциальность для всех криптоактивов и реализовать концепцию Сети, как уровня конфиденциальности для Web3.
Использование ZKP Manta, требует некой инфраструктуры, поэтому нам нужна надежная настройка. В этом материале мы углубимся в то, что такое доверенная установка и как она обеспечит безопасность Manta Network.
Что такое надежная установка?
Надежная установка — это часть инфраструктуры, которая нам нужна для создания ZKP. Идея ZKP заключается в том, что кто-то доказывающий, может доказать правильность утверждения кому-то другому — верификатору, не раскрывая никакой информации. Чтобы сгенерировать ZKP, и доказывающая, и верифицирующая сторона должны зафиксировать некоторый общий секрет и использовать этот общий секрет, для создания общедоступных параметров. Надежная настройка — это то, как мы генерируем ключи проверки, необходимые для создания транзакции в сети Manta/Calamari. Эти ключи должны быть вычислены перед запуском продукта конфиденциальности, отсюда и термин «настройка». Более того, вычисление этих ключей производит некоторые токсичные отходы, которые необходимо выбросить, отсюда и термин «доверенный» (означающий, что вы доверяете в том, что токсичные отходы были выброшены).
Эти ключи играют центральную роль во всем, что мы делаем в Manta, поэтому важно, чтобы они были правильно сконструированы. Существуют сложные математические правила того, как они должны быть сформированы: основная идея заключается в том, что мы начинаем с секретного числа, выполняем довольно интенсивные вычисления, а затем у нас есть ключи для проверки/верификации.
Когда доверенная установка будет безопасной?
Важно знать, что практически невозможно определить секретное число, с которого мы начали, если всем даны ключи доказывающего/верифицирующего. Однако, если кто-то, когда-нибудь узнает этот секретный номер, он сможет использовать его для создания фальшивых доказательств. Мошенники могли бы использовать эти поддельные доказательства, чтобы обмануть сеть и создавать токены из воздуха!
Поэтому так важно, чтобы мы выбросили этот секретный номер, после формирования ключей доказывающего/верифицирующего. Этот секретный номер настолько опасен, что мы называем его токсичными отходами. Отсюда и «доверие», к «доверенной настройке» — человек должен верить, что токсичные отходы выброшены (имеется в виду, что секретный номер был стерт из памяти, после генерации ключей).
Кому можно доверить вычисление ключей?
Любой, кто знает секретный номер, может создавать токены из воздуха, так что искушение сохранить токсичные отходы слишком велико для любого человека (за исключением, Робина Гуда, но, к сожалению, он не настоящий).
К счастью, есть способ разделить это бремя, с помощью процедуры, называемой «безопасное многостороннее вычисление». Сама идея состоит в том, что вместо того, чтобы один человек знал о токсичных отходах, мы разбиваем токсичные отходы на сотни или даже тысячи кусочков, находящихся в руках разных людей. Затем происходит нечто волшебное: пока один-единственный человек выбрасывает свой кусок токсичного мусора, невозможно вычислить секретный номер —поэтому никто не может создавать фальшивые доказательства, значит монеты никогда не будут сделаны из воздуха. (Представьте, насколько проще была бы жизнь Гарри Поттера, если бы ему нужно было уничтожить только один крестраж, чтобы навсегда избавиться от Волан-де-Морта)
Таким образом, доверять нашей установке — означает верить, что из сотен или тысяч людей, которые участвовали, по крайней мере один человек, уничтожил свой кусок токсичных отходов. Другими словами, любой сговор, с целью обнаружения секретного номера, потребует, чтобы буквально каждый участник был вовлечен в заговор, или скомпрометирован им.
По мере того, как все больше и больше людей участвуют в нашем протоколе, это становится все менее и менее вероятным.
Самое приятное то, что вы сами можете обеспечить безопасность ключей проверяющего/верификатора, приняв участие в уничтожении своих токсичных отходов. Пока вы участвуете честно, вы можете быть уверены, что весь протокол в целом — заслуживает доверия!
Процесс доверенной установки
Задействовано много участников (включая вас, если хотите). Каждый будет выполнять сложные вычисления на своем компьютере (не волнуйтесь, есть скрипт, который сделает всю математику за вас), и эти вычисления произведут некоторые токсичные отходы. Участник уничтожает токсичные отходы (опять же, скрипт сделает это автоматически), а затем сообщает результат своих вычислений.
Manta проверит, правильно ли участник выполнил свои вычисления, а затем передаст результат следующему участнику. Это будет происходить снова и снова, образуя цепочку из сотен участников, каждый из которых вносит свой вклад в ключи, для проверки/верификации, а затем выбрасывает свои токсичные отходы. В конце церемонии будут получены окончательные ключи для проверки/верификации. Если хотя бы один участник уничтожает свои токсичные отходы, эти ключи будут в безопасности, для использования в ZKP.
Сколько времени занимает процесс?
Математика сложная, но вычисления выполняются быстро. Каждому участнику нужно будет загрузить чуть менее 20 Мб данных, произвести расчеты, занимающие где-то от 1 до 5 минут (в зависимости от вашей машины), а затем загрузить 20 Мб данных на наш сервер. Будет около 1 минуты простоя, пока мы проверяем правильность расчетов для каждого участника, затем он переходит к следующему участнику. На одного участника уходит не более 10 минут.
Что происходит после?
Церемония будет генерировать ключи проверки / верификации, которые поддерживают протокол MantaPay. Ключи опубликуют. Далее разворачивается протокол MantaPay, на Calamari/Manta и, возможно, на других платформах, используя ключи подтверждения/проверки, сгенерированные в описанном выше, процессе.
Другие применения: Trusted SetUps использовались различными протоколами конфиденциальности, такими как Zcash, Aztec и Aleo, чтобы сделать сети полностью ненадежными. Существуют разные типы доверенных настроек, вы можете узнать об этом больше, в посте Виталика или в подкасте Zk.
Manta Network: [Website] [Telegram] [Twitter] [Github] [Discord] [Forum] [Medium][LinkedIn]
Ресурсы Calamary: [Website]Ресурсы Dolphin: [Dolphin testnet]