Купить крипто
Рынки
Спот
ФьючерсыBTC
Сбережения
Центр событий
Хаб наград
Еще
Фестиваль с 0 комиссией
Proof of Knowledge: Что такое Proof of Knowledge в криптовалютах?Proof of Knowledge — это криптографическое доказательство, с помощью которого доказывающий убеждает проверяющего, что знает определенный секрет или свидетеProof of Knowledge: Что такое Proof of Knowledge в криптовалютах?Proof of Knowledge — это криптографическое доказательство, с помощью которого доказывающий убеждает проверяющего, что знает определенный секрет или свидете

Proof of Knowledge

2026/10/13 16:48
#Advanced
Humanity
H$0.05639+1.32%
PX
PX$0.0117-2.50%
ZKsync
ZK$0.014697-0.78%
DeFi
DEFI$0.0001738+10.48%
DAO Maker
DAO$0.0241+16.36%

Что такое Proof of Knowledge в криптовалютах?

Proof of Knowledge — это криптографическое доказательство, с помощью которого доказывающий убеждает проверяющего, что знает определенный секрет или свидетельство, не обязательно раскрывая его.

В криптовалютах Proof of Knowledge чаще всего рассматривается в контексте доказательств с нулевым разглашением, zk-SNARK, zk-STARK, систем идентификации, конфиденциальных транзакций, решений для подтверждения резервов и проверяемых вычислений.

Доказательство знания отличается от обычного доказательства, которое лишь показывает истинность утверждения.

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

В проекте NIST по доказательствам с нулевым разглашением объясняется, что часто полезно говорить о доказательстве знания с нулевым разглашением, когда истинность утверждения подтверждается демонстрацией знания секретной информации, также называемой свидетельством, которая соответствует публичным данным.

Проще говоря, Proof of Knowledge отвечает на вопрос: «Можете ли вы доказать, что знаете секрет, не раскрывая его?»

Это особенно полезно в криптовалютах: блокчейнам нужна проверка, а пользователям и приложениям часто требуется конфиденциальность.

Кошельку, протоколу или пользователю может потребоваться доказать знание приватного ключа, учетных данных, пароля, значения открытия обязательства, пути Меркла, секрета транзакции или свидетельства вычисления.

Proof of Knowledge позволяет сделать это, не раскрывая непосредственно конфиденциальные данные.

Это понятие — один из основных строительных блоков современных криптосистем, ориентированных на конфиденциальность и масштабируемость.

Как работает Proof of Knowledge

Система Proof of Knowledge обычно включает доказывающего, проверяющего, утверждение и свидетельство.

Доказывающий — сторона, заявляющая, что знает секретную информацию.

Проверяющий — сторона или смарт-контракт, который проверяет доказательство.

Утверждение — публичное заявление, истинность которого доказывается.

Свидетельство — конфиденциальная информация, которая делает утверждение истинным.

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

Свидетельством будет секретное значение, которое создает этот хеш.

Доказывающий создает доказательство на основе свидетельства и публичного утверждения.

Проверяющий проверяет доказательство и принимает его, если оно корректно.

Если система доказательств спроектирована правильно, проверяющий убеждается, что доказывающий знает свидетельство, не получая доступа к самому свидетельству.

Proof of Knowledge и доказательство с нулевым разглашением

Proof of Knowledge и доказательство с нулевым разглашением тесно связаны, но это не одно и то же.

Доказательство с нулевым разглашением сосредоточено на конфиденциальности.

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

В документации Ethereum о доказательствах с нулевым разглашением объясняется, что с их помощью можно доказать истинность утверждения, не раскрывая его содержание и не сообщая, как была установлена его истинность.

Доказательство знания сосредоточено на владении свидетельством.

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

Доказательство может быть доказательством знания, но не обладать свойством полного нулевого разглашения, если оно раскрывает лишнюю информацию.

Доказательство также может обладать свойством нулевого разглашения и одновременно подтверждать знание свидетельства.

Если присутствуют оба свойства, такое доказательство обычно называют доказательством знания с нулевым разглашением.

Именно на этой идее основаны многие системы zk-SNARK, используемые в криптовалютах.

Proof of Knowledge и Proof of Work

Proof of Knowledge не следует путать с Proof of Work.

Proof of Work — это механизм консенсуса, в котором майнеры расходуют вычислительные ресурсы для защиты блокчейна.

Proof of Knowledge — это понятие из криптографии, описывающее доказательство того, что доказывающий знает свидетельство.

Proof of Work отвечает на вопрос: «Потратили ли вы достаточно вычислительных ресурсов, чтобы создать этот допустимый блок?»

