Конфиденциальность всегда рассматривалась как ценная функция в сообществе криптовалют. Это предшественник взаимозаменяемости, которая необходима для широко используемой формы денег. Аналогичным образом, большинство держателей криптоактивов не хотят, чтобы их активы и история транзакций были полностью общедоступными. Среди различных криптографических методов, направленных на обеспечение конфиденциальности блокчейнов, два заслуживающих внимания примера — доказательства zk-SNARK и zk-STARK.

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

Притча о пещере Али-Бабы

В 1990 году криптограф Жан-Жак Кискатер (вместе с другими сотрудниками) опубликовал статью под названием «Как объяснить вашим детям протоколы с нулевым разглашением». В статье представлена ​​концепция zk-доказательств на примере притчи о пещере Али-Бабы. С момента создания притча несколько раз адаптировалась, и теперь у нас есть множество вариаций. Тем не менее, основная информация по сути та же самая.

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

Через некоторое время Боб проходит мимо входа и кричит, с какой стороны он хочет, чтобы появилась Алиса (в данном случае Путь 2).

Если Алиса действительно знает секрет, она обязательно появится на пути, указанном Бобом.

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

Притча Али-Бабы о пещере иллюстрирует концепцию доказательств с нулевым разглашением, которые являются частью протоколов zk-SNARK и zk-STARK. Доказательства ZK могут использоваться для доказательства владения определенными знаниями без раскрытия какой-либо информации о них.

zk-СНАРК

Zcash — один из первых примеров проекта, использующего zk-SNARK. В то время как другие проекты конфиденциальности, такие как Monero, используют кольцевые подписи и другие методы, zk-SNARK фундаментально меняет способ обмена данными. Конфиденциальность Zcash обусловлена ​​тем фактом, что транзакции в сети могут оставаться зашифрованными, но их достоверность при этом может быть проверена с использованием доказательств с нулевым разглашением. Таким образом, тем, кто обеспечивает соблюдение правил консенсуса, не обязательно знать все данные, лежащие в основе каждой транзакции. Стоит отметить, что функции конфиденциальности в Zcash не активны по умолчанию, а являются необязательными и зависят от ручной настройки.

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

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

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

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

Переходим к части аббревиатуры «Аргументы знания». zk-SNARK считаются надежными с вычислительной точки зрения, а это означает, что нечестный доказывающий имеет очень низкий шанс успешно обмануть систему, не имея фактических знаний (или свидетелей), подтверждающих свое утверждение. Это свойство известно как надежность и предполагает, что доказывающая машина имеет ограниченную вычислительную мощность.

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

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

zk-STARKs

zk-STARK были созданы Эли-Беном Сассоном, профессором Израильского технологического института Технион. В качестве альтернативной версии доказательств zk-SNARK zk-STARK обычно считаются более эффективным вариантом технологии — потенциально более быстрым и дешевым, в зависимости от реализации. Но что еще более важно, zk-STARK не требуют первоначальной доверенной настройки (отсюда буква «T» означает прозрачность).

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

Другими словами, доказательства zk-STARK представляют собой более простую структуру с точки зрения криптографических предположений. Однако эта новая технология имеет по крайней мере один существенный недостаток: размер доказательств больше по сравнению с zk-SNARK. Такая разница в размере данных может представлять ограничения в зависимости от контекста использования, но, вероятно, это можно выяснить по мере дальнейшего тестирования и исследования технологии.

Заключительные мысли

Очевидно, что и zk-SNARK, и zk-STARK апеллируют к растущей озабоченности по поводу конфиденциальности. В мире криптовалют эти протоколы имеют большой потенциал и могут стать прорывным путем к массовому внедрению.