Как ZKP2P превращает фиатную оплату в ончейн-высвобождение USDC.

Протокол ZKP2P лежит в основе USDCtoFiat. Продавцы блокируют USDC в смарт-контракте Base, покупатели платят фиатом через обычное платёжное приложение, а подписанная аттестация платежа разблокирует USDC после того, как оплата совпадёт с ордером.

01

Краткая версия

Продавец создаёт депозит, блокируя USDC в EscrowV2 на Base и указывая фиатный способ оплаты, валюту, идентификатор для выплаты и курс. Покупатель выбирает эту ликвидность, запускает ончейн-намерение, платит продавцу в выбранном платёжном приложении и предоставляет подтверждение оплаты.

Протокол не просит ни одну из сторон доверять скриншоту из чата. Подтверждение оплаты проверяется офчейн сервисом аттестации, а итоговая EIP-712 PaymentAttestation проверяется ончейн перед тем, как контракт высвободит USDC.

02

Жизненный цикл заполнения

  1. 01Продавец вносит нативные USDC на Base в EscrowV2 и объявляет принимаемые способы оплаты, валюты и реквизиты получателя.
  2. 02Покупатель выбирает депозит и сигнализирует о намерении через OrchestratorV4. Это намерение резервирует конкретную сумму, пока покупатель платит.
  3. 03Покупатель платит продавцу напрямую в выбранном фиатном приложении. USDCtoFiat никогда не получает и не хранит фиатный перевод.
  4. 04Подтверждение оплаты проверяется на соответствие намерению: сумма, валюта, получатель, временная метка, способ оплаты и ограничения маршрута.
  5. 05Сервис аттестации подписывает PaymentAttestation. Ончейн-верификатор проверяет подпись, значения снимка и нуллификатор, после чего OrchestratorV4 высвобождает USDC.
03

Почему контракт может высвобождать безопасно

ПримитивЧто он делаетПочему это важно
EscrowV2Хранит USDC продавца на BaseНи USDCtoFiat, ни покупатель не могут переместить их в обход правил контракта
Хеш намеренияИдентифицирует один ордер покупателяПривязывает доказательство фиатной оплаты к конкретному заполнению
PaymentAttestationРезультат верификации, подписанный по EIP-712Позволяет одному контракту-верификатору обрабатывать несколько способов оплаты
НуллификаторОдноразовый маркер для платежаНе даёт заявить одну и ту же оплату дважды
Хеш реквизитов получателяХеш идентификатора продавца для выплатыПривязывает платёж к продавцу. Для большинства методов без соли, поэтому любой, кто знает идентификатор, может его сопоставить
04

Что видно публично

Ваш платёжный идентификатор не записывается в Base открытым текстом, но каждый депозит хранит его хеш, и для большинства платёжных методов этот хеш без соли. Любой, кто знает или угадает ваш Cashtag, Revtag, email в Zelle или ID аккаунта Venmo, может вычислить хеш и найти все депозиты, где он используется, а публичный поиск мейкеров ZKP2P возвращает идентификатор, зарегистрированный для хеша. Считайте свой платёжный идентификатор публичным. Вход в платёжное приложение и история аккаунта в Base не публикуются.

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

Продакшн-путь V4

Некастодиальный эскроу плюс офчейн-аттестация платежа.

ZKP2P V3 переносит разбор платежа офчейн и оставляет финальные правила высвобождения ончейн, поэтому UX продавца может поддерживать больше способов оплаты без отдельного контракта-верификатора для каждого рельса.

Конкретный порядок действий в платёжном приложении зависит от способа оплаты. Регистрация через расширение не отменяет правил провайдера: Wise запрещает получать оплату за P2P-продажу криптовалюты, а PayPal может потребовать предварительного одобрения.

EscrowV2
0x777777779d229cdF3110e9de47943791c26300Efконтракт хранения продавца
OrchestratorV4
0x74c55679268FAfB493864915aD16A320AB8c40Baжизненный цикл намерения
USDC
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913нативный токен Base
Verifier
UnifiedPaymentVerifierV4проверяет аттестации платежей

Общие вопросы

Являются ли ZKP2P и USDCtoFiat одним и тем же?

Нет. ZKP2P представляет собой базовый протокол и систему контрактов. USDCtoFiat является продуктом для продавцов, построенным поверх него, чтобы превращать Base USDC в фиат через поддерживаемые платёжные приложения.

Может ли одна фиатная оплата высвободить USDC дважды?

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

Что будет, если покупатель начнёт намерение, но так и не заплатит?

Эта часть депозита продавца временно привязана к открытому намерению, пока оно не истечёт или не будет отменено. Незаполненная ликвидность остаётся доступной для вывода продавцом.

Что такое USDCtoFiat?

USDCtoFiat координирует некастодиальные продажи нативного USDC в сети Base по всему текущему каталогу платёжных методов и валют ZKP2P, включая USD, EUR, GBP, INR и CNY. Требования платёжных провайдеров и правила счетов по-прежнему действуют; техническая поддержка маршрута не означает разрешения использовать внешний счёт, а Wise сейчас запрещает получать оплату за P2P-продажу криптовалюты.

Хранит ли USDCtoFiat мои средства?

Нет. Вы подписываете каждую транзакцию из собственного кошелька. Ваши USDC заблокированы в публичном контракте на Base и высвобождаются покупателю только после подтверждения его оплаты. Любой незаполненный депозит можно вывести в любой момент.

Сколько стоит продажа?

Создание и управление депозитом продавца бесплатно, однако для ончейн-действий требуется gas в сети Base. При делегированном исполнении комиссия Delegate 0,10% удерживается из USDC, передаваемых покупателю, а не из вашей фиатной выручки или указанного курса.

Нужен ли мне аккаунт на централизованной бирже?

Для использования USDCtoFiat биржевой аккаунт не нужен. Вам нужен кошелёк с USDC на Base и аккаунт в платёжном приложении, в котором вы хотите получить оплату. Правила и лимиты самого платёжного приложения по-прежнему действуют.

Нужно ли проходить KYC?

USDCtoFiat не собирает документы, удостоверяющие личность, не хранит ваш фиат и не хранит ваши ключи. Платёжное приложение, которым вы пользуетесь, по-прежнему контролирует собственную верификацию, лимиты и правила аккаунта. Расчёты в USDC проходят через смарт-контракты Base, и мы не можем изменить требования Venmo, PayPal, Wise, Zelle или вашего банка.