Pickles — это новая система криптографических доказательств и набор программных средств, которые впервые используют SNARK c функцией рекурсивной композиции без системы доверительной настройки (trusted setup).
В предстоящем релизе тестовой сети Mina (3.3) мы представим Pickles — новую систему криптографических доказательств и набор программных средств, которые впервые используют SNARK c функцией рекурсивной композиции без системы доверительной настройки (trusted setup). Pickles станет основой для разработки конфиденциальных масштабируемых смарт-контрактов в сети Mina.
Система доверительной настройки уже давно сбивает с толку пользователей SNARKs: самые скептично настроенные пользователи считают, что система доверительной настройки делает использование SNARKs неприемлемым, поскольку приходится доверять тому, что некая сторона в прошлом вела себя честно.
Для более склонных к доверию пользователей система доверительной настройки становится препятствием для разработки новых приложений, так как до появления универсально настраиваемых SNARKs требовалась новая настройка перед каждым использованием SNARKs.
В частности, для Mina необходимость в системе доверительной настройки являлась препятствием для верификации исполнения смарт-контрактов в сети, поскольку для создания новых смарт-контрактов потребовались бы новые системы доверительной настройки, что является затратным и сложным с технической точки зрения мероприятием.
К счастью, в предстоящем релизе тестовой сети (3.3) Mina будет использовать Pickles SNARK, который не требует использования системы доверительной настройки и специально разработан для использования Snapps на основе смарт-контрактов в сети Mina.
В чем соль Pickles
Для разработчиков, работающих над конфиденциальными верифицируемыми приложениями (мы называем их Snapps), система криптографических доказательств и инструментарий разработчика требуют трех вещей:
- Простота в использовании с учетом необходимости системы доверительной настройки либо возможности обойтись без нее.
- Мощный инструментарий разработчика и набор функциональных возможностей высокого уровня.
- Эффективный прувер и верификатор и возможность масштабирования.
Pickles состоит из двух компонентов: основная часть – zk-SNARK и инструментарий разработчика (он содержит большой набор библиотечных функций, а также Pickles Inductive Proof System). Инструментарий разработчика делает процесс масштабирования с использованием рекурсии достаточно простым (в оригинале статьи присутствует непреднамеренный каламбур – “snap”). Оба компонента включают пункты 1–3.
Что внутри: ядро Pickles – zk-SNARK
Zk-SNARK, используемый в Pickles, значительно превосходит рекурсивный SNARK на основе Groth16, который использовался в Mina ранее.
Во-первых, он позволяет повысить производительность сети Mina за счет перехода с больших 753-битовых полей на маленькие 255-битовые поля. В результате этого:
- Скорость VRF вычислений увеличилась в 16 раз
- Скорость хеширования увеличилась примерно в 8 раз.
- Требования к объему памяти сократились в 3 раза
Как упоминалось ранее, при использовании zk-SNARK отпадает необходимость в системе доверительной настройки . Это достигается путем надстройки на основе аргумента скалярного произведения, используемого в Halo. В дополнение используется технология пакетной обработки, настраиваемые ограничения и множество других усовершенствований.
И в заключение, zk-SNARK поддерживает настраиваемые ограничения, предназначенные для обеспечения эффективной рекурсии, в частности, обеспечивая оптимальное:
- Poseidon хеширование
- Масштабирование, сложение и удвоение эллиптических кривых
Помимо этого, Pickles Inductive Proof System значительно превосходит все существующие решения для рекурсии, устраняя лишние детали базовой криптографии и делая разработку рекурсивных систем криптографических доказательств доступной для разработчиков приложений.
Отличительные особенности Pickles
Pickles – это единственный zk-SNARK, не требующий настройки, который поддерживает произвольную рекурсию ветвления (это необходимый элемент масштабирования). К тому же, он включает в себя быстрый прувер и, в отличие от STARKs на основе AIR, обладает небольшим размером и универсальностью. В таблице ниже приведены отличительные особенности Pickles по сравнению с другими системами.
Получить сравнительные данные о скорости прувера для каждой из этих систем довольно сложно, поэтому я постарался дать о них общее представление.
Pickled snapps
Для большинства верифицируемых приложений недостаточно обособленной работы, и в дополнение к пунктам 1–3, приведенным выше (например, имплементация, инструментальные средства разработки, масштабируемость) также необходимы: 4. Возможность составного взаимодействия с другими приложениями в полностью контролируемой экосистеме.
Pickles является фундаментальной технологией, на основе которой в сети Mina Protocol будут работать Snapps, основные вычислительные процессы, полностью верифицируемые смарт-контракты с технологией нулевого разглашения. Мы выпустим несколько новых статей по данной теме в ближайшем времени; некоторые из приложений, которые нам особенно нравятся – децентрализованное конфиденциальное голосование, не требующие доверия игровые программы, конфиденциальные подтверждение кредитоспособности и универсальные оракулы. Больше информации об оракулах доступно по ссылке.
Мы выражаем благодарность командам Electric Coin Co., Aztec и авторам Zexe. Разработка Pickles была бы невозможной без их участия и ранних публикаций.
Если вы хотите обсудить вопросы криптографии с членами команды и сообществом или участвовать в наших тестнетах, вступайте в сообщество Discord.
Источник: Meet Pickles SNARK: Enabling Smart Contracts on Mina Protocol