Доказательство нулевых знаний было предложено С. Голдвассером, С. Микали и К. Ракоффом в начале 1980-х годов.
Это относится к способности проверяющего убедить проверяемого в правильности определенного утверждения, не предоставляя ему никакой полезной информации. Иными словами, доказующий доказывает проверяющему и заставляет его поверить, что он знает или владеет определенным сообщением, но процесс доказательства не может раскрыть проверяющему никакой информации о доказанном сообщении.
Игра на проверку Судоку - классический пример доказательства с нулевым знанием, написанный Авивом Зохаром, лидером команды основателей двух протоколов Ghost и Specter.
Доказатель Алиса хочет доказать верификатору Бобу, что она знает решение определенной игры судоку, но не хочет раскрывать верификатору Бобу конкретное содержание решения. Доказательство может быть получено с помощью следующего процесса:
Вероятность того, что Алиса успешно обманет Боба, заранее угадав, какой метод проверки (строка/столбец/дом) выберет Боб, равна 1/3. Поэтому Боб может каждый раз случайным образом выбирать разные методы проверки и повторять описанный выше процесс доказательства несколько раз, пока Боб не поверит, что Алиса знает решение игры Судоку, и Боб не будет знать никакой конкретной информации о решении в течение всего процесса.
В приведенной выше игре требуется доказать решение задачи судоку. Алиса просит Боба каждый раз случайным образом выбирать строки, столбцы и карты сетки из девяти квадратов, собирать их вместе и случайным образом перетасовывать. Боб не может узнать решение задачи, открыв сумку, но он может Я считаю, что Алиса с большой вероятностью знает решение задачи.
Поскольку Алиса и Боб могут пройти проверку Боба после нескольких раундов взаимодействия, это называется интерактивным доказательством с нулевым знанием. Интерактивное доказательство с нулевым знанием требует, чтобы верификатор Боб постоянно посылал случайные эксперименты после того, как проверяющий Алиса поставит ответ (обязательство).
Предположим, что существует неинтерактивная машина доказательств Sudoku с нулевым знанием. Эта машина, по сути, автоматизирует доказательства Судоку для Алисы и Боба, не требуя больше взаимодействия с человеком.
Алисе нужно только положить карту на конвейерную ленту, и машина автоматически выберет, какие карты собирать по рядам, столбцам или дворцам, положит их в мешок не по порядку, а затем отправит мешок через конвейерную ленту. Затем Боб может открыть мешок и показать находящиеся в нём карты.
У машины есть панель управления, которая открывается на ряд ручек, указывающих выбор (строка, столбец, дворец) для каждого испытания.
Это называется неинтерактивным нулевым знанием (Non-Interactive Zero-Knowledge, NIZK), но для этого потребуются дополнительные машины или программы, а также последовательность тестов, которые не могут быть известны никому. Имея такую программу и последовательность испытаний, доказывающая машина может автоматически вычислить доказательство и предотвратить фальсификацию любой стороной.
Доказательство нулевого знания включает в себя множество криптографических и математических теорий, в том числе содержание теории вычислительной сложности, такое как модели вычислительно/статистически неразличимых, симуляторов и случайных оракулов. Чтобы облегчить понимание, мы опишем три основных свойства протокола доказательства с нулевым знанием на более популярном языке следующим образом:
"Знание" против "информации"
Доказательство с нулевым знанием возникло из протокола интерактивного доказательства. На примере протокола Шнорра анализируются принципы и характеристики интерактивного доказательства с нулевым знанием. Протокол Шнорра - это протокол аутентификации личности, который также используется во многих современных схемах цифровой подписи PKI.
PKI - это аббревиатура от Public Key Infrastructure (Инфраструктура открытых ключей). Это соответствующая стандартам технология и спецификация, которая использует технологию шифрования с открытым ключом для обеспечения безопасной базовой платформы для развития электронной коммерции.
В протоколе Шнорра, проверяющий A доказывает, что он обладает закрытым ключом sk, соответствующим открытому ключу pk, взаимодействуя с проверяющим B три раза, но проверяющий B не может получить информацию о закрытом ключе sk в течение всего процесса.
Интерактивные протоколы доказательства с нулевым знанием полагаются на случайные попытки проверяющего и требуют многократного взаимодействия между проверяющим и проверяемым для завершения работы. Неинтерактивное доказательство с нулевым знанием сокращает количество взаимодействий до одного, позволяя проводить автономное доказательство и публичную проверку. Например, в сценариях применения доказательств с нулевым знанием, таких как блокчейн, доказательство обычно должно быть опубликовано напрямую, а не полагаться на интерактивную реализацию, и оно должно поддерживать многостороннюю публичную автономную проверку.
В настоящее время существует три основных алгоритма в технологии доказательств с нулевым знанием:
zk-SNARK (Zero-Knowledge Succinct Non-interactive Arguments of Knowledge) - это широко используемая универсальная схема доказательства с нулевым знанием. Преобразуя любой вычислительный процесс в форму нескольких схем ворот, и используя ряд математических свойств полиномов для преобразования схем ворот в полиномы, а затем генерируя неинтерактивные доказательства, которые могут реализовать применение различных сложных бизнес-сценариев. В настоящее время zk-SNARK применяется в таких областях блокчейна, как цифровая валюта и блокчейн-финансы, и на данный момент является одним из самых зрелых универсальных решений для доказательства нулевого знания.
Запуск zk-SNARK требует доверенной настройки. Доверенная установка означает, что в доверенной установке несколько сторон генерируют частичный ключ для запуска сети, а затем уничтожают его. Если секреты ключей, используемых для создания системы доверия, не уничтожены, эти секреты могут быть использованы для подделки транзакций с помощью ложных верификаций.
zk-STARK (Zero-Knowledge Succinct Transparent Arguments of Knowledge), представляющий собой краткую и прозрачную аргументацию знаний с нулевым знанием), является техническим развитием алгоритма zk-SNARK, который решает слабость SNARK, полагающегося на доверенные настройки, и не полагается на них. Любое доверие настраивается на полную верификацию блокчейна, что снижает сложность запуска сети и устраняет риск сговора.
Bulletproofs (короткий неинтерактивный протокол доказательств нулевого знания) учитывает преимущества SNARKs и STARKs, может работать без доверенной установки и позволяет уменьшить размер криптографических доказательств с более чем 10 кБ до менее чем 1 кБ, коэффициент сжатия достигает более 80%, а комиссии за транзакции снижаются на 80%. Он привлек большое внимание в этой области благодаря относительно низким комиссионным за транзакции, размеру алгоритма и отсутствию доверия.
Доказательство нулевого знания может обеспечить безопасность данных и решить многие проблемы конфиденциальности. Процесс доказательства требует небольшого количества вычислений, а объем информации, которой обмениваются обе стороны, значительно сокращается. Его преимущества - безопасность и эффективность. Изначально доказательства с нулевым знанием часто использовались в проверке личности, цифровых подписях, протоколах аутентификации и т.д. Появление блокчейна открыло новые направления для применения доказательств нулевого знания.
Блокчейн не способен удовлетворить текущие потребности из-за своих собственных проблем с производительностью. Ожидается, что решения по масштабированию, основанные на нулевом знании, решат проблему узкого места в производительности блокчейна. Масштабирование означает увеличение скорости и пропускной способности транзакций без ущерба для децентрализации и безопасности. ZK-Rollups - это решение для масштабирования на уровне 2, основанное на доказательстве нулевого знания. Он повышает пропускную способность блокчейна, перенося вычисления в цепь, то есть упаковывая большое количество транзакций в блок Rollup и генерируя действительный блок для блока вне цепи. Смарт-контракту на Уровне 1 нужно только проверить доказательство, чтобы напрямую применить новое состояние, что позволяет добиться меньшего объема газа и более высокой безопасности цепи.
В контексте блокчейна доказательства нулевого знания могут использоваться для проверки достоверности транзакций без раскрытия данных об отправителе, получателе, задействованной сумме и других конфиденциальных данных, содержащихся в транзакции. Поэтому доказательства с нулевым знанием играют огромную роль в защите конфиденциальности данных в цепочке. Типичные приложения включают приватность L2, приватные публичные цепочки, приватные монеты и приватный KYC.
Aztec Network - это первый блокчейн-проект 2-го уровня конфиденциальности на Ethereum, цель которого - обеспечить конфиденциальность и масштабируемость централизованных приложений. В Aztec используется модель UTXO, похожая на принцип счета Биткойн. В этой модели нотная запись является основной единицей работы протокола. Когда актив торгуется, стоимость купюры шифруется, владелец купюры меняется, а в реестре купюр фиксируется статус каждой купюры. Все активы AZTEC пользователя находятся в реестре нот. Сумма действительных билетов, принадлежащих данному адресу пользователя.
Aleo - это первая платформа, обеспечивающая полную защиту конфиденциальности приложений, и представляет собой публичную цепочку, основанную на защите конфиденциальности с нулевым доказательством. Ядром Aleo является ZEXE - децентрализованное частное вычисление DPC (decentralized private computation), которое разделяет вычисления и консенсус, предоставляет zkCloud для выполнения транзакций вне цепочки и передает доказательство в цепочку после выполнения транзакции. Поскольку в цепочку передаются только доказательства, технически невозможно, чтобы кто-то увидел или использовал знание деталей транзакции, что обеспечивает конфиденциальность транзакций.
Zcash прозвали родоначальником монет конфиденциальности. Конфиденциальность конфиденциальных транзакций опирается на хэш-функции и потоковые шифры в стандартной криптографии. Отправитель, получатель и объем транзакции в записи транзакции зашифрованы в цепочке. Пользователи могут выбрать, предоставлять ли другим ключ для просмотра (только те, у кого есть этот ключ, могут видеть содержимое транзакции), и использовать zk-SNARKs вне цепи для проверки достоверности транзакции.
zkPass - это децентрализованное решение KYC, основанное на безопасных многосторонних вычислениях и доказательствах с нулевым знанием, позволяющее пользователям анонимно подтверждать свою личность перед третьими лицами с помощью идентификационных данных Web2. Например, платформа цепочки целостности файлов Ufile Chain - это блокчейн-платформа, ориентированная на аутентификацию, хранение, обращение, подтверждение прав и защиту конфиденциальности личной информации. Это система цепочки альянсов с авторитетными учреждениями, такими как университеты, предприятия и государственные ведомства, в качестве основных узлов. Ufile Chain использует технологию доказательства нулевого знания для обеспечения конфиденциальности и безопасности личной информации. Пользователи данных могут получить только ограниченную информацию, относящуюся к их бизнесу, поэтому пользователям данных трудно получить полную и эффективную информацию о пользователе в открытом тексте. Никто, включая официальных представителей UfileChain, не может получить достоверную личную информацию пользователя.
Благодаря развитию в последние годы таких новых технологических приложений, как блокчейн и вычисления для обеспечения конфиденциальности, технология доказательства нулевого знания стала важной технологией для построения доверия и незаменимой частью организма блокчейна.
По сути, технология доказательства нулевого знания может не доверять блокчейну и перевести его с экономических предпосылок на предпосылки, основанные на криптографии, для дальнейшего расширения собственных функций, таких как доступность данных вне цепи и собственные кошельки абстрактных счетов, особенно для Ethereum. Она обеспечивает решение или даже единственное решение проблем, связанных с масштабируемостью и защитой конфиденциальности, с которыми сталкиваются базовые цепочки, такие как Fang.
Mời người khác bỏ phiếu
Доказательство нулевых знаний было предложено С. Голдвассером, С. Микали и К. Ракоффом в начале 1980-х годов.
Это относится к способности проверяющего убедить проверяемого в правильности определенного утверждения, не предоставляя ему никакой полезной информации. Иными словами, доказующий доказывает проверяющему и заставляет его поверить, что он знает или владеет определенным сообщением, но процесс доказательства не может раскрыть проверяющему никакой информации о доказанном сообщении.
Игра на проверку Судоку - классический пример доказательства с нулевым знанием, написанный Авивом Зохаром, лидером команды основателей двух протоколов Ghost и Specter.
Доказатель Алиса хочет доказать верификатору Бобу, что она знает решение определенной игры судоку, но не хочет раскрывать верификатору Бобу конкретное содержание решения. Доказательство может быть получено с помощью следующего процесса:
Вероятность того, что Алиса успешно обманет Боба, заранее угадав, какой метод проверки (строка/столбец/дом) выберет Боб, равна 1/3. Поэтому Боб может каждый раз случайным образом выбирать разные методы проверки и повторять описанный выше процесс доказательства несколько раз, пока Боб не поверит, что Алиса знает решение игры Судоку, и Боб не будет знать никакой конкретной информации о решении в течение всего процесса.
В приведенной выше игре требуется доказать решение задачи судоку. Алиса просит Боба каждый раз случайным образом выбирать строки, столбцы и карты сетки из девяти квадратов, собирать их вместе и случайным образом перетасовывать. Боб не может узнать решение задачи, открыв сумку, но он может Я считаю, что Алиса с большой вероятностью знает решение задачи.
Поскольку Алиса и Боб могут пройти проверку Боба после нескольких раундов взаимодействия, это называется интерактивным доказательством с нулевым знанием. Интерактивное доказательство с нулевым знанием требует, чтобы верификатор Боб постоянно посылал случайные эксперименты после того, как проверяющий Алиса поставит ответ (обязательство).
Предположим, что существует неинтерактивная машина доказательств Sudoku с нулевым знанием. Эта машина, по сути, автоматизирует доказательства Судоку для Алисы и Боба, не требуя больше взаимодействия с человеком.
Алисе нужно только положить карту на конвейерную ленту, и машина автоматически выберет, какие карты собирать по рядам, столбцам или дворцам, положит их в мешок не по порядку, а затем отправит мешок через конвейерную ленту. Затем Боб может открыть мешок и показать находящиеся в нём карты.
У машины есть панель управления, которая открывается на ряд ручек, указывающих выбор (строка, столбец, дворец) для каждого испытания.
Это называется неинтерактивным нулевым знанием (Non-Interactive Zero-Knowledge, NIZK), но для этого потребуются дополнительные машины или программы, а также последовательность тестов, которые не могут быть известны никому. Имея такую программу и последовательность испытаний, доказывающая машина может автоматически вычислить доказательство и предотвратить фальсификацию любой стороной.
Доказательство нулевого знания включает в себя множество криптографических и математических теорий, в том числе содержание теории вычислительной сложности, такое как модели вычислительно/статистически неразличимых, симуляторов и случайных оракулов. Чтобы облегчить понимание, мы опишем три основных свойства протокола доказательства с нулевым знанием на более популярном языке следующим образом:
"Знание" против "информации"
Доказательство с нулевым знанием возникло из протокола интерактивного доказательства. На примере протокола Шнорра анализируются принципы и характеристики интерактивного доказательства с нулевым знанием. Протокол Шнорра - это протокол аутентификации личности, который также используется во многих современных схемах цифровой подписи PKI.
PKI - это аббревиатура от Public Key Infrastructure (Инфраструктура открытых ключей). Это соответствующая стандартам технология и спецификация, которая использует технологию шифрования с открытым ключом для обеспечения безопасной базовой платформы для развития электронной коммерции.
В протоколе Шнорра, проверяющий A доказывает, что он обладает закрытым ключом sk, соответствующим открытому ключу pk, взаимодействуя с проверяющим B три раза, но проверяющий B не может получить информацию о закрытом ключе sk в течение всего процесса.
Интерактивные протоколы доказательства с нулевым знанием полагаются на случайные попытки проверяющего и требуют многократного взаимодействия между проверяющим и проверяемым для завершения работы. Неинтерактивное доказательство с нулевым знанием сокращает количество взаимодействий до одного, позволяя проводить автономное доказательство и публичную проверку. Например, в сценариях применения доказательств с нулевым знанием, таких как блокчейн, доказательство обычно должно быть опубликовано напрямую, а не полагаться на интерактивную реализацию, и оно должно поддерживать многостороннюю публичную автономную проверку.
В настоящее время существует три основных алгоритма в технологии доказательств с нулевым знанием:
zk-SNARK (Zero-Knowledge Succinct Non-interactive Arguments of Knowledge) - это широко используемая универсальная схема доказательства с нулевым знанием. Преобразуя любой вычислительный процесс в форму нескольких схем ворот, и используя ряд математических свойств полиномов для преобразования схем ворот в полиномы, а затем генерируя неинтерактивные доказательства, которые могут реализовать применение различных сложных бизнес-сценариев. В настоящее время zk-SNARK применяется в таких областях блокчейна, как цифровая валюта и блокчейн-финансы, и на данный момент является одним из самых зрелых универсальных решений для доказательства нулевого знания.
Запуск zk-SNARK требует доверенной настройки. Доверенная установка означает, что в доверенной установке несколько сторон генерируют частичный ключ для запуска сети, а затем уничтожают его. Если секреты ключей, используемых для создания системы доверия, не уничтожены, эти секреты могут быть использованы для подделки транзакций с помощью ложных верификаций.
zk-STARK (Zero-Knowledge Succinct Transparent Arguments of Knowledge), представляющий собой краткую и прозрачную аргументацию знаний с нулевым знанием), является техническим развитием алгоритма zk-SNARK, который решает слабость SNARK, полагающегося на доверенные настройки, и не полагается на них. Любое доверие настраивается на полную верификацию блокчейна, что снижает сложность запуска сети и устраняет риск сговора.
Bulletproofs (короткий неинтерактивный протокол доказательств нулевого знания) учитывает преимущества SNARKs и STARKs, может работать без доверенной установки и позволяет уменьшить размер криптографических доказательств с более чем 10 кБ до менее чем 1 кБ, коэффициент сжатия достигает более 80%, а комиссии за транзакции снижаются на 80%. Он привлек большое внимание в этой области благодаря относительно низким комиссионным за транзакции, размеру алгоритма и отсутствию доверия.
Доказательство нулевого знания может обеспечить безопасность данных и решить многие проблемы конфиденциальности. Процесс доказательства требует небольшого количества вычислений, а объем информации, которой обмениваются обе стороны, значительно сокращается. Его преимущества - безопасность и эффективность. Изначально доказательства с нулевым знанием часто использовались в проверке личности, цифровых подписях, протоколах аутентификации и т.д. Появление блокчейна открыло новые направления для применения доказательств нулевого знания.
Блокчейн не способен удовлетворить текущие потребности из-за своих собственных проблем с производительностью. Ожидается, что решения по масштабированию, основанные на нулевом знании, решат проблему узкого места в производительности блокчейна. Масштабирование означает увеличение скорости и пропускной способности транзакций без ущерба для децентрализации и безопасности. ZK-Rollups - это решение для масштабирования на уровне 2, основанное на доказательстве нулевого знания. Он повышает пропускную способность блокчейна, перенося вычисления в цепь, то есть упаковывая большое количество транзакций в блок Rollup и генерируя действительный блок для блока вне цепи. Смарт-контракту на Уровне 1 нужно только проверить доказательство, чтобы напрямую применить новое состояние, что позволяет добиться меньшего объема газа и более высокой безопасности цепи.
В контексте блокчейна доказательства нулевого знания могут использоваться для проверки достоверности транзакций без раскрытия данных об отправителе, получателе, задействованной сумме и других конфиденциальных данных, содержащихся в транзакции. Поэтому доказательства с нулевым знанием играют огромную роль в защите конфиденциальности данных в цепочке. Типичные приложения включают приватность L2, приватные публичные цепочки, приватные монеты и приватный KYC.
Aztec Network - это первый блокчейн-проект 2-го уровня конфиденциальности на Ethereum, цель которого - обеспечить конфиденциальность и масштабируемость централизованных приложений. В Aztec используется модель UTXO, похожая на принцип счета Биткойн. В этой модели нотная запись является основной единицей работы протокола. Когда актив торгуется, стоимость купюры шифруется, владелец купюры меняется, а в реестре купюр фиксируется статус каждой купюры. Все активы AZTEC пользователя находятся в реестре нот. Сумма действительных билетов, принадлежащих данному адресу пользователя.
Aleo - это первая платформа, обеспечивающая полную защиту конфиденциальности приложений, и представляет собой публичную цепочку, основанную на защите конфиденциальности с нулевым доказательством. Ядром Aleo является ZEXE - децентрализованное частное вычисление DPC (decentralized private computation), которое разделяет вычисления и консенсус, предоставляет zkCloud для выполнения транзакций вне цепочки и передает доказательство в цепочку после выполнения транзакции. Поскольку в цепочку передаются только доказательства, технически невозможно, чтобы кто-то увидел или использовал знание деталей транзакции, что обеспечивает конфиденциальность транзакций.
Zcash прозвали родоначальником монет конфиденциальности. Конфиденциальность конфиденциальных транзакций опирается на хэш-функции и потоковые шифры в стандартной криптографии. Отправитель, получатель и объем транзакции в записи транзакции зашифрованы в цепочке. Пользователи могут выбрать, предоставлять ли другим ключ для просмотра (только те, у кого есть этот ключ, могут видеть содержимое транзакции), и использовать zk-SNARKs вне цепи для проверки достоверности транзакции.
zkPass - это децентрализованное решение KYC, основанное на безопасных многосторонних вычислениях и доказательствах с нулевым знанием, позволяющее пользователям анонимно подтверждать свою личность перед третьими лицами с помощью идентификационных данных Web2. Например, платформа цепочки целостности файлов Ufile Chain - это блокчейн-платформа, ориентированная на аутентификацию, хранение, обращение, подтверждение прав и защиту конфиденциальности личной информации. Это система цепочки альянсов с авторитетными учреждениями, такими как университеты, предприятия и государственные ведомства, в качестве основных узлов. Ufile Chain использует технологию доказательства нулевого знания для обеспечения конфиденциальности и безопасности личной информации. Пользователи данных могут получить только ограниченную информацию, относящуюся к их бизнесу, поэтому пользователям данных трудно получить полную и эффективную информацию о пользователе в открытом тексте. Никто, включая официальных представителей UfileChain, не может получить достоверную личную информацию пользователя.
Благодаря развитию в последние годы таких новых технологических приложений, как блокчейн и вычисления для обеспечения конфиденциальности, технология доказательства нулевого знания стала важной технологией для построения доверия и незаменимой частью организма блокчейна.
По сути, технология доказательства нулевого знания может не доверять блокчейну и перевести его с экономических предпосылок на предпосылки, основанные на криптографии, для дальнейшего расширения собственных функций, таких как доступность данных вне цепи и собственные кошельки абстрактных счетов, особенно для Ethereum. Она обеспечивает решение или даже единственное решение проблем, связанных с масштабируемостью и защитой конфиденциальности, с которыми сталкиваются базовые цепочки, такие как Fang.