Proof of Knowledge отвечает на вопрос: «Знаете ли вы секретную информацию, которая делает это утверждение истинным?»

Обе концепции могут использовать криптографию, но решают разные задачи.

Proof of Work в первую очередь связан с консенсусом и устойчивостью к атакам Сивиллы.

Proof of Knowledge в первую очередь связан с проверяемым знанием, конфиденциальностью, аутентификацией и корректностью.

Блокчейн может использовать Proof of Work для консенсуса и одновременно применять Proof of Knowledge в построенных на нем приложениях.

Например, цепочка PoW может поддерживать доказательства с нулевым разглашением в инструментах конфиденциальности или системах доказательств.

Proof of Knowledge и Proof of Stake

Proof of Knowledge также отличается от Proof of Stake.

Proof of Stake — это механизм консенсуса, в котором валидаторы блокируют токены в качестве обеспечения, помогая защищать блокчейн.

Сам по себе Proof of Knowledge не требует стейкинга токенов.

Для него нужно доказать знание допустимого свидетельства.

Proof of Stake определяет, кто может участвовать в предложении или подтверждении блоков.

Proof of Knowledge показывает, что именно доказывающий может продемонстрировать, не раскрывая конфиденциальные данные.

Блокчейн Proof of Stake может использовать Proof of Knowledge в приложениях, роллапах, мостах или системах идентификации.

Например, сеть смарт-контрактов PoS может проверять zk-SNARK, отправленный пользователем или роллапом.

Валидаторы сети защищают базовый реестр, а доказательство знания проверяет конкретное конфиденциальное утверждение или вычисление.

Эти уровни могут работать совместно, но их не следует смешивать.

Роль свидетельства

Свидетельство — это секретная информация, которую знает доказывающий.

В Proof of Knowledge свидетельство — ключевой элемент всей системы.

Публичное утверждение устроено так, чтобы создать допустимое доказательство можно было только при наличии надлежащего свидетельства.

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

Проверяющему не обязательно видеть свидетельство непосредственно.

Ему достаточно знать, что у доказывающего есть допустимое свидетельство, соответствующее правилам.

Это важно, поскольку многие криптосистемы требуют доказать наличие полномочий или соответствие условиям, не раскрывая конфиденциальные данные.

Пользователю может потребоваться подтвердить членство в группе, не раскрывая, кто именно он.

Кошельку может потребоваться доказать контроль над секретом, не раскрывая приватный ключ.

Протоколу может потребоваться подтвердить корректность конфиденциальной транзакции, не публикуя все ее детали.

Доказывающий и проверяющий

Система Proof of Knowledge зависит от доказывающего и проверяющего.

Доказывающий создает доказательство.

Проверяющий проверяет доказательство.

Обычно доказывающий выполняет больше вычислений, чем проверяющий.

Эта асимметрия полезна в криптовалютах: одна сторона может выполнить сложное построение доказательства офчейн, а многие стороны — недорого его проверить.

В системе смарт-контрактов проверяющим может быть ончейн-контракт, который проверяет доказательство перед разрешением действия.

В роллапе проверяющий может удостовериться, что пакет транзакций обработан правильно.

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

Проверяющему не нужно лично доверять доказывающему.

Ему достаточно доверять надежности системы доказательств и корректности логики проверки.

Надежность в Proof of Knowledge

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

Это свойство критически важно: слабая система доказательств позволила бы выдвигать ложные утверждения.

Например, если пользователь мог бы доказать знание приватного ключа, не зная его, система была бы бесполезной.

Если доказывающий в роллапе мог бы подтвердить корректность перехода состояния, не зная допустимых данных транзакций, роллап был бы небезопасным.

Надежность обычно основывается на математических предположениях, проектировании системы доказательств, безопасной реализации и корректном построении схемы.

Математически доказательство может быть корректным только для точного утверждения, закодированного в схеме или программе.

Если разработчики создадут неправильную схему, доказательство может подтверждать не то, что нужно.

Именно поэтому аудит схем в криптосистемах с нулевым разглашением крайне важен.

Надежность защищает от ложных доказательств, но только если само доказываемое утверждение сформулировано правильно.

Полнота в Proof of Knowledge

Полнота означает, что честный доказывающий, действительно знающий свидетельство, должен иметь возможность создать доказательство, которое проверяющий примет.

Если система доказательств неполна, пользователи, имеющие право подтвердить истинное утверждение, могут не справиться с доказательством.

Это стало бы серьезной проблемой для удобства и безопасности.

Например, пользователь с действительными учетными данными должен иметь возможность подтвердить соответствие условиям.

