Zero-Knowledge Proof (ZKP) - это криптографическая технология, впервые представленная в статье под названием "The Knowledge Complexity Of Interactive Proof Systems" ("Сложность знаний интерактивных систем доказательства") в начале 1980-х годов С.Голдвассером, С.Микали и К.Рэкоффом. Изначально задуманная как теоретическая модель, она была направлена на решение проблемы проверки математических утверждений без раскрытия доказательств. Эта концепция привлекла широкое внимание в академическом мире, поскольку она бросает вызов границам традиционных методов шифрования и предлагает новый подход к работе с конфиденциальной информацией.
Со временем ZKP превратился из абстрактной теоретической концепции в конкретные протоколы, которые можно интегрировать в различные приложения. В начале 21-го века, с бурным ростом Интернета и цифровых коммуникаций, потенциал ZKP начали исследовать в реальном мире. Особенно с появлением блокчейна и криптовалют ZKP продемонстрировала свою способность повышать уровень конфиденциальности и безопасности, сохраняя при этом эффективность транзакций и обработки данных.
Сегодня ZKP не только является актуальной темой в криптографических исследованиях, но и интегрирована в многочисленные блокчейн-платформы и приложения. Например, приложение zk-SNARKs на Ethereum Layer2 предлагает анонимные транзакции без раскрытия деталей сделки. Этот переход от теории к практическому применению не только доказывает практическую ценность ZKP, но и стимулирует поиск более эффективных и безопасных цифровых взаимодействий. С постоянным развитием технологий ZKP играет все более важную роль в защите личной жизни, обеспечении безопасности данных и создании надежных цифровых систем.
Zero-Knowledge Proof (ZKP) - это метод шифрования, который позволяет одной стороне (проверяющему) доказать правильность утверждения другой стороне (проверяемому), не раскрывая никакой дополнительной информации, т.е. не раскрывая никаких знаний, от которых зависит правильность утверждения. Этот процесс не только защищает конфиденциальность проверяющего, но и гарантирует, что проверяющий не сможет воспроизвести процесс доказательства или использовать его для получения дополнительной информации.
Концептуальная диаграмма доказательств нулевого знания (Источник: ChainLink)
Основные принципы доказательств с нулевым знанием (ZKP) могут быть определены следующими тремя признаками:
Принцип ZKP часто можно понять на простых примерах: Если мне нужно доказать человеку А, что у меня есть номер телефона человека Б, мне не нужно напрямую сообщать номер Б человеку А. Вместо этого я могу доказать это, позвонив на номер Б. Как только звонок соединяется, он демонстрирует, что я действительно обладаю номером B, не раскрывая при этом никакой информации о самом номере.
В практических приложениях ZKP обычно требует сложных математических конструкций, таких как полиномиальные уравнения, эллиптические кривые или другие математические задачи. Безопасность этих конструкций основана на вычислительной сложности таких задач, как факторизация или дискретные логарифмы. С развитием криптографии появились различные реализации ZKP, такие как zk-SNARK и zk-STARK, предлагающие эффективную защиту конфиденциальности в различных контекстах, особенно в области блокчейна и криптовалют.
Основная форма доказательства с нулевым знанием состоит из трех элементов: свидетельство, вызов и ответ.
Свидетель: В доказательстве с нулевым знанием доказывающий хочет продемонстрировать знание некоторой скрытой информации. Эта секретная информация выступает в качестве "свидетеля" доказательства. Проверяющий, основываясь на своих знаниях о свидетеле, задает ряд вопросов, на которые может ответить только тот, кто владеет информацией. Таким образом, проверяющий случайным образом выбирает вопрос для начала доказательства, вычисляет ответ, а затем отправляет его проверяющему.
Вызов: проверяющий случайным образом выбирает другой вопрос из набора и просит доказуемого ответить на него.
Ответ: Проверяющий получает вопрос, вычисляет ответ и отправляет его обратно проверяющему. Ответ проверяющего позволяет ему проверить, действительно ли у проверяющего есть доступ к свидетелю. Чтобы убедиться, что проверяющий не просто случайно угадал правильно, верификатор выбирает другой вопрос для проверки. Повторяя этот процесс несколько раз, вероятность того, что проверяющий сфабрикует истину, значительно уменьшается, пока проверяющий не будет удовлетворен.
В вышеупомянутом примере с телефонным звонком "я" - свидетель, не желающий раскрывать информацию, а А - проверяющий, и поставленная задача звучит так: "Докажите, что "я" обладаю номером Б". В процессе ответа "я" подключаю звонок на номер Б, чтобы доказать, что он действительно у меня.
Как уже говорилось ранее, доказательства с нулевым знанием (ZKP) по своей сути предлагают значительные преимущества в области защиты конфиденциальности. В современную эпоху информационной перегрузки личные данные часто хранятся на сторонних платформах, что увеличивает риск утечки информации. Более того, из-за технических барьеров и запаздывания правовых санкций информационная безопасность в значительной степени зависит от этических ограничений, что затрудняет пользователям реальный контроль над их частной информацией. Появление технологии ZKP обеспечивает решение, которое одновременно защищает конфиденциальность и повышает эффективность и безопасность проверки.
По сравнению с другими технологиями шифрования, ZKP имеет множество преимуществ:
Будь то традиционный Web 2.0 или зарождающийся Web 3.0, перспективы применения ZKP весьма обширны.
Существует множество реализаций доказательств с нулевым знанием, таких как zk-SNARKs, zk-STARKs, PLONK и Bulletproofs. Каждый тип имеет свои преимущества и недостатки с точки зрения объема доказательства, времени работы провера и времени проверки. Эта статья посвящена знакомству с четырьмя типами, которые чаще всего используются в сценариях применения.
zk-SNARK, что означает "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge", - это криптографические инструменты, используемые для доказательства того, что кто-то знает часть информации, не раскрывая саму информацию. В zk-SNARK "нулевое знание" означает, что проверяющий может доказать истинность утверждения, не предоставляя никакой информации, кроме его правильности. "Лаконичность" означает небольшой размер доказательства и скорость процесса проверки. "Неинтерактивный" означает, что после создания доказательства оно может быть проверено любым человеком без дальнейшего взаимодействия между проверяющим и проверяемым. Основные компоненты zk-SNARKs включают в себя:
zk-SNARK используются в различных сценариях сохранения конфиденциальности, таких как криптовалюты с анонимными транзакциями, безопасные системы голосования, аутентификация и обмен данными с сохранением конфиденциальности, а также технологии масштабируемости блокчейна.
zk-STARK, или "Zero-Knowledge Scalable Transparent Arguments of Knowledge", позволяют одной стороне (проверяющему) доказать другой (проверяемому), что она знает определенную информацию, не раскрывая саму информацию. В отличие от zk-SNARK, zk-STARK не требуют доверенного процесса установки. Это означает, что они не полагаются на конфиденциальность определенной частной информации - свойство, которое часто считается решающим для безопасности, поскольку доверенная установка может стать системной уязвимостью.
Работа zk-STARK основана на концепциях из нескольких математических областей, включая хэш-функции, полиномиальные вычисления и теорию коррекции ошибок. Они используют конструкцию, известную как "прозрачный аргумент с нулевым знанием", позволяющую создавать доказательства без доверенной установки. Потенциальные области применения zk-STARK аналогичны zk-SNARK, но благодаря своей масштабируемости и прозрачности они особенно подходят для крупномасштабных приложений, включая криптовалюты с сохранением конфиденциальности, технологии масштабируемости блокчейна и безопасную верификацию в облачных вычислениях.
PLONK, не являясь аббревиатурой, обозначает фамилии своих создателей. Он разработан, чтобы обеспечить универсальное и эффективное решение ZKP, особенно в таких блокчейн-приложениях, как смарт-контракты и транзакции с защитой конфиденциальности. Суть PLONK заключается в использовании техники "гомоморфного сокрытия", позволяющей выполнять арифметические операции над данными без раскрытия исходных данных. Он использует специальный алгоритм - полиномиальную схему обязательств - для создания доказательств, позволяя проверяющим эффективно доказывать, что они имеют правильные результаты вычислений для набора данных.
Одной из ключевых особенностей PLONK является его универсальность. Как только параметры заданы для конкретной вычислительной задачи (с помощью одноразовой доверенной настройки), их можно использовать многократно для создания новых доказательств, не требуя каждый раз новых настроек. Это делает PLONK очень эффективным в создании и проверке доказательств, и он часто разрабатывается для поддержки различных вычислительных задач в блокчейне и других распределенных системах.
Пуленепробиваемые доказательства, недавно появившееся решение ZKP, не требуют доверенной установки и специально разработаны для построения доказательств диапазона и некоторых типов арифметических доказательств. Предложенные Бенедиктом Бунцем, Джонатаном Бутлом, Дэном Боне и другими в 2017 году, пуленепробиваемые устройства работают на сложных математических конструкциях, таких как гомоморфное шифрование и криптография на эллиптических кривых. Они используют ряд математических приемов, позволяющих доказывающим создать эффективное доказательство диапазона для числа, не раскрывая его точного значения. Особенно в сфере криптовалют это может быть использовано для доказательства того, что стоимость транзакций находится в законном диапазоне, без раскрытия реальных сумм транзакций.
Благодаря своей способности защищать от ударов пули широко используются в криптовалюте и блокчейне, особенно в таких монетах конфиденциальности, как Monero, для сокрытия сумм транзакций при проверке их законности. Кроме того, их можно использовать и в других приложениях, где требуется конфиденциальность чисел.
Давайте лучше поймем эти четыре различные технологии доказательства нулевых знаний (ZKP) - zk-SNARKs, zk-STARKs, PLONK и Bulletproofs - с помощью аналогии с картой сокровищ.
Представьте, что у Вас есть карта сокровищ, которая ведет к точному местонахождению зарытого клада. Вы хотите доказать кому-то, что знаете, где находится сокровище, не раскрывая содержимого карты или фактического местонахождения сокровищ.
zk-SNARKs: Вы создаете сложный пазл из карты сокровищ. Вы выбираете небольшой, ключевой фрагмент головоломки (доказательство) и показываете его другой стороне, чтобы убедить ее в том, что Вы знаете, как собрать полную головоломку, т.е. местонахождение сокровищ, не раскрывая всей головоломки. Однако для этого Вам понадобятся специальные маркеры из надежной типографии, чтобы доказать, что Ваша головоломка подлинная.
zk-STARKs: Вы показываете часть карты сокровищ другой стороне и говорите, что они могут использовать специальное увеличительное стекло (алгоритм проверки) для случайной проверки деталей карты, чтобы убедиться, что она действительно указывает на сокровища, без необходимости знать точное местоположение сокровищ. Это увеличительное стекло настолько мощное, что даже технологии будущего (квантовые компьютеры) не смогут разгадать секрет Вашей карты сокровищ.
ПЛОНКА: На этот раз Вы создаете набор загадок, каждая из которых указывает на местонахождение сокровищ. Вы представляете другой стороне универсальный метод проверки решений этих загадок (универсальную установку), достаточный для того, чтобы они поверили, что Вы знаете все ответы, без необходимости решать каждую загадку по отдельности.
Пуленепробиваемые: Вы решаете доказать, что знаете примерный диапазон местонахождения сокровища, не раскрывая его точного положения. Вы предоставляете серию решений математических задач, которые демонстрируют диапазон местонахождения сокровищ. Ваш метод не требует специальных маркеров или технологий печати, а значит, не требует первоначального доверия.
В этой аналогии:
Каждый метод имеет свои компромиссы в практическом применении, и выбор зависит от конкретного сценария применения и потребностей в безопасности.
Прежде чем сравнивать, нам нужно понять критерии оценки ZKP:
Теперь давайте сравним zk-SNARKs, zk-STARKs, PLONK и Bulletproofs на основе этих показателей и обсудим их плюсы и минусы.
Плюсы
Cons
Плюсы
Cons
Плюсы
Cons
Плюсы
Cons
В Web3 существует множество примеров применения ZKP, и мы выбрали два типичных случая для изучения.
zk-Rollups - это решение второго уровня, которое объединяет сотни или тысячи транзакций вне цепи и генерирует доказательство zk-SNARK. Это доказательство вместе с данными о транзакции передается в главную цепочку Ethereum. Она позволяет подтверждать транзакции без обработки каждой транзакции основной цепочкой, тем самым снижая комиссионные сборы и увеличивая пропускную способность. Компании zk-Sync Era и Starknet используют технологию zk-rollup, а компания Polygon недавно представила Polygon zk-EVM с использованием zk-rollup.
Демонстрация применения zk-SNARKs на уровне 2 (Источник: Саймон Браун)
Подтверждение резервов биржи относится к проверке остатков, хранящихся на криптовалютных биржах или в других финансовых учреждениях, гарантируя, что зарегистрированные активы соответствуют реально хранящимся. Первоначально биржи использовали деревья Меркле и сторонние аудиторские фирмы для такой проверки, но этот процесс зависел от третьих лиц и мог привести к утечке частных данных пользователей, таких как остатки на счетах. Такие биржи, как Gate.io, теперь используют технологию zk-SNARK для резервных доказательств, шифруют данные пользователей и получают номера активов пользователей через схемы zk-SNARK, тем самым выпуская полные отчеты о резервных доказательствах.
Разнообразные решения технологии доказательства нулевой осведомленности подчеркивают ее мощный потенциал в Web3. От защиты конфиденциальности данных до масштабирования блокчейна - ZKP играет важную роль в создании безопасной и эффективной инфраструктуры Web3. Хотя у разных подходов есть свои преимущества и недостатки, все они в совокупности указывают на более надежное и защищенное от посторонних глаз цифровое будущее. По мере развития технологий проблемы оптимизации производительности и безопасности с помощью ZKP будут постепенно преодолеваться, что свидетельствует о его все более значительной роли в цифровом мире.
Zero-Knowledge Proof (ZKP) - это криптографическая технология, впервые представленная в статье под названием "The Knowledge Complexity Of Interactive Proof Systems" ("Сложность знаний интерактивных систем доказательства") в начале 1980-х годов С.Голдвассером, С.Микали и К.Рэкоффом. Изначально задуманная как теоретическая модель, она была направлена на решение проблемы проверки математических утверждений без раскрытия доказательств. Эта концепция привлекла широкое внимание в академическом мире, поскольку она бросает вызов границам традиционных методов шифрования и предлагает новый подход к работе с конфиденциальной информацией.
Со временем ZKP превратился из абстрактной теоретической концепции в конкретные протоколы, которые можно интегрировать в различные приложения. В начале 21-го века, с бурным ростом Интернета и цифровых коммуникаций, потенциал ZKP начали исследовать в реальном мире. Особенно с появлением блокчейна и криптовалют ZKP продемонстрировала свою способность повышать уровень конфиденциальности и безопасности, сохраняя при этом эффективность транзакций и обработки данных.
Сегодня ZKP не только является актуальной темой в криптографических исследованиях, но и интегрирована в многочисленные блокчейн-платформы и приложения. Например, приложение zk-SNARKs на Ethereum Layer2 предлагает анонимные транзакции без раскрытия деталей сделки. Этот переход от теории к практическому применению не только доказывает практическую ценность ZKP, но и стимулирует поиск более эффективных и безопасных цифровых взаимодействий. С постоянным развитием технологий ZKP играет все более важную роль в защите личной жизни, обеспечении безопасности данных и создании надежных цифровых систем.
Zero-Knowledge Proof (ZKP) - это метод шифрования, который позволяет одной стороне (проверяющему) доказать правильность утверждения другой стороне (проверяемому), не раскрывая никакой дополнительной информации, т.е. не раскрывая никаких знаний, от которых зависит правильность утверждения. Этот процесс не только защищает конфиденциальность проверяющего, но и гарантирует, что проверяющий не сможет воспроизвести процесс доказательства или использовать его для получения дополнительной информации.
Концептуальная диаграмма доказательств нулевого знания (Источник: ChainLink)
Основные принципы доказательств с нулевым знанием (ZKP) могут быть определены следующими тремя признаками:
Принцип ZKP часто можно понять на простых примерах: Если мне нужно доказать человеку А, что у меня есть номер телефона человека Б, мне не нужно напрямую сообщать номер Б человеку А. Вместо этого я могу доказать это, позвонив на номер Б. Как только звонок соединяется, он демонстрирует, что я действительно обладаю номером B, не раскрывая при этом никакой информации о самом номере.
В практических приложениях ZKP обычно требует сложных математических конструкций, таких как полиномиальные уравнения, эллиптические кривые или другие математические задачи. Безопасность этих конструкций основана на вычислительной сложности таких задач, как факторизация или дискретные логарифмы. С развитием криптографии появились различные реализации ZKP, такие как zk-SNARK и zk-STARK, предлагающие эффективную защиту конфиденциальности в различных контекстах, особенно в области блокчейна и криптовалют.
Основная форма доказательства с нулевым знанием состоит из трех элементов: свидетельство, вызов и ответ.
Свидетель: В доказательстве с нулевым знанием доказывающий хочет продемонстрировать знание некоторой скрытой информации. Эта секретная информация выступает в качестве "свидетеля" доказательства. Проверяющий, основываясь на своих знаниях о свидетеле, задает ряд вопросов, на которые может ответить только тот, кто владеет информацией. Таким образом, проверяющий случайным образом выбирает вопрос для начала доказательства, вычисляет ответ, а затем отправляет его проверяющему.
Вызов: проверяющий случайным образом выбирает другой вопрос из набора и просит доказуемого ответить на него.
Ответ: Проверяющий получает вопрос, вычисляет ответ и отправляет его обратно проверяющему. Ответ проверяющего позволяет ему проверить, действительно ли у проверяющего есть доступ к свидетелю. Чтобы убедиться, что проверяющий не просто случайно угадал правильно, верификатор выбирает другой вопрос для проверки. Повторяя этот процесс несколько раз, вероятность того, что проверяющий сфабрикует истину, значительно уменьшается, пока проверяющий не будет удовлетворен.
В вышеупомянутом примере с телефонным звонком "я" - свидетель, не желающий раскрывать информацию, а А - проверяющий, и поставленная задача звучит так: "Докажите, что "я" обладаю номером Б". В процессе ответа "я" подключаю звонок на номер Б, чтобы доказать, что он действительно у меня.
Как уже говорилось ранее, доказательства с нулевым знанием (ZKP) по своей сути предлагают значительные преимущества в области защиты конфиденциальности. В современную эпоху информационной перегрузки личные данные часто хранятся на сторонних платформах, что увеличивает риск утечки информации. Более того, из-за технических барьеров и запаздывания правовых санкций информационная безопасность в значительной степени зависит от этических ограничений, что затрудняет пользователям реальный контроль над их частной информацией. Появление технологии ZKP обеспечивает решение, которое одновременно защищает конфиденциальность и повышает эффективность и безопасность проверки.
По сравнению с другими технологиями шифрования, ZKP имеет множество преимуществ:
Будь то традиционный Web 2.0 или зарождающийся Web 3.0, перспективы применения ZKP весьма обширны.
Существует множество реализаций доказательств с нулевым знанием, таких как zk-SNARKs, zk-STARKs, PLONK и Bulletproofs. Каждый тип имеет свои преимущества и недостатки с точки зрения объема доказательства, времени работы провера и времени проверки. Эта статья посвящена знакомству с четырьмя типами, которые чаще всего используются в сценариях применения.
zk-SNARK, что означает "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge", - это криптографические инструменты, используемые для доказательства того, что кто-то знает часть информации, не раскрывая саму информацию. В zk-SNARK "нулевое знание" означает, что проверяющий может доказать истинность утверждения, не предоставляя никакой информации, кроме его правильности. "Лаконичность" означает небольшой размер доказательства и скорость процесса проверки. "Неинтерактивный" означает, что после создания доказательства оно может быть проверено любым человеком без дальнейшего взаимодействия между проверяющим и проверяемым. Основные компоненты zk-SNARKs включают в себя:
zk-SNARK используются в различных сценариях сохранения конфиденциальности, таких как криптовалюты с анонимными транзакциями, безопасные системы голосования, аутентификация и обмен данными с сохранением конфиденциальности, а также технологии масштабируемости блокчейна.
zk-STARK, или "Zero-Knowledge Scalable Transparent Arguments of Knowledge", позволяют одной стороне (проверяющему) доказать другой (проверяемому), что она знает определенную информацию, не раскрывая саму информацию. В отличие от zk-SNARK, zk-STARK не требуют доверенного процесса установки. Это означает, что они не полагаются на конфиденциальность определенной частной информации - свойство, которое часто считается решающим для безопасности, поскольку доверенная установка может стать системной уязвимостью.
Работа zk-STARK основана на концепциях из нескольких математических областей, включая хэш-функции, полиномиальные вычисления и теорию коррекции ошибок. Они используют конструкцию, известную как "прозрачный аргумент с нулевым знанием", позволяющую создавать доказательства без доверенной установки. Потенциальные области применения zk-STARK аналогичны zk-SNARK, но благодаря своей масштабируемости и прозрачности они особенно подходят для крупномасштабных приложений, включая криптовалюты с сохранением конфиденциальности, технологии масштабируемости блокчейна и безопасную верификацию в облачных вычислениях.
PLONK, не являясь аббревиатурой, обозначает фамилии своих создателей. Он разработан, чтобы обеспечить универсальное и эффективное решение ZKP, особенно в таких блокчейн-приложениях, как смарт-контракты и транзакции с защитой конфиденциальности. Суть PLONK заключается в использовании техники "гомоморфного сокрытия", позволяющей выполнять арифметические операции над данными без раскрытия исходных данных. Он использует специальный алгоритм - полиномиальную схему обязательств - для создания доказательств, позволяя проверяющим эффективно доказывать, что они имеют правильные результаты вычислений для набора данных.
Одной из ключевых особенностей PLONK является его универсальность. Как только параметры заданы для конкретной вычислительной задачи (с помощью одноразовой доверенной настройки), их можно использовать многократно для создания новых доказательств, не требуя каждый раз новых настроек. Это делает PLONK очень эффективным в создании и проверке доказательств, и он часто разрабатывается для поддержки различных вычислительных задач в блокчейне и других распределенных системах.
Пуленепробиваемые доказательства, недавно появившееся решение ZKP, не требуют доверенной установки и специально разработаны для построения доказательств диапазона и некоторых типов арифметических доказательств. Предложенные Бенедиктом Бунцем, Джонатаном Бутлом, Дэном Боне и другими в 2017 году, пуленепробиваемые устройства работают на сложных математических конструкциях, таких как гомоморфное шифрование и криптография на эллиптических кривых. Они используют ряд математических приемов, позволяющих доказывающим создать эффективное доказательство диапазона для числа, не раскрывая его точного значения. Особенно в сфере криптовалют это может быть использовано для доказательства того, что стоимость транзакций находится в законном диапазоне, без раскрытия реальных сумм транзакций.
Благодаря своей способности защищать от ударов пули широко используются в криптовалюте и блокчейне, особенно в таких монетах конфиденциальности, как Monero, для сокрытия сумм транзакций при проверке их законности. Кроме того, их можно использовать и в других приложениях, где требуется конфиденциальность чисел.
Давайте лучше поймем эти четыре различные технологии доказательства нулевых знаний (ZKP) - zk-SNARKs, zk-STARKs, PLONK и Bulletproofs - с помощью аналогии с картой сокровищ.
Представьте, что у Вас есть карта сокровищ, которая ведет к точному местонахождению зарытого клада. Вы хотите доказать кому-то, что знаете, где находится сокровище, не раскрывая содержимого карты или фактического местонахождения сокровищ.
zk-SNARKs: Вы создаете сложный пазл из карты сокровищ. Вы выбираете небольшой, ключевой фрагмент головоломки (доказательство) и показываете его другой стороне, чтобы убедить ее в том, что Вы знаете, как собрать полную головоломку, т.е. местонахождение сокровищ, не раскрывая всей головоломки. Однако для этого Вам понадобятся специальные маркеры из надежной типографии, чтобы доказать, что Ваша головоломка подлинная.
zk-STARKs: Вы показываете часть карты сокровищ другой стороне и говорите, что они могут использовать специальное увеличительное стекло (алгоритм проверки) для случайной проверки деталей карты, чтобы убедиться, что она действительно указывает на сокровища, без необходимости знать точное местоположение сокровищ. Это увеличительное стекло настолько мощное, что даже технологии будущего (квантовые компьютеры) не смогут разгадать секрет Вашей карты сокровищ.
ПЛОНКА: На этот раз Вы создаете набор загадок, каждая из которых указывает на местонахождение сокровищ. Вы представляете другой стороне универсальный метод проверки решений этих загадок (универсальную установку), достаточный для того, чтобы они поверили, что Вы знаете все ответы, без необходимости решать каждую загадку по отдельности.
Пуленепробиваемые: Вы решаете доказать, что знаете примерный диапазон местонахождения сокровища, не раскрывая его точного положения. Вы предоставляете серию решений математических задач, которые демонстрируют диапазон местонахождения сокровищ. Ваш метод не требует специальных маркеров или технологий печати, а значит, не требует первоначального доверия.
В этой аналогии:
Каждый метод имеет свои компромиссы в практическом применении, и выбор зависит от конкретного сценария применения и потребностей в безопасности.
Прежде чем сравнивать, нам нужно понять критерии оценки ZKP:
Теперь давайте сравним zk-SNARKs, zk-STARKs, PLONK и Bulletproofs на основе этих показателей и обсудим их плюсы и минусы.
Плюсы
Cons
Плюсы
Cons
Плюсы
Cons
Плюсы
Cons
В Web3 существует множество примеров применения ZKP, и мы выбрали два типичных случая для изучения.
zk-Rollups - это решение второго уровня, которое объединяет сотни или тысячи транзакций вне цепи и генерирует доказательство zk-SNARK. Это доказательство вместе с данными о транзакции передается в главную цепочку Ethereum. Она позволяет подтверждать транзакции без обработки каждой транзакции основной цепочкой, тем самым снижая комиссионные сборы и увеличивая пропускную способность. Компании zk-Sync Era и Starknet используют технологию zk-rollup, а компания Polygon недавно представила Polygon zk-EVM с использованием zk-rollup.
Демонстрация применения zk-SNARKs на уровне 2 (Источник: Саймон Браун)
Подтверждение резервов биржи относится к проверке остатков, хранящихся на криптовалютных биржах или в других финансовых учреждениях, гарантируя, что зарегистрированные активы соответствуют реально хранящимся. Первоначально биржи использовали деревья Меркле и сторонние аудиторские фирмы для такой проверки, но этот процесс зависел от третьих лиц и мог привести к утечке частных данных пользователей, таких как остатки на счетах. Такие биржи, как Gate.io, теперь используют технологию zk-SNARK для резервных доказательств, шифруют данные пользователей и получают номера активов пользователей через схемы zk-SNARK, тем самым выпуская полные отчеты о резервных доказательствах.
Разнообразные решения технологии доказательства нулевой осведомленности подчеркивают ее мощный потенциал в Web3. От защиты конфиденциальности данных до масштабирования блокчейна - ZKP играет важную роль в создании безопасной и эффективной инфраструктуры Web3. Хотя у разных подходов есть свои преимущества и недостатки, все они в совокупности указывают на более надежное и защищенное от посторонних глаз цифровое будущее. По мере развития технологий проблемы оптимизации производительности и безопасности с помощью ZKP будут постепенно преодолеваться, что свидетельствует о его все более значительной роли в цифровом мире.