Анонимность всегда считалась одной из очень ценных характеристик криптовалютного сообщества. Это предшественник взаимозаменяемости, свойства, которое также необходимо для широко используемой формы денег. Аналогичным образом, большинство владельцев криптоактивов не хотят, чтобы их активы и записи транзакций были полностью раскрыты. Из всех различных криптографических технологий, обеспечивающих конфиденциальность блокчейнов, два заслуживающих внимания примера — zk-SNARK и zk-STARK.
zk-SNARK представляет собой упрощенное неинтерактивное доказательство с нулевым разглашением, а zk-STARK представляет собой упрощенное полностью прозрачное доказательство с нулевым разглашением. Zk-SNARK уже используется в платежных системах на основе блокчейна, таких как Zcash, проекты JP Morgan Chase, а также в качестве безопасного метода верификации между клиентом и сервером. Но хотя zk-SNARK уже хорошо зарекомендовали себя и широко используются, zk-STARK теперь рекламируется как новая и улучшенная версия протокола, целью которой является устранение многих предыдущих недостатков zk-SNARK.
Пещерная басня Али-Бабы
В 1990 году криптограф Жан-Жак Кискатер (вместе с другими сотрудниками) опубликовал статью под названием «Как объяснить детям протоколы доказательства с нулевым разглашением». В этой статье представлена концепция доказательства с нулевым разглашением, включающая притчу о пещере Алибабы. Эта басня с момента ее создания много раз адаптировалась, и теперь у нас есть несколько версий. Но выраженное содержание в основном то же самое.
Представим себе круглую пещеру со входом и волшебной дверью, разделяющей два пути. Чтобы открыть волшебную дверь, нужно прошептать нужную тайну. Итак, предположим, что Алиса (желтая) хочет доказать Бобу (синяя), что она знает пароль, но при этом сохранить пароль в секрете. Для этого Боб соглашается подождать снаружи, пока Алиса войдет в пещеру и выберет один из двух путей до конца. В этом случае она решает пойти по пути 1.

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

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

Этот процесс можно повторить несколько раз, чтобы подтвердить, что Алиса благодаря удаче выбрала неправильный путь.
Притча о пещере Alibaba иллюстрирует концепцию доказательств с нулевым разглашением, которые являются частью протоколов zk-SNARK и zk-STARK. Доказательства с нулевым разглашением могут использоваться для доказательства владения определенными знаниями без раскрытия какой-либо информации о них.
zk-СНАРК
Zcash — первое широко распространенное применение zk-SNARK. В то время как проекты конфиденциальности, такие как Monero, также используют кольцевые подписи и другие методы, которые эффективно создают дымовую завесу для защиты отправителей, zk-SNARK фундаментально меняют способ обмена данными. Конфиденциальность Zcash обусловлена тем фактом, что транзакции в сети могут быть зашифрованы, но при этом могут быть проверены на достоверность с помощью доказательств с нулевым разглашением. Следовательно, тем, кто обеспечивает соблюдение правил консенсуса, не обязательно знать все данные о каждой транзакции. Стоит отметить, что функции конфиденциальности в Zcash по умолчанию неактивны и являются необязательными, их можно настроить вручную.
Доказательства с нулевым разглашением позволяют одному человеку доказать другому, что то, что он утверждает, верно, не раскрывая никакой информации, выходящей за рамки действительности утверждения. Участвующие стороны часто называются доказывающими и проверяющими, а секреты, которые они хранят, называются доказательствами. Основная цель этих функций — обеспечить как можно меньший обмен данными между двумя сторонами. Другими словами, люди могут использовать доказательства с нулевым разглашением, чтобы доказать, что они что-то знают, не раскрывая никакой информации о самом знании.
В аббревиатуре SNARK первая буква «краткий» означает, что эти доказательства просты и могут быть быстро проверены. «Неинтерактивный» означает, что между проверяющим и проверяющим мало взаимодействия. Более старые версии протоколов доказательства с нулевым разглашением обычно требовали взаимодействия доказывающего и проверяющего и поэтому считались «интерактивными» доказательствами с нулевым разглашением. Но в «неинтерактивной» структуре доказывающему и проверяющему нужно только обменяться соответствующими доказательствами.
В настоящее время доказательства zk-SNARK основаны на первоначальной настройке доверия между проверяющими и проверяющими, что означает, что для построения доказательства с нулевым разглашением и, следовательно, частной транзакции требуется набор общедоступных параметров. Эти параметры подобны правилам игры: они запрограммированы в протоколе и являются одним из необходимых факторов для подтверждения действительности транзакции. Однако это создает потенциальные проблемы централизации, поскольку параметры часто устанавливаются очень небольшой группой.
Хотя исходная общедоступная настройка является основой для сегодняшних реализаций zk-SNARK, исследователи работают над поиском альтернатив, которые снижают доверие, необходимое в процессе взаимодействия. Фаза начальной настройки важна для предотвращения фальшивых выплат, поскольку, если кто-то имеет доступ к случайности сгенерированных параметров, он может создать фальшивые доказательства, действительные для валидатора. В Zcash этап начальной настройки называется процессом генерации параметров.
Давайте еще раз поговорим об аббревиатуре «ARguments». zk-SNARK считаются достаточно вычислимыми, а это означает, что вероятность того, что фальшивый проверяющий успешно обманет систему, очень мала. Это свойство называется устойчивостью и предполагает, что доказывающая машина имеет ограниченную вычислительную мощность. Теоретически, доказывающий, обладающий достаточной вычислительной мощностью, может создавать поддельные доказательства, что является одной из причин, почему многие считают квантовые компьютеры возможной угрозой для zk-SNARK и систем блокчейна.
Последняя буква — «Знание», что означает, что доказывающий не может построить доказательства без реальных знаний (или свидетелей), подтверждающих его или ее утверждение.
Доказательства с нулевым разглашением можно быстро проверить и обычно требуют гораздо меньше данных, чем стандартные транзакции Биткойн. Это открывает новый путь для использования технологии zk-SNARK в качестве решения анонимности и масштабируемости.
zk-STARKs
zk-STARK были созданы как альтернативная версия протокола zk-SNARK и считаются более быстрой и удобной реализацией технологии. Но что еще более важно, zk-STARK не требует первоначальной настройки доверия (отсюда и буква «T», обозначающая прозрачность).
Технически Zk-STARK не требуют инициализированной доверенной настройки, поскольку они полагаются на более экономичный метод симметричного шифрования посредством коллизий хеш-функций. Этот подход также исключает предположения теории чисел о zk-SNARK, которые являются дорогостоящими в вычислительном отношении и теоретически уязвимы для атак квантовых компьютеров.
Одна из основных причин, по которой Zk-STARK обеспечивает более удобную и быструю реализацию, заключается в том, что объем связи между доказывающими и проверяющими остается постоянным относительно любого приращения вычислений. Напротив, в zk-SNARK, чем больше вычислений требуется, тем больше раз сторонам приходится отправлять сообщения туда и обратно. Таким образом, общий размер данных zk-SNARK намного больше, чем размер данных в доказательстве zk-STARK.
Понятно, что и zk-SNARKS, и zk-STARK вызывают все больше вопросов об анонимности. В мире криптовалют эти протоколы имеют огромный потенциал стать новаторским подходом к широкому использованию.



