Доказательство нулевого знания, иногда также называемое протоколом Zero-Knowledge, представляет собой метод проверки, который происходит между проверяющим и верификатором. В системе доказательства с нулевым знанием проверяющий может доказать проверяющему, что он обладает знанием определенной части информации (например, решения математического уравнения), не раскрывая саму информацию. Эти системы доказательства могут быть использованы современными криптографами для обеспечения повышенного уровня конфиденциальности и безопасности.
Концепция доказательства нулевого знания была впервые описана в статье 1985 года Массачусетского технологического института, опубликованной Шафи Голдвассером и Сильвио Микали. Они показали, что можно доказать некоторые свойства числа, не раскрывая ни самого числа, ни какой-либо дополнительной информации о нем. В этой статье также был представлен математически значимый вывод о том, что взаимодействие между проверяющим и верификатором может уменьшить объем информации, необходимой для доказательства данной теоремы.
Доказательство ZK должно удовлетворять двум основным требованиям, известным как полнота и обоснованность. Полнота относится к способности проверяющего продемонстрировать знание соответствующей информации с высокой степенью вероятной точности. Чтобы доказательство было достоверным, верификатор должен быть в состоянии достоверно определить, действительно ли проверяющий владеет информацией. Наконец, чтобы быть действительно нулевым знанием, доказательство должно достичь как полноты, так и обоснованности без того, чтобы информация, о которой идет речь, когда-либо передавалась между проверяющим и проверяющим.
Доказательства нулевого знания в основном используются для приложений, в которых конфиденциальность и безопасность имеют важное значение. Системы аутентификации, например, могут использовать доказательства ZK для проверки учетных данных или удостоверений личности, не разглашая их напрямую. В качестве простого примера его можно использовать для проверки того, что у человека есть пароль к компьютерной системе без необходимости раскрывать, что это за пароль.
Один из выдающихся примеров реального использования доказательств нулевого знания можно найти в мире криптовалют и блокчейн технологий. Используя тип доказательства, известный как краткий не интерактивный аргумент знания с нулевым знанием (zk-SNARK), ориентированные на конфиденциальность криптовалюты, такие как Zcash, могут предлагать своим пользователям блокчейн транзакции с повышенным уровнем конфиденциальности.