Skip to main content

Подгружаем

Протокол с нулевым разглашением

Технология, Протокол с нулевым разглашением

Общая информация о протоколе с нулевым разглашением

Zero-knowledge proof (zero-knowledge protocol) представляет собой протокол, применяющийся в криптографии и позволяющий двум взаимодействующим сторонам производить обмен информацией. В процессе обмена участвуют две стороны, одна из которых проверяет достоверность утверждения – проверяющая (или верифицирующая), представленного второй стороной – доказывающая сторона.

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

Данный протокол был разработан Шафи Гольдвассер, Чарльзом Рэкоффом и Сильвио Микали как способ для обеспечения честности сторон и одновременном сохранении их конфиденциальности.

Виды протокола с нулевым разглашением

Существует две основных разновидности протокола – интерактивный и неинтерактивный.

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

Второй вид не требует исходных данных, а значит нет необходимости в непосредственной коммуникации между двумя сторонами, то есть неинтерактивный протокол (non-interactive zero-knowledge proof).

Суть zero-knowledge protocol

Проще всего идею протокола объяснить на сильно упрощённом варианте примера под названием «Пещера нулевого разглашения» или «Пещера Али-Бабы» (The Ali Baba cave). Проверяющий (A) стоит у входа в пещеру и смотрит в неё. Пещера имеет кольцевидную форму. Проверяющий знает, что можно снова оказаться у входа в пещеру, пройдя по ней, так как в пещере только один путь. Проверяющий знает, что в пещере есть дверь, которая разделяет пещеру на две части. Проверяющий знает, что дверь открывается магическим словом. У проверяющего нет этого магического слова, но это магическое слово, предположительно, есть у доказывающего (B). Если доказывающий зайдёт в пещеру с одной стороны, воспользуется магическим словом, чтобы открыть дверь, а затем выйдет ко входу в пещеру с другой стороны – он докажет проверяющему, что у него есть магическое слово, при этом слово останется неизвестным для проверяющего. Допустим проверяющий может пойти за доказывающим и подслушать магическое слово, тогда доказывающий должен пойти в пещеру первым, чтобы проверяющий не знал с какой стороны пошёл к двери доказывающий. Проверяющий должен дойти до развилки и оттуда кричать доказывающему с какой стороны выйти. Доказывающий может выйти с указанной стороны в двух случаях: у него есть магическое слово, ему повезло. Если многократно повторить такую процедуру, то вероятность везения и, соответственно, обмана будет крайне мала. Данные процедуры, при этом, не будут являться доказательством для третьей стороны, которая не участвует непосредственно в них и получила информацию из какого-либо источника, так как проверяющий и доказывающий могли быть в сговоре.

Протокол носит вероятностный характер, и он должен нести 3 основных свойства:

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

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

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

Практическое применение zero-knowledge proof

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

Zero-knowledge protocol может лежать в основе определения идентичности, то есть проверки подлинности данных, в том числе это может быть проверка личности.

На основе данного протокола построены публичные и приватные блокчейны с повышенным уровнем конфиденциальности. Метод может эффективно применяться в случаях, если необходимо проведение финансовых транзакций с соблюдением условий конфиденциальности. Таким образом, участники сети смогут удостовериться в наличии у пользователя необходимых для транзакции средств, но не получат сведения о том, кем является пользователь и сколько у него средств. Различные варианты протокола активно применяются в криптовалютах, нацеленных на анонимность. Ярким примером является протокол zk-SNARKs в блокчейне ZCash. zk-SNARKs или Zero-Knowledge Succinct Non-Interactive Argument of Knowledge – доказательство с нулевым разглашением, использующее простые и ясные неинтерактивные аргументы знания, то есть зашифрованные транзакции могут быть проверены согласно консенсусным правилам сети с использованием доказательств zk-SNARK.

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

В качестве итога

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

О технологиях

Последние новости

На сайте

Присоединяйтесь к нам



03-03-2020 (обновлено 24.04.2022)