November 28, 2022

Manta Network Trusted Setup

Что же такое Trusted Setup?

Trusted Setup (надежная установка) является частью инфраструктуры, которая нужна для создания ZKP (zero knowledge proofs). Идея ZKP заключается в том, что кто-то (доказатель) может доказать правильность заявления кому-то другому (верификатору) без раскрытия какой-либо информации. Чтобы сгенерировать ZKP, как доказатель, так и верификатор должны зафиксировать какой-то общий секрет и использовать этот общий секрет для создания общедоступных параметров. Надежная настройка - это то, как мы генерируем ключи доказывания и верификатора, необходимые для создания транзакции в сети Manta/Kalmari. Эти ключи должны быть вычислены перед запуском продукта.

Введение


Подойдет любой сервер/клиент - официальных рекомендаций нет.

Twitter - Discord - Офф.гайд - Сайт

Награды для участников: - Manta Network Trusted Setup NFT
- Специальная роль в Discord
- Контест в gleam.io (пул наград $1000 в $KMA)

Установка


Для Linux/Mac:

# обновление системы и пакеты
sudo apt update && sudo apt upgrade -y
sudo apt install pkg-config build-essential libssl-dev curl jq

# установим Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# выбрать пункт 1) Proceed with installation (default), enter

# активация среды
source ~/.profile 
source ~/.cargo/env

git clone https://github.com/Manta-Network/manta-rs.git

cd manta-rs 
cargo run --release --package manta-trusted-setup --all-features --bin groth16_phase2_client register

Для Windows:

Для быстрой установки загрузите .exe здесь. В cmd.exe перейдите в папку с загруженным файлом и введите команду:

manta-trusted-setup-x86_64-pc-windows-msvc register

Для PowerShell команда немного отличается:

./manta-trusted-setup-x86_64-pc-windows-msvc register

Регистрация


Тут нужно указать твиттер и почту

Сид-фразу (красный шрифт) нужно сохранить и никому не показывать.

Далее перейти по ссылке в typeform и завершить процедуру регистрации.

Церемония


Для тех, кто уже устанавливал ранее и регистрировался, нужно обновить приложение

curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/Manta-Network/manta-rs/main/tools/install.sh | sh
source ~/.profile

Теперь, когда вы завершили регистрацию (заявки проверяют в ручную, ждать около суток) - осталось завершить церемонию:

# запустить screen
screen -S manta
manta-trusted-setup contribute

# управление 
ctrl+a, d         # свернуть окно 
screen -r manta   # развернуть окно screen
exit              # завершить окно screen

Далее ввести сид-фразу, процесс запустится автоматически (вероятно вы окажетесь в очереди - нужно просто дождаться завершения):

Когда все пройдет успешно - вы получите сообщение с подтверждением:

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

Ошибки


После команды manta-trusted-setup contribute и ввода сид-фразы вы получили сообщение:

Please make sure you have submitted your registration form. 
Check whether the ceremony has begun at https://ceremony.manta.network/.

Это значит, что ваша заявка была отклонена (из-за ошибки в заполнении/символах, либо вас приняли за бота).

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