259 ЦФА

Главная / Статьи

Применение доказательств с нулевым разглашением (ZKP) для конфиденциальных транзакций с ЦФА

Применение доказательств с нулевым разглашением (ZKP) для конфиденциальных транзакций с ЦФА

Блокчейн по своей природе открыт: любой участник сети может проследить историю транзакций. Для цифровых финансовых активов это создаёт проблему — инвестор может не желать, чтобы размер его портфеля и его сделки были видны другим участникам платформы. Доказательства с нулевым разглашением (Zero-Knowledge Proofs, ZKP) предлагают технологическое решение этой проблемы.

Что такое ZKP простыми словами

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

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

В контексте ЦФА это может означать: доказать, что у вас достаточно средств для покупки, не раскрывая точный баланс. Или подтвердить, что вы прошли идентификацию, не раскрывая личные данные.

Применение ZKP к транзакциям с ЦФА

Защита конфиденциальности баланса

В классическом блокчейне (например, на базе Ethereum или Hyperledger) баланс каждого кошелька виден всем. При работе с ЦФА это означает, что конкурент, контрагент или любой другой участник платформы может узнать размер ваших активов.

ZKP позволяет скрыть сумму и отправителя транзакции, предоставляя криптографическое доказательство её валидности. Верификатор (узел сети или смарт-контракт) проверяет, что:

  • У отправителя действительно есть необходимое количество ЦФА.
  • Транзакция подписана владельцем.
  • Сумма не отрицательна.

При этом ни балансы, ни суммы отдельных транзакций не раскрываются.

Конфиденциальные аукционы

При первичном размещении ЦФА заявок цена, предложенная каждым участником, может быть скрыта с помощью ZKP. Смарт-контракт проверяет корректность заявки (наличие средств, соответствие параметрам аукциона) без раскрытия цены другим участникам.

Соответствие KYC/AML без раскрытия данных

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

Технические реализации ZKP

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

Тип ZKPОсобенностиВычислительная нагрузкаУровень зрелости
zk-SNARKsКомпактные доказательства, быстрый verifyВысокая (генерация)Высокий (Zcash, Ethereum)
zk-STARKsНе требуют доверенной настройкиОчень высокаяСредний
BulletproofsБаланс между размером и скоростьюСредняяСредний
PLONKУниверсальная система, гибкаяСредняяСредний

Проблема: конфликт ZKP и антиотмывочного законодательства

Главное препятствие для внедрения ZKP в российские системы ЦФА — требования законодательства о противодействии легализации доходов (№ 115-ФЗ). Банк России требует от операторов прозрачности операций для целей финансового мониторинга.

Оператор обязан:

  • Хранить все данные о транзакциях и предоставлять их Росфинмониторингу по запросу.
  • Иметь возможность идентифицировать стороны каждой сделки.
  • Отслеживать подозрительные операции.

Полная конфиденциальность транзакций через ZKP противоречит этим требованиям. Возможное решение — «схема с восстановлением»: оператор хранит ключи дешифрования и может раскрыть детали транзакции по запросу регулятора. Это снижает уровень конфиденциальности, но удовлетворяет требованиям АМЛ/КВТ.

Текущее состояние внедрения

Ни одна из действующих российских платформ ЦФА не реализовала ZKP в полном объёме. Технически это связано с:

  • Относительной молодостью технологии и малым числом разработчиков ZKP в России.
  • Высокими вычислительными затратами, несовместимыми с текущей пропускной способностью платформ.
  • Отсутствием нормативных требований к конфиденциальности транзакций с ЦФА.

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

Часто задаваемые вопросы

Вопрос: Могу ли я потребовать от оператора скрыть мои транзакции с ЦФА?

Ответ: Закон не даёт вам такого права. Оператор обязан обеспечить прозрачность для целей финансового мониторинга. Если оператор внедрит ZKP, он будет использовать схему с возможностью раскрытия для регулятора.

Вопрос: ZKP замедляет транзакции?

Ответ: Да, генерация доказательства требует дополнительных вычислений. В зависимости от типа ZKP и сложности транзакции замедление может составлять от десятков миллисекунд до нескольких секунд.

Вопрос: Может ли ЦБ РФ обязать операторов внедрить ZKP?

Ответ: Теоретически да, если будет признано, что конфиденциальность транзакций необходима для защиты инвесторов. Практически — это потребует серьёзной переработки технических стандартов.

Вопрос: Если ZKP скрывает детали транзакции, как налоговая будет проверять сделки?

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

Вопрос: Используется ли ZKP в зарубежных системах цифровых активов?

Ответ: Да. Zcash использует zk-SNARKs для защиты конфиденциальности транзакций. Aztec Network на Ethereum предлагает конфиденциальные смарт-контракты на базе zk-SNARKs. Но эти системы не регулируются как финансовые инфраструктуры в российском понимании.

Источники