Оператор роллапа с корректными данными транзакций должен иметь возможность создать допустимое доказательство.

Владелец кошелька, у которого есть нужный секрет, должен иметь возможность доказать знание этого секрета.

Полнота зависит от корректности программного обеспечения, параметров и объема вычислений, а также от правильного проектирования системы доказательств.

В реальных криптоприложениях создание доказательства может завершиться ошибкой из-за багов, ограничений памяти, некорректных входных данных или несовместимости версий схемы.

Это означает, что Proof of Knowledge — не только математическое понятие.

Это еще и инженерная задача.

Свойство нулевого разглашения

Свойство нулевого разглашения означает, что доказательство не раскрывает ненужную информацию о свидетельстве.

Это особенно важно, если свидетельство содержит конфиденциальные данные.

Доказательство знания может быть полезным и без нулевого разглашения, но многим криптоприложениям нужны оба свойства.

Например, пользователь может захотеть подтвердить наличие действительных учетных данных, не раскрывая свою личность полностью.

Системе конфиденциальных транзакций может потребоваться доказать, что входы и выходы сбалансированы, не раскрывая отправителя, получателя или сумму.

Системе подтверждения резервов может потребоваться доказать контроль над активами, не публикуя каждый адрес или баланс.

В объяснении zk-SNARK от Zcash доказательства с нулевым разглашением описаны как способ доказать проверяющему истинность утверждения, не раскрывая ничего, кроме его корректности.

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

Этот баланс между доказательством и конфиденциальностью — одна из важнейших идей современной криптографии.

Proof of Knowledge в zk-SNARK

Расшифровка zk-SNARK: Zero-Knowledge Succinct Non-Interactive Argument of Knowledge — краткое неинтерактивное доказательство знания с нулевым разглашением.

Последняя часть названия — «Argument of Knowledge» — напрямую связана с Proof of Knowledge.

zk-SNARK позволяет доказывающему создать небольшое доказательство, которое можно быстро проверить.

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

В научных исследованиях Zcash zk-SNARK описываются как компактные неинтерактивные доказательства знания с нулевым разглашением, которые требуют мало вычислительных ресурсов для проверки.

Поэтому zk-SNARK полезны в блокчейнах, где ончейн-проверка обходится дорого.

Короткое доказательство, которое недорого проверять, позволяет снизить комиссии за газ и сделать практичными конфиденциальные или масштабируемые приложения.

zk-SNARK применяются в системах конфиденциальности, роллапах, мостах, решениях для подтверждения активов, приватной идентификации и проверяемых вычислениях.

В зависимости от конкретной системы SNARK к компромиссам могут относиться предположения о доверенной настройке, сложность схемы, затраты на создание доказательства и риски реализации.

Proof of Knowledge — одна из основных причин, по которым zk-SNARK позволяют доказывать факты, не раскрывая конфиденциальные данные.

Proof of Knowledge в zk-STARK

Системы zk-STARK — еще одно крупное семейство систем доказательств с нулевым разглашением и доказательств корректности.

Системы на основе STARK могут обеспечивать прозрачную настройку и эффективное масштабирование.

С помощью доказательства типа STARK доказывающий может показать, что вычисление выполнено правильно в соответствии с набором ограничений.

Свидетельство может включать трассу выполнения, конфиденциальные входные данные или промежуточные значения.

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

STARK часто рассматривают в контексте роллапов, проверяемых вычислений и масштабирования блокчейнов.

Как и в других системах доказательств, их полезность зависит от конкретного утверждения и доказываемой схемы или программы.

Доказательство STARK может выполнять функцию доказательства знания, если оно подтверждает, что доказывающий знает свидетельство, удовлетворяющее утверждению.

Практические различия между SNARK и STARK включают размер доказательства, стоимость проверки и создания доказательства, предположения безопасности и инструменты для разработчиков.

Пользователям необязательно разбираться во всех подробностях, но следует понимать, что оба семейства могут использовать идеи Proof of Knowledge.

Интерактивные и неинтерактивные доказательства знания

Доказательства знания могут быть интерактивными или неинтерактивными.

В интерактивном доказательстве доказывающий и проверяющий обмениваются сообщениями в ходе процесса.

Проверяющий может отправить доказывающему запрос, на который тот отвечает, демонстрируя знание.

Интерактивные доказательства важны для криптографической теории и некоторых систем аутентификации.

В неинтерактивном доказательстве доказывающий создает одно доказательство, которое проверяющий может проверить без обмена сообщениями.

Неинтерактивные доказательства особенно полезны в блокчейнах, поскольку смарт-контрактам сложно проводить интерактивные диалоги с офчейн-доказывающими.

