Технология zk и место Aleo в ней. Часть I. Суть технологии zk

Beta
5 min readOct 29, 2023

Сегодня давайте взглянем на технологию zk в криптографии! Какую проблему могут решить zk Technologies? Какие проекты, использующие эту технологию, перспективны? (небольшой спойлер =@AleoHQ — один из них).

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

Концепция технологии ZK возникла в 1980-х годах, а развитие протоколов с нулевым разглашением данных набрало обороты в последние годы, поскольку появление общедоступных блокчейн-платформ создало новые приложения для технологий шифрования.

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

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

Исследователи расширили концепцию до теории вычислений, описывающей сложность знаний, необходимых для доказательства факта. Они провели различие между «интерактивными» доказательствами с нулевым разглашением. Две стороны должны неоднократно взаимодействовать, чтобы доказать и проверить факт, а также «неинтерактивные» доказательства с нулевым разглашением, которые устраняют необходимость взаимодействия. Эту проблему можно проиллюстрировать аналогией с пещерой Али-Бабы.

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

Чтобы доказать свои знания, Пегги входит в пещеру, а Виктор ждет снаружи, чтобы не видеть, по какому пути она пойдет. Затем он входит в пещеру и выкрикивает название пути, по которому Пегги должна вернуться. Если Пегги на самом деле не знает пароля, существует 50%-ная вероятность того, что она выйдет из пути, который Виктор хотел, чтобы она использовала. Однако, если они повторят этот тест много раз и Пегги всегда будет выходить с правильного пути, Виктор в конечном итоге может прийти к выводу, что она должна знать пароль.

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

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

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

В статье Блюм, Фельдман и Микали также изложили набор критериев, применимых ко всем доказательствам с нулевым разглашением:

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

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

В настоящее время в протоколах блокчейна используются два типа технологии ZK: ZK-SNARK и ZK-STARK. ZK-SNARK — это аббревиатура, обозначающая краткий неинтерактивный аргумент с нулевым разглашением знаний. Каждая буква является определяющим свойством.

ЗК — протокол с нулевым разглашением. Верификатор может подтвердить факт, не зная самого факта.

Легкий — доказательство меньше и его легче проверить, чем сам факт.

Неинтерактивный — проверяющему и проверяющему требуется взаимодействовать только один раз благодаря общему ключу.

Аргумент знаний — протокол должен соответствовать критериям «надежности», изложенным выше, чтобы его нельзя было обмануть, и для любого, кто не знает этого факта, должно быть непомерно сложно создать ZK-SNARK.

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

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

Продолжение (вторая часть) здесь — > https://blockchainandcrypto.medium.com/%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F-zk-%D0%B8-%D0%BC%D0%B5%D1%81%D1%82%D0%BE-aleo-%D0%B2-%D0%BD%D0%B5%D0%B9-%D1%87%D0%B0%D1%81%D1%82%D1%8C-2-670fea7fc2fc.

Если вы хотите узнать о проекте больше, следите за обновлениями и присоединяйтесь к соцсетям:

Веб-сайт https://www.aleo.org

Twitter https://twitter.com/AleoHQ

Discord https://discord.gg/aleohq

Блог https://www.aleo.org/blog

--

--