Новый модульный набор инструментов zk! ⚡ Используйте его для генерации zkps из оффчейн аттестаций. Процесс: - Подписать/использовать оффчейн аттестацию - Генерировать доказательства с SP1 - Проверить с помощью WASM - Подтвердить результат проверки в ончейн (по желанию) Особая благодарность @shivansheth и @whoisgautxm (zkAttestify) за вклад в это, а также @SuccinctLabs за поддержку!
Вот процесс: 1) Подпишите/предоставьте действительную оффчейн аттестацию - Структурированные аттестации создаются с использованием EAS - Подписаны с помощью EIP712 - Данные остаются оффчейн и конфиденциальными. - Подпись подлежит проверке. 2) Генерация ZK Proof (SP1) - Используйте SP1 zkvm для разбора структуры EAS - Проверяет правильность подписи и логику (зашито для демонстрации) - Программа SP1 генерирует доказательства Groth16 или Plonk - Выход включает файл доказательства + публичные входные данные Логика обрабатывается в репозиториях dob-program и dob-scripts. 3) Проверка в WASM (Браузер или Node) - Загрузите скомпилированный проверщик - Предоставьте доказательство + публичные входные данные - JS-скрипт выполняет проверку доказательства и проверяет логику 4) По желанию: Подтвердите результат проверки в ончейн - Отправьте zk доказательство в контракт проверщика на Solidity (проверщик groth16) - В случае успеха вызовите EAS для выдачи новой ончейн аттестации - Схема и данные настраиваемы (isOver18 = true) - Дает вам контроль над истечением срока/отменой/композицией - Нет связи с оригинальной оффчейн аттестацией Примечания - этот процесс предполагает, что вы доверяете аттестатору оффчейн аттестации. - генерация доказательств groth16/plonk медленная. Используйте Сеть Сжатых Доказателей для повышения эффективности.
Этот учебник/демонстрация проведет вас через то, как это работает за 15 минут. Он использует простой пример подтверждения возраста. Набор инструментов модульный, поэтому с несколькими изменениями вы можете заменить его на свои собственные схемы/логические схемы позже.
Посетите Github
Хотите посмотреть видео от команды ZKAttestify?
Хотите настроить поток? Вот что нужно изменить: - В `dob-program/src/main.rs` – измените логику (например, `degree == "CS"`) - В `dob-script/input.json` – измените данные аттестации и схему - В `WASM_verifier/` – проверьте любое доказательство с той же структурой
Этот проект является эталонной реализацией. Он модульный, с открытым исходным кодом и готов к форку. Помогите нам расширить поддержку для большего количества схем, проверяющих и случаев использования. Мы активно ищем участников и разработчиков, которые хотят поднять этот репозиторий на новый уровень. Свяжитесь с нами! 🫡
18,5K