Пользователь или роллап может создать доказательство и отправить его в блокчейн.

Контракт-проверяющий может проверить доказательство в рамках одной транзакции.

Поэтому неинтерактивные аргументы знания так важны для криптоприложений.

Они позволяют использовать проверку доказательств в публичных реестрах, смарт-контрактах и асинхронных сетях.

Proof of Knowledge и преобразование Fiat–Shamir

Преобразование Fiat–Shamir — это метод, позволяющий превратить некоторые интерактивные протоколы доказательств в неинтерактивные.

Оно заменяет случайный запрос проверяющего запросом, полученным с помощью хеш-функции.

Это важно, поскольку блокчейнам часто нужны доказательства, которые можно создать один раз, а затем проверять многим сторонам.

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

Однако безопасное применение преобразования Fiat–Shamir требует тщательного проектирования.

Важны хеш-функция, структура транскрипта, разделение доменов и детали реализации.

Некачественная реализация преобразования может ослабить безопасность.

Разработчикам криптоприложений следует использовать проверенные библиотеки доказательств и изученные протоколы, а не создавать собственные системы доказательств.

Пользователям достаточно понимать, что неинтерактивные доказательства делают Proof of Knowledge применимым ончейн.

Благодаря им смарт-контракт может проверить знание, не обмениваясь сообщениями с доказывающим повторно.

Proof of Knowledge и владение кошельком

Один из простых примеров Proof of Knowledge в криптовалютах — доказательство знания приватного ключа.

Пользователь может подписать сообщение приватным ключом, чтобы доказать контроль над адресом кошелька.

Это не всегда называют доказательством с нулевым разглашением, но на практике оно подтверждает, что пользователь знает ключ подписи.

При этом сам приватный ключ пользователь не раскрывает.

Проверяющий проверяет подпись с помощью данных открытого ключа.

Так часто работают вход в кошелек, подписание сообщений и базовая проверка владения адресом.

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

Доказательства с нулевым разглашением развивают эту идею, позволяя доказывать более избирательные утверждения.

Например, пользователь мог бы подтвердить, что один из адресов в наборе принадлежит ему, не раскрывая, какой именно.

Так видна связь между базовым подтверждением владения ключом и более сложными системами Proof of Knowledge.

Proof of Knowledge в конфиденциальных транзакциях

Системы конфиденциальных транзакций могут использовать Proof of Knowledge, чтобы подтвердить корректность транзакции, не раскрывая конфиденциальные детали.

Доказывающему может потребоваться подтвердить, что он знает секрет, открывающий обязательство.

Ему может потребоваться доказать, что входная заметка существует в дереве обязательств.

Может потребоваться доказать, что эту заметку еще не потратили.

Также может потребоваться подтвердить правильность баланса значений.

Проверяющий проверяет эти утверждения, не видя непосредственно конфиденциального свидетельства.

Так блокчейн может обеспечивать соблюдение правил, скрывая выбранные детали транзакции.

Системы конфиденциальности необходимо проектировать тщательно, поскольку метаданные все равно могут раскрывать информацию.

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

Proof of Knowledge — важная часть проектирования конфиденциальных транзакций, но для защиты конфиденциальности также необходима надежная операционная модель.

Proof of Knowledge в ZK-роллапах

ZK-роллапы используют доказательства корректности, чтобы показать, что пакеты офчейн-транзакций обработаны правильно.

В документации Ethereum о ZK-роллапах объясняется, что они используют доказательства корректности для финализации пакетов транзакций в Ethereum.

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

Такое свидетельство может включать данные транзакций, подписи, состояния аккаунтов, пути Меркла, трассы выполнения и промежуточные значения вычислений.

Доказательство позволяет базовой сети проверить результат, не выполняя заново каждую транзакцию.

Proof of Knowledge помогает убедиться, что доказывающий не просто утверждает, будто переход состояния корректен.

Доказывающий должен создать доказательство на основе данных и вычислений, которые подтверждают корректность перехода.

Это важно для масштабирования: базовая сеть может принимать компактные доказательства, вместо того чтобы выполнять все вычисления самостоятельно.

Пользователи могут не видеть доказательство, но оно влияет на безопасность роллапа, финализацию, сроки вывода и стоимость операций.

В роллапах Proof of Knowledge обеспечивает эффективную проверку с минимальным доверием.

Proof of Knowledge в системах идентификации

Proof of Knowledge может поддерживать конфиденциальную идентификацию и системы учетных данных.

Пользователь может захотеть подтвердить наличие действительных учетных данных, не раскрывая их полностью.

