Раскрываем доказательство нулевого разглашения: От теории к практике вместе с Aleo. Глава 4из 10: Интерактивные и неинтерактивные ZKP

Illy’s Web3 blog
5 min readJun 28, 2023

--

4.1 Введение в интерактивные и неинтерактивные доказательства нулевого разглашения. Почему неинтерактивные ZKP лучше?

Доказательства нулевого разглашения (ZKP) существуют в двух основных формах: интерактивные и неинтерактивные. Интерактивные (IZKP) включают в себя непрерывный диалог между доказывающим и проверяющим, где доказывающему поручается отвечать на вопросы проверяющего. Эта взаимодействие может быть осуществлено либо лично, либо через сеть, например, интернет.

Неинтерактивные (NIZKP) отличаются тем, что они не требуют взаимодействия между доказывающим и проверяющим. Доказывающий генерирует автономное доказательство, которое проверяющий может проверить самостоятельно, без дальнейшего общения. Процесс часто более эффективен и удобен, чем интерактивные доказательства, поскольку он не требует одновременного присутствия в сети или обмена несколькими сообщениями. Заметный способ достижения NIZKP — это эвристика Fiat-Shamir, основанная на цифровых подписях.

Фундаментальное различие между этими типами доказательств — это уровень требуемого доверия. С IZKP, проверяющему нужно доверять, что доказывающий придерживается протокола и честно отвечает на их запросы. Однако, в NIZKP, проверяющий может подтвердить доказательство независимо, не полагаясь на какую-либо информацию от доказывающего, и поэтому нет необходимости в доверии. Другой отличительный фактор — это задействованная вычислительная сложность. Интерактивные доказательства могут быть более затратными с точки зрения вычислений, учитывая необходимость обмена несколькими сообщениями и дополнительные вычисления. Однако, неинтерактивные доказательства требуют только одной операции проверки, что повышает эффективность и масштабируемость.

Хотя и IZKP, и NIZKP имеют свои преимущества и недостатки, лучший вариант зависит от конкретного сценария и его требований. Например, IZKP могут быть идеальны, когда доказывающий и проверяющий могут легко общаться в онлайне, в то время как NIZKP могут быть подходящими, когда надежность доказывающего неопределенна, или одновременное присутствие в сети невозможно.

4.2 Ограничения интерактивных доказательств с нулевым разглашением

Несмотря на свой потенциал, IZKP сталкиваются с рядом ограничений, делающих их относительно дорогостоящими и сложными. IZKP требуют взаимодействия между доказывающим и проверяющим, процесс который может быть неэффективным и затратным по времени, особенно если доказательство включает большие данные или сложно. Это может создать проблему в высокочастотной торговле или принятии решений в реальном времени, где скорость имеет решающее значение. IZKP также сталкиваются с проблемами масштабируемости. По мере увеличения проверяемых данных, доказательство становится более сложным, что затрудняет его выполнение в разумные сроки. Это ограничение становится более значимым при доказательстве больших объемов данных, например, в управлении цепочками поставок или здравоохранении. Более того, IZKP предполагают, что и доказывающий, и проверяющий честны, и нет попытки подделать или искажать доказательство. Однако это предположение не всегда верно, и доказывающий может отправлять обманные сообщения или манипулировать доказательством, подрывая его целостность.

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

4.3 Популярные реализации ZKP: zkSNARK и zkSTARK

После осознания различий между интерактивными и неинтерактивными ZKP полезно углубиться в самые распространенные реализации в блокчейне и криптосекторе: zkSNARK и zkSTARK. В то время как Aleo, новаторская платформа для разработки приватных приложений, использующих ZKP, использует zkSNARK, Starkware — испольхует zkSTARK.

zkSNARK и zkSTARK — это системы ZKP, позволяющие одной стороне (доказывающему) подтвердить истинность утверждения другой стороне (проверяющему) без раскрытия деталей утверждения. Эти системы применяются во множестве приложений, таких как сохранение приватности в блокчейн-транзакциях, защищенные многопользовательские вычисления и анонимное общение.

4.3.1 zkSNARK: Определение, плюсы и минусы

zkSNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge, или неинтерактивное аргументирование доказательство нулевого разглашения) были представлены в статье 2014 года Эли Бен-Сассоном, Алессандро Чиеза, Даниэлем Генкином, Эраном Тромером и Мадарсом Вирзой. Они основываются на принципе “неинтерактивного доказательства”, исключающего необходимость коммуникации между доказывающим и проверяющим в процессе доказательства, что делает их идеальными для использования в блокчейнах, где существуют ограничения на коммуникацию, основанную на консенсусе. zkSNARK используют как публичные, так и приватные ключи для генерации доказательства. Доказывающий использует приватный ключ для создания доказательства утверждения, которое он хочет сделать, а проверяющий использует публичный ключ для его проверки. Если доказательство верно, проверяющий может быть уверен, что утверждение верно, не обладая каким-либо знанием об утверждении.

Преимущества zkSNARK

Одним из основных преимуществ zkSNARK является их эффективность. Процесс доказательства быстрый, что позволяет применять zkSNARK в системах с высокой пропускной способностью, таких как блокчейны.

Недостатки zkSNARK

Они зависят от процесса “доверенной настройки”, в ходе которого участники генерируют и уничтожают набор ключей. Если это сделано некорректно, это может поставить под угрозу безопасность системы. Более того, zkSNARK не прозрачны, что означает, что без приватного ключа невозможно проверить корректность доказательства.

4.3.2 zkSTARK: Определение, Преимущества и Недостатки

zkSTARK (Zero-Knowledge Scalable Transparent ARgument of Knowledge) были представлены Эли Бен-Сассоном, Майклом Риабзевом и Николасом Спунером в 2018 году как усовершенствование zkSNARK, которое решает некоторые из его недостатков. Аналогично zkSNARK, zkSTARK позволяют доказывающему создать доказательство утверждения без раскрытия какой-либо информации о самом утверждении. Однако zkSTARK не требуют процесса доверенной настройки, что делает их более безопасными и прозрачными. Они также более эффективны, чем zkSNARK, с значительно меньшим размером доказательств.

Преимущества zkSTARK

Прозрачность — одно из основных преимуществ zkSTARK. Они позволяют создавать “доказательство проверки”, позволяя любому проверить корректность доказательства без какой-либо секретной информации, делая их более безопасным и прозрачным выбором. Другое преимущество — их масштабируемость. В отличие от zkSNARK, которые опираются на сложные и ресурсоемкие математические операции, zkSTARK становятся более эффективными по мере увеличения размера доказательства.

Недостатки zkSTARK

zkSTARK подходят только для доказательства определенных типов утверждений, в частности тех, которые представлены в виде полиномов, что ограничивает их использование. Кроме того, они не полностью неинтерактивны и требуют фазы доверенной настройки для генерации общей ссылочной строки (CRS), которая должна быть защищена для валидности доказательства. Если CRS скомпрометирована, то и безопасность доказательства под угрозой. У zkSTARK также есть проблема отсутствия широкого распространения и понимания, что приводит к нехватке инструментов и ресурсов для работы с ними, что усложняет их внедрение. Кроме того, относительно новый и не проверенный статус по сравнению с другими системами ZKP означает, что их долгосрочная безопасность и надежность еще не полностью поняты, что может вызвать опасения у сущностей, ищущих надежный и проверенный метод проверки подлинности утверждения.

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

4.4 Aleo: Революция в онлайн-взаимодействиях с помощью доказательств нулевого разглашения

Aleo — это платформа, которая облегчает разработку приватных приложений с использованием доказательств нулевого разглашения. Предоставляя программную модель, поддерживающую сохранение приватности и масштабируемые вычисления, Aleo стремится революционизировать онлайн-взаимодействия. Платформа Aleo использует zkSNARK, применяя уникальный компилятор, который переводит язык высокого уровня в арифметические схемы, которые затем преобразуются в доказательства zkSNARK. Эта техника делает разработку приложений, сфокусированных на приватности, более доступной, даже для разработчиков, не работающих с криптовалютами. По мере зрелости технологии и ее более широкого принятия, Aleo может играть ключевую роль в обеспечении более безопасных, приватных и эффективных онлайн-взаимодействий.

Конец главы 4

Оставайтесь любознательными, продолжайте учиться и углубляйтесь в экосистему Aleo — путешествие только начинается. Присоединяйтесь к сообществу здесь:

--

--

No responses yet