Доказательство Знания без Раскрытия (ZKP) - это криптографическая техника, впервые предложенная С. Голдвассером, С. Микали и К. Ракоффом в начале 1980-х годов в статье под названием «Сложность знаний интерактивных доказательствных системВ статье он был концептуализирован как теоретическая модель для решения проблемы верификации математических утверждений без раскрытия доказательств. Эта концепция привлекла широкое внимание в академических кругах, поскольку она ставит под сомнение границы традиционных криптографических техник и предоставляет новые методы обработки чувствительной информации.
С течением времени ZKP превратился из абстрактной теоретической концепции в конкретные протоколы, которые могут быть интегрированы в различные приложения. В 2010 году Грот опубликовал статью под названием “Краткие парные неинтерактивные доказательства нулевого знанияЗатем стал теоретическим этапом для zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), важного решения в ZKP. Самым важным прогрессом в применении доказательства нулевого знания стала система доказательства нулевого знания, использованная Z-cash в 2015 году, обеспечивающая конфиденциальную защиту для транзакций и сумм. Впоследствии zk-SNARK был объединен с умными контрактами, расширяя свое применение на более широкий спектр сценариев применения.
Традиционный ZKP придерживается трёх принципов:
Принцип ZKP можно понять на простом примере: Если мне нужно доказать A, что у меня есть номер телефона B, мне не нужно напрямую раскрывать номер телефона B. Вместо этого я могу напрямую набрать номер телефона B и доказать, что у меня есть номер B после того, как дозвонюсь. Этот процесс не приведет к утечке номера телефона B.
zk-SNARK дополняет эти принципы следующими характеристиками:
В статье Грота он предложил метод невзаимодействующего доказательства нулевого знания на основе пар, чтобы преобразовать вычислительную проблему в квадратичную арифметическую программу (QAP). Этот метод использует криптографию эллиптической кривой и хэш-функции для построения эффективного доказательства. Последующие конструкции zk-SNARK обычно включают в себя четыре шага.
Чтобы проиллюстрировать это простым примером, предположим, у вас есть карта сокровищ, которая может направить вас к точному местоположению зарытого сокровища. Вы хотите доказать кому-то, что знаете местоположение сокровищ, но не хотите раскрывать содержание карты сокровищ или фактическое местоположение сокровищ. Если вы используете технологию zk-SNARK, вам нужно создать сложную головоломку на основе карты сокровищ. Вы выбираете небольшой кусочек ключевой головоломки (доказательство) и показываете его другому человеку, убеждая его, что знаете, как весь пазл, т.е. местоположение сокровищ, собирается без раскрытия всей головоломки. Однако для этого вам нужно получить некоторые особые отметки у доверенной типографии, которые используются для подтверждения подлинности вашего кусочка головоломки.
В предыдущем обсуждении упоминалось, что zk-SNARK позволяет устанавливать общую строку ссылки, что означает, что ограничения могут быть установлены на работающем контуре. Возьмем резерв Gate.io в качестве примера, он устанавливает пять основных ограничений в цепи, как показано ниже:
① Перед вставкой чистых активов пользователя в дерево Меркла узел, соответствующий идентификатору пользователя, пуст.
② Рассчитайте общие активы/обязательства пользователя на основе списка активов пользователя и цены каждого актива. Общие активы должны быть больше общих обязательств.
③ Добавьте активы/обязательства пользователя к активам/обязательствам биржи.
④ Рассчитайте хэш состояния пользователя, используя идентификатор пользователя, общие активы/обязательства и список активов. Вставьте состояние пользователя в дерево Меркля, чтобы получить новый корень Меркля.
⑤ Значение хэша корневого узла дерева до того, как предыдущий пользователь создаст пользовательскую операцию, должно быть равно значению хэша после того, как последующий пользователь создаст пользовательскую операцию.
(Операция ① может избежать фальсификации узловых данных, операция ② может избежать отрицательных балансов на счетах, а операция ⑤ может гарантировать, что данные пользователя не изменяются до и после операции.)
Это обеспечивает разрешение проблемы отрицательного баланса. Данные биржи должны проходить через схему для автоматической проверки ограничений и получения числа активов. Однако для этого решения требуется определенная вычислительная мощность и аппаратные условия. Для вычисления подтверждения активов 10 миллионов пользователей на машине с 32 ядрами и 128 ГБ оперативной памяти требуется 15 дней. Вычисление подтверждения резервов можно параллельно. Если есть 10 машин, это займет всего 1,5 дня.
Установив соответствующие ограничения, zk-SNARK может избежать возникновения проблем с отрицательными значениями и лучше защитить конфиденциальность и безопасность пользователей. Подтверждение резервов Gate.io теперь может доказать резервные коэффициенты для 100+ монет, и пользователи могут увидеть это, просто щелкнув ссылка. На следующем уроке мы проведем проверку безопасности вашего актива в течение 3 минут.
Доказательство Знания без Раскрытия (ZKP) - это криптографическая техника, впервые предложенная С. Голдвассером, С. Микали и К. Ракоффом в начале 1980-х годов в статье под названием «Сложность знаний интерактивных доказательствных системВ статье он был концептуализирован как теоретическая модель для решения проблемы верификации математических утверждений без раскрытия доказательств. Эта концепция привлекла широкое внимание в академических кругах, поскольку она ставит под сомнение границы традиционных криптографических техник и предоставляет новые методы обработки чувствительной информации.
С течением времени ZKP превратился из абстрактной теоретической концепции в конкретные протоколы, которые могут быть интегрированы в различные приложения. В 2010 году Грот опубликовал статью под названием “Краткие парные неинтерактивные доказательства нулевого знанияЗатем стал теоретическим этапом для zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), важного решения в ZKP. Самым важным прогрессом в применении доказательства нулевого знания стала система доказательства нулевого знания, использованная Z-cash в 2015 году, обеспечивающая конфиденциальную защиту для транзакций и сумм. Впоследствии zk-SNARK был объединен с умными контрактами, расширяя свое применение на более широкий спектр сценариев применения.
Традиционный ZKP придерживается трёх принципов:
Принцип ZKP можно понять на простом примере: Если мне нужно доказать A, что у меня есть номер телефона B, мне не нужно напрямую раскрывать номер телефона B. Вместо этого я могу напрямую набрать номер телефона B и доказать, что у меня есть номер B после того, как дозвонюсь. Этот процесс не приведет к утечке номера телефона B.
zk-SNARK дополняет эти принципы следующими характеристиками:
В статье Грота он предложил метод невзаимодействующего доказательства нулевого знания на основе пар, чтобы преобразовать вычислительную проблему в квадратичную арифметическую программу (QAP). Этот метод использует криптографию эллиптической кривой и хэш-функции для построения эффективного доказательства. Последующие конструкции zk-SNARK обычно включают в себя четыре шага.
Чтобы проиллюстрировать это простым примером, предположим, у вас есть карта сокровищ, которая может направить вас к точному местоположению зарытого сокровища. Вы хотите доказать кому-то, что знаете местоположение сокровищ, но не хотите раскрывать содержание карты сокровищ или фактическое местоположение сокровищ. Если вы используете технологию zk-SNARK, вам нужно создать сложную головоломку на основе карты сокровищ. Вы выбираете небольшой кусочек ключевой головоломки (доказательство) и показываете его другому человеку, убеждая его, что знаете, как весь пазл, т.е. местоположение сокровищ, собирается без раскрытия всей головоломки. Однако для этого вам нужно получить некоторые особые отметки у доверенной типографии, которые используются для подтверждения подлинности вашего кусочка головоломки.
В предыдущем обсуждении упоминалось, что zk-SNARK позволяет устанавливать общую строку ссылки, что означает, что ограничения могут быть установлены на работающем контуре. Возьмем резерв Gate.io в качестве примера, он устанавливает пять основных ограничений в цепи, как показано ниже:
① Перед вставкой чистых активов пользователя в дерево Меркла узел, соответствующий идентификатору пользователя, пуст.
② Рассчитайте общие активы/обязательства пользователя на основе списка активов пользователя и цены каждого актива. Общие активы должны быть больше общих обязательств.
③ Добавьте активы/обязательства пользователя к активам/обязательствам биржи.
④ Рассчитайте хэш состояния пользователя, используя идентификатор пользователя, общие активы/обязательства и список активов. Вставьте состояние пользователя в дерево Меркля, чтобы получить новый корень Меркля.
⑤ Значение хэша корневого узла дерева до того, как предыдущий пользователь создаст пользовательскую операцию, должно быть равно значению хэша после того, как последующий пользователь создаст пользовательскую операцию.
(Операция ① может избежать фальсификации узловых данных, операция ② может избежать отрицательных балансов на счетах, а операция ⑤ может гарантировать, что данные пользователя не изменяются до и после операции.)
Это обеспечивает разрешение проблемы отрицательного баланса. Данные биржи должны проходить через схему для автоматической проверки ограничений и получения числа активов. Однако для этого решения требуется определенная вычислительная мощность и аппаратные условия. Для вычисления подтверждения активов 10 миллионов пользователей на машине с 32 ядрами и 128 ГБ оперативной памяти требуется 15 дней. Вычисление подтверждения резервов можно параллельно. Если есть 10 машин, это займет всего 1,5 дня.
Установив соответствующие ограничения, zk-SNARK может избежать возникновения проблем с отрицательными значениями и лучше защитить конфиденциальность и безопасность пользователей. Подтверждение резервов Gate.io теперь может доказать резервные коэффициенты для 100+ монет, и пользователи могут увидеть это, просто щелкнув ссылка. На следующем уроке мы проведем проверку безопасности вашего актива в течение 3 минут.