Например, он может доказать, что достиг установленного возрастного порога, не раскрывая точную дату рождения.

Пользователь может подтвердить членство в одобренной группе, не сообщая, кто именно он.

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

Такие системы обычно основаны на обязательствах, учетных данных, подписях и доказательствах с нулевым разглашением.

Свидетельство может содержать конфиденциальные данные учетных данных.

Публичное утверждение может включать правило, например соответствие требованиям, членство или соблюдение установленного порога.

Proof of Knowledge может сократить объем персональных данных, раскрываемых приложениями.

Однако системам конфиденциальной идентификации по-прежнему необходимы тщательное управление эмитентами, правила отзыва, безопасность кошельков и согласие пользователей.

Proof of Knowledge и подтверждение резервов

Proof of Knowledge может применяться в решениях для подтверждения резервов или активов.

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

Доказательство может подтвердить знание приватных ключей, соответствующих определенным средствам или обязательствам.

Более сложные системы могут объединять доказательства наличия активов с обязательствами, деревьями Меркла, обязательствами и методами нулевого разглашения.

Цель — повысить прозрачность и сократить ненужное раскрытие конфиденциальной информации.

Однако Proof of Knowledge само по себе не доказывает платежеспособность.

Доказательство резервов может показать контроль над активами, но пользователям также нужны сведения об обязательствах.

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

Поэтому решения для подтверждения резервов нужно тщательно оценивать.

Proof of Knowledge может способствовать более качественному аудиту, но само по себе не является полной финансовой проверкой.

Proof of Knowledge и аутентификация

Proof of Knowledge можно применять для аутентификации: с его помощью человек может подтвердить знание секрета, не раскрывая его.

В традиционной аутентификации часто используются пароли, но при ненадлежащей передаче или хранении их могут украсть.

Криптографическая аутентификация может подтверждать знание секретного ключа с помощью подписей или протоколов «вызов — ответ».

В криптокошельках распространенный способ аутентификации на основе ключа — подписание сообщения.

Сайт может попросить кошелек подписать сообщение, а подпись подтвердит контроль над адресом.

Более сложные системы могут добавлять свойства нулевого разглашения, чтобы пользователь подтверждал соответствие условиям, не раскрывая постоянную публичную идентичность.

Это может уменьшить отслеживание и повысить конфиденциальность.

Однако пользователям следует внимательно относиться к запросам на подпись.

Злонамеренный сайт может обманом заставить пользователя подписать что-то опасное или нарушающее конфиденциальность.

Proof of Knowledge способствует более безопасной аутентификации только при условии, что интерфейсы кошельков и логика приложений спроектированы понятно.

Proof of Knowledge и обязательства

В системах Proof of Knowledge часто используются обязательства.

Обязательство позволяет пользователю скрыть значение и одновременно связать себя с ним.

Позднее пользователь может раскрыть обязательство, показав значение и случайные данные, использованные для его создания.

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

Это полезно для конфиденциальных балансов, закрытых аукционов, скрытого голосования, конфиденциальных утверждений об идентичности и приватных заметок транзакций.

Обязательство является публичным, а свидетельство остается конфиденциальным.

Доказательство показывает, что доказывающий знает значения, соответствующие обязательству и правилам протокола.

Так публичные системы могут проверять конфиденциальные утверждения.

Обязательства часто объединяют с Proof of Knowledge, поскольку они позволяют проверять скрытую информацию.

Без обязательств было бы сложнее безопасно связать конфиденциальные свидетельства с публичным состоянием блокчейна.

Proof of Knowledge и деревья Меркла

Деревья Меркла — еще один распространенный инструмент, используемый вместе с Proof of Knowledge.

Дерево Меркла позволяет представить множество элементов данных одним корнем.

Доказательство Меркла может подтвердить, что один элемент входит в дерево, не раскрывая все его элементы.

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

Это полезно для подтверждения членства в группе, приватных списков разрешенных адресов, защищенных заметок, наборов учетных данных и структур подтверждения резервов.

Публичным входным значением может быть корень Меркла.

Конфиденциальное свидетельство может включать лист и путь.

Доказательство показывает, что скрытый лист принадлежит к зафиксированному набору.

Так приложения могут проверять включение элемента, не раскрывая полностью личность или данные.

Деревья Меркла повышают полезность Proof of Knowledge для больших наборов данных, поскольку позволяют компактно фиксировать множество конфиденциальных записей.

Преимущества Proof of Knowledge

Первое преимущество Proof of Knowledge — конфиденциальность.

Доказывающий может подтвердить знание секрета, не раскрывая сам секрет.

Второе преимущество — аутентификация.

