Введение
Manta Pacific, модульный уровень 2 Ethereum, разработанный для приложений ZK, получил финансирование на сумму более 60 миллионов долларов от таких известных организаций, как Polychain, Binance Labs, CoinFund и SevenX Ventures. Manta Pacific интегрирует схемы ZK в свою архитектуру уровня 2, предлагая высокомодульную конструкцию и несколько функциональных модулей ZK для децентрализованных приложений. Разработчики могут легко активировать функциональные возможности ZK всего несколькими строками кода, используя SDK и API.
Подход Manta позволяет полностью реализовать функциональные возможности ZK в среде уровня 2, обеспечивая плавную интеграцию корректности ZK и сжатия транзакций в существующие приложения или развертывание новых приложений, адаптированных к функциям ZK. Это уникальная возможность Manta Pacific.
Доказательства с нулевым разглашением (ZKP) — это универсальная концепция, применимая к любой проблеме NP. Их теоретическое развитие и практическое применение стали основным направлением криптографических исследований. Основной криптографический примитив, используемый Manta, представляет собой особый тип неинтерактивного доказательства с нулевым разглашением, известный как краткий неинтерактивный аргумент знания с нулевым разглашением (zkSNARK). Эта система позволяет проверять сложные результаты вычислений без необходимости повторения всего вычисления.
zkSNARK Фреймворк
Обзор
zkSNARK состоит из трех алгоритмов с полиномиальным временем: KeyGen, Prove и Verify. Эти алгоритмы облегчают генерацию, доказательство и проверку доказательства с нулевым разглашением в арифметической схеме.
KeyGen(1^λ, C) -> (pk, vk):
Учитывая параметр безопасности λ (например, 128 бит) и арифметическую схему C, алгоритм KeyGen генерирует проверочный ключ pk и проверочный ключ vk. Эти ключи являются общедоступными и могут использоваться повторно для подтверждения принадлежности к языку, определенному схемой C.
Докажите(pk, x, a) -> π:
Используя ключ доказательства pk и входные данные (x, a), где x — общедоступные входные данные, а a — свидетель, алгоритм Prove выводит неинтерактивное доказательство π. Это доказательство утверждает, что существует свидетель a такой, что C(x, a) = 0.
Проверить(vk, x, π) -> {0,1}:
Алгоритм Verify использует ключ проверки vk, общедоступные входные данные x и доказательство π, чтобы определить, действительно ли x является членом языка, определенного C. Он выводит 1, если доказательство валидно, в противном случае — 0.
Математическое представление
Рассмотрим конечное поле F и арифметическую схему C, определенную над F. Для входа x ∈ F^n и свидетеля a ∈ F^h схема C(x, a) выводит значения в F. Цель состоит в том, чтобы доказать, что для данного x существует свидетель a такой, что C(x, a) = 0.
Аналогия
Доказательства с нулевым разглашением можно сравнить с волшебным шоу, где Алиса (доказывающая) использует серию хитрых трюков (математических расчетов), чтобы показать Бобу (проверяющему) подсказки (доказательство), которые убеждают его в том, что секрет действительно находится внутри коробки. . Боб убежден, не видя самой тайны. Алиса использует специальный «магический ключ» (публичный ключ проверки ВК), с помощью которого каждый может проверить подсказки. Это «волшебное шоу» можно повторять в разных местах и перед разной аудиторией.
Другие криптографические примитивы в Manta
Схема неинтерактивных обязательств (COMM)
Неинтерактивная схема обязательств обеспечивает согласованность информации. Учитывая сообщение m и случайное начальное число r, обязательство c := COMMIT_r(m) можно проверить, выявив r и m. Эта схема является обязательной, то есть зафиксированное сообщение не может быть изменено после принятия обязательства.
Псевдослучайные функции (PRF)
PRF генерируют выходные данные, которые кажутся случайными из фиксированных входных данных. Их можно использовать для генерации адресов, значений nonce и открытых ключей. В криптографических приложениях разные метки различают разные PRF, даже если они имеют одну и ту же основную функцию.
Криптографические аккумуляторы
Аккумуляторы обеспечивают эффективное доказательство членства с нулевым разглашением для больших наборов данных. Они позволяют агрегировать многочисленные точки данных в небольшое значение фиксированного размера, облегчая эффективную проверку включения данных без предоставления всего набора данных. Это особенно полезно в блокчейне для улучшения процессов хранения и проверки данных.
Интегрированная схема шифрования с эллиптической кривой (ECIES)
ECIES, основанный на обмене ключами Диффи-Хеллмана на основе эллиптической кривой, обеспечивает безопасный обмен информацией по незащищенному каналу. Отправитель шифрует сообщение, используя открытый ключ получателя, и только получатель, обладающий соответствующим секретным ключом, может его расшифровать. Эта схема часто используется с блочными шифрами, такими как AES, для надежной защиты шифрования.
Транзакции схемы Manta ZK
Транзакции схемы Manta ZK следуют модели UTXO, где транзакции потребляют старые монеты с одного или нескольких входов и генерируют новые монеты. Операции майнинга создают новые UTXO, а операции транзакций потребляют существующие UTXO. Процесс включает в себя:
Настройка: Инициализация системы с параметрами системы НИЗК.
GenMint: создание транзакции чеканки, выбор UTXO в качестве входных данных, указание новых номиналов монет и генерация доказательства.
Mint: сеть проверяет и записывает новый UTXO после успешной проверки.
GenTransfer: создание транзакции перевода с указанием текущего состояния реестра, монет для перевода и открытого ключа получателя, а также создание доказательства.
Передача: верификатор выполняет транзакцию передачи, обновляя состояние реестра после успешной проверки доказательства.
GenReclaim: создание транзакции возврата для восстановления неиспользованных остатков из UTXO.
Возврат: верификатор выполняет транзакцию возврата, обновляя состояние реестра после успешной проверки доказательства.
Структура доказательства безопасности
Симулятор строительства
Чтобы продемонстрировать свойство нулевого разглашения схемы zkSNARK, создается симулятор, генерирующий представление, неотличимое от представления реального противника (Real adv). Это доказывается тем, что в соответствии со схемой обязательств и предположениями PRF невозможно отличить представление, созданное симулятором, от представления реального противника.
Гибридный аргумент
Ряд промежуточных представлений создается путем постепенной замены элементов реального рекламного представления до достижения идеального рекламного представления. Аргумент основан на предпосылке, что противник, способный различать два последовательных промежуточных представления, может также различать начальное Реальное рекламное представление и окончательное Идеальное рекламное представление. Доказательство показывает, что преимущество противника в различении этих взглядов полиномиально ограничено, что подтверждает безопасность схемы zkSNARK.
Заключение
Доказательства безопасности для этих систем обычно включают в себя постановку двух экспериментов: один для фактического запуска протокола (реальный) и один для идеального запуска протокола (идеальный), где симулятор имитирует поведение реального противника. Если результаты этих экспериментов неотличимы, протокол считается безопасным. Модель безопасности «Идеальный/Реальный» — это общая концепция доказательств с нулевым разглашением, гарантирующая, что проверяющий (или система) может быть убежден в правдивости определенных утверждений, сохраняя при этом безопасность от потенциальных злоумышленников.
Это подробное исследование подчеркивает строгие математические принципы и криптографические механизмы, лежащие в основе схемы ZK Manta, подчеркивая ее инновационный подход и гарантии безопасности.