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

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

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

Пример применения

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

ZKP отличаются от обычного шифрования. Шифрование защищает данные от чтения без ключа, а zero-knowledge proof позволяет доказать определенное утверждение, не раскрывая соответствующий секрет.

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

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