Пользователи могут подтвердить контроль над ключами или учетными данными, не раскрывая лежащий в их основе секрет.

Третье преимущество — масштабируемость.

Роллапы и системы проверяемых вычислений могут подтверждать сложные вычисления с помощью компактных доказательств.

Четвертое преимущество — выборочное раскрытие данных.

Пользователи могут раскрыть только нужное утверждение, не предоставляя полные личные или финансовые данные.

Пятое преимущество — снижение необходимости доверять другой стороне.

Проверяющие могут математически проверить доказательства, а не просто поверить доказывающему на слово.

Шестое преимущество — совместимость с другими системами.

Смарт-контракты могут проверять доказательства и использовать их в DeFi, системах идентификации, играх, управлении и мостах.

Седьмое преимущество — возможность аудита.

Организации и протоколы могут доказывать определенные факты, не публикуя каждую конфиденциальную запись.

Ограничения Proof of Knowledge

Первое ограничение — сложность.

Системы Proof of Knowledge бывает трудно проектировать, аудировать и объяснять.

Второе ограничение — затраты на создание доказательства.

Для генерации доказательств могут требоваться значительные вычислительные мощности, память и специализированная инфраструктура.

Третье ограничение — риск, связанный со схемой.

Доказательство подтверждает только утверждение, закодированное в схеме, поэтому неправильная схема может создать ложное чувство уверенности.

Четвертое ограничение — предположения о настройке.

Для некоторых систем доказательств требуются церемонии доверенной настройки или специальные публичные параметры.

Пятое ограничение — утечка метаданных.

Доказательство с нулевым разглашением может скрывать свидетельство, однако окружающая активность все равно может раскрывать поведение пользователя.

Шестое ограничение — ошибки проверяющего.

Ошибка реализации в контракте-проверяющем может привести к принятию некорректных доказательств или отклонению корректных.

Седьмое ограничение — неверное понимание пользователями.

Многие пользователи видят слово «доказательство» и считают, что вся система безопасна, хотя на деле проверяется лишь одно узкое утверждение.

Риски безопасности в системах Proof of Knowledge

Один из основных рисков — доказательство неверного утверждения.

Если в схеме не учтено важное правило, доказательство может быть корректным, но небезопасным.

Еще один риск — слабая случайность.

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

Еще один риск — раскрытие свидетельства.

Если сервис создания доказательств получает конфиденциальные входные данные, он может раскрыть их или использовать ненадлежащим образом.

Еще один риск — злонамеренные интерфейсы.

Из-за вводящего в заблуждение интерфейса пользователь может создать доказательство утверждения, смысла которого не понимает.

Еще один риск — устаревшее программное обеспечение для создания доказательств.

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

Еще один риск — недостоверные рекламные заявления о доказательствах.

Проект может заявлять об использовании технологии нулевого разглашения или Proof of Knowledge, не объясняя, что именно доказывается.

Пользователям и разработчикам всегда следует выяснять, в чем состоит утверждение, что является свидетельством, кто создает доказательство и кто его проверяет.

Эти вопросы дают больше информации, чем одно только название технологии.

Proof of Knowledge и смарт-контракты

Смарт-контракты могут проверять результаты Proof of Knowledge с помощью контрактов-проверяющих.

Контракт-проверяющий устанавливает, действительно ли отправленное доказательство соответствует заданным публичным входным данным.

Если доказательство корректно, смарт-контракт может разрешить действие: например, выпуск токенов, вывод, голосование, получение вознаграждения, перевод через мост или обновление состояния.

Такая конструкция позволяет ончейн-приложениям использовать конфиденциальное офчейн-знание.

Однако контракты-проверяющие должны быть корректными и эффективными.

Если проверка слишком затратна, пользователям могут грозить высокие комиссии за газ.

Если проверка работает неправильно, приложение может оказаться небезопасным.

Разработчикам следует тщательно тестировать контракты-проверяющие и ясно описывать публичные входные данные и смысл доказательства.

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

Контракт должен проверять правильное доказательство для правильного утверждения по правильным правилам.

Proof of Knowledge и DAO

DAO могут использовать Proof of Knowledge для конфиденциального голосования, проверки соответствия условиям, защиты от атак Сивиллы и контроля казначейства.

Избиратель может доказать право голоса, не раскрывая, кто именно из имеющих такое право участников он.

Участник сообщества может подтвердить наличие учетных данных, не раскрывая свою личность полностью.

Заявитель на грант может доказать членство или репутацию, не публикуя все персональные данные.

Конфиденциальное голосование сложно организовать: DAO необходимо предотвращать повторное голосование и одновременно защищать конфиденциальность избирателей.

