
Введение
Термин «нулевое знание» стал очень популярным в сфере блокчейна, особенно когда речь идет о ZK-роллапах. Идея нулевого знания появилась еще до блокчейна, а первые исследования были опубликованы в 1989 году.
Это исследование углубляется в истинное значение нулевого знания, оценивает, действительно ли ZK-rollups обладают характеристиками нулевого знания, и исследует связь между этой технологией и конфиденциальностью.
Понимание принципов нулевого разглашения
Технология с нулевым разглашением появилась задолго до создания первой блокчейна. В революционной статье «Сложность знаний интерактивных систем доказательств» эти идеи были представлены в 1989 году, задолго до того, как сообщество Ethereum признало важность ZK для решений rollup примерно в 2018 году.
Чтобы понять нулевое знание, нужно различать разные типы доказательств и их уникальные особенности.
Идея нулевого разглашения информации — это особенность систем доказательств. В разговорах о блокчейне часто упоминают ZKPs, или доказательства с нулевым разглашением информации, но этот термин может означать как доказательство утверждения, так и доказательство знания, и у каждого из них есть свои функции и особенности.
Проверка утверждений против проверки понимания
Доказательство утверждения показывает, что утверждение верно, не раскрывая никаких подробностей о самом утверждении. Примеры включают:
- показывайте, что число является квадратом по модулю n
- эти два графа не изоморфны
- что большое число имеет ровно три простых делителя
Доказательство знаний, с другой стороны, показывает, что человек, который что-то утверждает, действительно разбирается в этом вопросе. Если взять аналогичные примеры, это будет означать:
- покажите, что знаете, что значение x равно z, умноженному на себя и деленному на n
- понимать изоморфизм между двумя графами
- иметь реальные факторы значительного количества
Каждое проявление знаний по сути является подтверждением утверждения, но наоборот это не всегда так. Когда человек показывает, что знает значение x, которое соответствует математическому соотношению, это по сути подтверждает существование этого соотношения, объединяя обе формы доказательства в одну иллюстрацию.
Изоморфизм графов как пример из реальной жизни
Проблема изоморфизма графов — отличный пример этих идей. Два графа изоморфны, если они в основном одинаковы, за исключением перестановки их меток. Между вершинами должна быть установлена биективная функция, чтобы ребра присутствовали между вершинами в одном графе тогда и только тогда, когда соответствующие ребра присутствуют в другом графе.
Чтобы доказать утверждение через неизоморфизм графов, нужно выбрать случайную перестановку и один из двух графов, а потом вычислить переставленный вариант. Если бы графы были действительно изоморфными, то определить исходный граф было бы невозможно, и точность снизилась бы до случайного совпадения с вероятностью 50 процентов.
Чтобы доказать знания через изоморфизм графов, проверяющий показывает, что два графа похожи. Протокол использует случайные перестановки и задачи, чтобы подтвердить эти знания, не раскрывая фактический изоморфизм, сохраняя конфиденциальность и демонстрируя способности.
Каждое доказательство знаний — это также доказательство утверждения, но не наоборот.
Атрибут нулевого разглашения
Нулевое знание означает, что проверяющий не может получить от доказывающего никакой дополнительной информации, кроме той, которая раскрывается в самом доказательстве. В случае изоморфизма графа доказательство знания сохраняет атрибуты нулевого знания с честными проверяющими, поскольку доказывающий передает только обязательства, не раскрывая подробности изоморфизма или перестановки.
Тем не менее, доказательства неизоморфности графов не обладают атрибутами нулевого разглашения, поскольку злоумышленники могут получить дополнительную информацию, не следуя протоколу. Они могут представить произвольные графы и определить связи с исходными графами посредством выполнения протокола.
Преобразование доказательств с не нулевым разглашением в доказательства с нулевым разглашением можно сделать, если верификаторы покажут, что они следуют правилам протокола. Большинство практических протоколов в основном обеспечивают честное верификационное нулевое разглашение, которое подходит для неинтерактивных приложений с помощью таких методов, как эвристика Fiat-Shamir.
ZK-Rollups и их настоящие особенности
ZK-rollups работают как проблема неизоморфизма графа, проверяя утверждения о действительных переходах состояний, а не показывая знания. Эти системы выполняют транзакции вне цепочки и предоставляют доказательства сетям Layer 1, таким как Ethereum, подтверждая, что вычисления вне цепочки были выполнены точно.
Проверяющие должны иметь доступ к:
- корректура
- новые состояния
- предыдущие состояния
- вводите значения
Эта ясность противоречит настоящим характеристикам нулевого разглашения.
Публичные и частные входы
ZK-rollups разделяют публичные и частные входы, хотя «частный» в этом контексте не означает конфиденциальность. Частные входы используются только доказывающими сторонами при создании доказательств, а публичные входы используются и доказывающими, и проверяющими сторонами.
Публичные входы нужно отправлять на Layer 1, что стоит дорого и требует краткости.
Публичные входы обычно состоят из:
- указывайте корни
- подписи
- адреса
- параметры функций
- информация о контракте
- изменения в хранилище
- поднятые события
Это раскрывает важные детали для публичных зрителей. Частные входы включают доказательства членства Merkle и следы выполнения, необходимые для проверки правильности.
Структура сводки требует, чтобы проверяющие знали предыдущие состояния и входные значения, чтобы создать доказательства достоверности.
Типы ввода в ZK-Rollups
| Тип ввода | Используется | Содержит | Стоимость |
|---|---|---|---|
| Публично | Проверяющие и верификаторы | Указывайте корни, подписи, адреса | Высокий (отправлено в L1) |
| Частное | Только для проверяющих | Доказательства Меркла, трассировки выполнения | Низкий (остается вне цепочки) |
Правда о конфиденциальности в ZK-Rollups
Стандартные ZK-роллапы не обеспечивают никакой защиты конфиденциальности. Когда Алиса отправляет один ETH Бобу через ZK-роллап, детали транзакции доступны как доказывающему, так и проверяющему.
Система показывает, что транзакции действительны, как доказательство заявления без нулевого знания, так как все данные остаются общедоступными или доступными.
Эти системы больше на масштабируемости через быструю проверку, а не на защите конфиденциальности.
Маркетинг против реальности
Метка «ZK» в ZK-rollups в основном используется для маркетинга, а не для обозначения настоящих функций нулевого разглашения.
Настоящая конфиденциальность благодаря проверке на стороне клиента
Настоящая конфиденциальность требует разных архитектурных методов, как видно на примере систем, которые обрабатывают личные данные на устройствах пользователей перед созданием доказательств для отправки в сеть. Такое создание доказательств на стороне клиента позволяет получать настоящие доказательства с нулевым разглашением, благодаря чему операторы сети могут подтверждать достоверность доказательств без необходимости доступа к деталям выполнения.
Системы, ориентированные на конфиденциальность, обрабатывают транзакции незаметно на устройствах пользователей, генерируя результаты, которые скрывают побочные эффекты, такие как хэши записей и нуллификаторы. Эти компоненты объединяются в глобальное состояние, сохраняя конфиденциальность информации и раскрывая ее только тем, кто участвует в транзакции, и назначенным получателям.
Эти системы создают на стороне клиента доказательства с нулевым разглашением для конфиденциальных действий, а потом генерируют доказательства блоков, похожие на традиционные роллапы для соглашения сети. Этот двухуровневый метод обеспечивает как конфиденциальность, так и масштабируемость.
Создание конфиденциальности с нуля
В нынешние прозрачные системы нельзя добавить конфиденциальность. В системах, ориентированных на конфиденциальность, эти факторы должны быть встроены с самого начала, что требует:
- четко определите понятия конфиденциальности
- аккуратно формулируйте заявления, чтобы не просочилась лишняя информация
Сложные системы конфиденциальности должны управлять гибридным публично-частным состоянием, позволяя приложениям сохранять определенные частные компоненты, а другие делать публичными для внешнего взаимодействия. Эта сложность облегчает работу таких продвинутых приложений, как:
- программируемое управление идентификацией
- частные DeFi опции
Эти системы означают серьезные архитектурные улучшения, а не просто постепенные усовершенствования нынешних прозрачных сетей.
Сейчас есть не так много настоящих решений второго уровня, которые заботятся о конфиденциальности и позволяют обрабатывать данные на стороне клиента, чтобы действительно защитить конфиденциальность.
Практическое применение и будущие тенденции
Сети, которые заботятся о конфиденциальности, дают классные возможности для финансовой конфиденциальности и участия организаций. Пользователи могут:
- работайте с протоколами DeFi, но держите свои стратегии в секрете
- помогайте анонимно
- участвуйте в управлении через закрытое голосование
- показывайте, что всё законно, но не обязательно быть полностью прозрачным
Разработка межсетевых мостов связывает сети конфиденциальности с текущими экосистемами, обеспечивая частный доступ к существующим пулам ликвидности и приложениям. Вместо того, чтобы разбивать ликвидность, эти мосты улучшают существующую финансовую инфраструктуру с помощью уровней конфиденциальности.
Будущее частного DeFi
Переход к частной DeFi — это серьезное изменение в приоритетах архитектуры блокчейна. Пользователям больше не нужно выбирать между конфиденциальностью и доступом к протоколам; вместо этого они получают конфиденциальность как дополнительную функцию для любого приложения, что позволяет им сохранять доступ к текущей ликвидности и сообществам, одновременно защищая конфиденциальные данные.
Этот технологический прогресс требует тщательного внимания к следующим моментам:
- детали реализации
- дизайн пользовательского опыта
- соблюдайте нормативные стандарты, сохраняя при этом необходимые меры защиты конфиденциальности
Эти моменты делают такие системы удобными как для личного использования, так и для внедрения в организациях.