Proof of Knowledge может помочь: оно позволяет подтвердить знание действительных учетных данных или нуллификатора, не раскрывая сами учетные данные.

Нуллификатор — это значение, которое предотвращает повторное использование, сохраняя определенный уровень конфиденциальности.

Системам DAO по-прежнему нужны правила управления, процедуры разрешения споров, выпуск учетных данных и способы их отзыва.

Proof of Knowledge может повысить конфиденциальность, но не решает все проблемы управления.

Для эффективного проектирования DAO необходимо сочетать криптографию с социальными и процедурными мерами защиты.

Proof of Knowledge и мосты

Мосты могут использовать системы доказательств для проверки фактов между сетями.

Доказывающий может подтвердить знание данных, указывающих на то, что событие произошло в исходной сети.

Проверяющий в другой сети может проверить доказательство перед разблокировкой активов или сообщений.

Мосты на основе доказательств могут снизить зависимость от централизованных подписантов, но такие системы все равно остаются сложными.

В доказательстве для моста может потребоваться подтвердить заголовки блоков, финализацию, корни состояния, включение в дерево Меркла или корректность выполнения.

Свидетельство может содержать данные цепочки и пути, необходимые для подтверждения утверждения.

Проверяющий должен точно понимать, что подтверждает доказательство.

Proof of Knowledge может помочь в межсетевой проверке, но само по себе не гарантирует безопасность моста.

Безопасность моста также зависит от предположений о финализации, доступности данных, контроля обновлений, ликвидности и процедур действий в чрезвычайных ситуациях.

Даже при использовании передовой криптографии пользователям следует считать мосты высокорисковыми системами.

Proof of Knowledge и соблюдение требований

Proof of Knowledge может поддерживать решения, учитывающие требования к соблюдению норм: с его помощью можно доказывать отдельные факты, не раскрывая лишние данные.

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

Протокол может доказать, что вычисление соответствовало политике, не публикуя все исходные записи.

Пользователь может доказать, что не находится в списке ограничений, не раскрывая свою личность каждому приложению.

Такие решения перспективны, поскольку позволяют сократить сбор данных и повысить конфиденциальность.

Однако сами по себе они не отменяют юридических обязательств.

Нормативные требования различаются в зависимости от юрисдикции, типа актива, приложения и категории пользователя.

Proof of Knowledge помогает сократить ненужное раскрытие данных, но проектирование с учетом правовых и нормативных требований по-прежнему требует профессиональной оценки.

Проектам не следует заявлять, что технология нулевого разглашения автоматически делает любую деятельность соответствующей требованиям.

Криптография может доказывать факты, но закон определяет, какие факты имеют значение.

Рекомендации для пользователей

Прежде чем доверять доказательству, пользователям следует понять, какое именно утверждение оно подтверждает.

Не следует считать, что наличие доказательства делает безопасным весь протокол.

Следует проверить, объясняет ли проект публичные входные данные, конфиденциальное свидетельство, контракт-проверяющий, аудиты и предположения безопасности.

Не следует передавать сервисам создания доказательств приватные ключи, сид-фразы или исходные секреты.

При использовании удаленных сервисов создания доказательств следует помнить, что конфиденциальные данные свидетельства могут раскрыться, если система спроектирована небезопасно.

Предпочтение следует отдавать приложениям, которые честно объясняют ограничения конфиденциальности.

Следует помнить, что даже при нулевом разглашении метаданные могут раскрывать информацию.

Не следует подписывать сообщения в кошельке и создавать доказательства на неизвестных сайтах.

Перед взаимодействием с приложениями на основе доказательств следует проверить официальные ссылки.

Следует относиться к Proof of Knowledge как к мощному инструменту, а не как к гарантии безопасности.

Рекомендации для разработчиков

Разработчикам следует точно определить утверждение, которое необходимо доказать.

Следует определить, какие входные данные являются публичными, а какие — конфиденциальными свидетельствами.

Следует использовать хорошо изученные системы доказательств и прошедшие аудит библиотеки.

Не следует применять собственную криптографию без проверки экспертами.

Схемы должны обеспечивать соблюдение каждого необходимого правила.

Следует тестировать схемы на граничных случаях, недопустимых свидетельствах и злонамеренных входных данных.

При создании доказательства необходимо защищать данные свидетельства.

Контракты-проверяющие следует делать эффективными и безопасными.

Следует документировать, чего именно доказательство не подтверждает.

Интерфейсы должны ясно объяснять запросы на создание доказательства до того, как пользователь что-либо подпишет или сгенерирует.

Распространенные заблуждения о Proof of Knowledge

Одно из заблуждений — сходство Proof of Knowledge и Proof of Work из-за слова «proof» в названии.

Это разные понятия: Proof of Work обеспечивает консенсус с помощью вычислений, а Proof of Knowledge подтверждает владение свидетельством.

Другое заблуждение — будто любое доказательство знания автоматически обладает свойством нулевого разглашения.

Доказательство знания может подтверждать владение свидетельством, но для предотвращения утечки лишней информации ему требуется свойство нулевого разглашения.

Еще одно заблуждение — будто допустимое доказательство означает, что всему проекту можно доверять.

Допустимое доказательство подтверждает только конкретное утверждение, которое проверяет проверяющий.

Еще одно заблуждение — будто нулевое разглашение скрывает любую активность.

Доказательство может скрывать свидетельство, однако время транзакций, связи между кошельками или метаданные все равно могут раскрывать закономерности.

Еще одно заблуждение — будто пользователям не нужно знать о свидетельстве.

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

FAQ

Что означает Proof of Knowledge?

Proof of Knowledge означает, что доказывающий может убедить проверяющего в том, что знает секретное свидетельство, которое делает истинным публичное утверждение.

Proof of Knowledge — это то же самое, что доказательство с нулевым разглашением?

Нет. Proof of Knowledge сосредоточено на подтверждении владения свидетельством, а нулевое разглашение — на сокрытии лишней информации в ходе доказательства.

Что такое доказательство знания с нулевым разглашением?

Доказательство знания с нулевым разглашением подтверждает, что доказывающий знает допустимое свидетельство, не раскрывая о нем лишнюю информацию.

Что такое свидетельство в Proof of Knowledge?

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

Кто такой доказывающий?

Доказывающий — это сторона, программа, узел или сервис, который создает доказательство.

Кто такой проверяющий?

Проверяющий — это сторона, смарт-контракт или система, которая устанавливает, корректно ли доказательство.

Является ли zk-SNARK системой Proof of Knowledge?

Да. zk-SNARK расшифровывается как Zero-Knowledge Succinct Non-Interactive Argument of Knowledge. Эту технологию широко используют для компактного подтверждения знания допустимого свидетельства.

Можно ли с помощью Proof of Knowledge подтвердить владение кошельком?

Да. Подписание сообщения может подтвердить знание приватного ключа, хотя обычные подписи не всегда обеспечивают нулевое разглашение.

Почему Proof of Knowledge полезно для конфиденциальности?

Оно позволяет пользователям подтвердить знание конфиденциальной информации, не раскрывая ее напрямую.

Почему Proof of Knowledge полезно для роллапов?

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

Гарантирует ли Proof of Knowledge безопасность протокола?

Нет. Оно подтверждает только конкретное утверждение, а безопасность протокола также зависит от схем, контрактов-проверяющих, реализации, управления и поведения пользователей.

Можно ли применять Proof of Knowledge для соблюдения нормативных требований?

Да. Оно может помочь подтвердить отдельные факты о соответствии условиям или политике, раскрывая меньше данных, но не заменяет анализ юридических требований.

Заключение

Proof of Knowledge — фундаментальное понятие криптографии, позволяющее доказывающему подтвердить знание секретного свидетельства, не обязательно раскрывая его.

В криптовалютах оно применяется в доказательствах с нулевым разглашением, zk-SNARK, zk-STARK, конфиденциальных транзакциях, роллапах, системах идентификации, решениях для подтверждения резервов, мостах, DAO и проверяемых вычислениях.

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

Поэтому Proof of Knowledge полезно для систем, которым необходимы и проверка, и конфиденциальность.

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

Однако Proof of Knowledge не является универсальной гарантией безопасности.

Доказательство подтверждает только конкретное утверждение, закодированное в схеме, программе и проверяющем.

Если утверждение неполное, схема неверна, свидетельство раскрывается или в контракте-проверяющем есть ошибка, пользователи по-прежнему подвергаются риску.

Проще всего понять Proof of Knowledge так: оно позволяет проверяемым способом подтвердить владение скрытой информацией.

В сочетании со свойствами нулевого разглашения Proof of Knowledge становится одним из самых мощных инструментов для создания конфиденциальных, масштабируемых криптоприложений, требующих минимального доверия.
BTC ETFs See $679M in Outflows
BTC ETFs See $679M in OutflowsBTC ETFs See $679M in Outflows
Citi sees BTC at $113K. What do institutions see?

В тренде

Трендовые криптовалюты, которые в настоящее время привлекают значительное внимание рынка

Недавно добавленные

Криптовалюты недавно внесенные в листинг и доступные для торговли