Механика протокола

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

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

01

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

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

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

02

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

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

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

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

Что не попадает ончейн

Ваш Venmo username, Revtag, Wisetag, хендл PayPal.me, Zelle email, сессия аккаунта и детальные платёжные данные не публикуются на Base. Цепочка видит состояние контракта, хеши, подписи, суммы и события высвобождения, а не полную приватную историю платёжного аккаунта.

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

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

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

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

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

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

Продолжайте исследовать

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

Что такое USDCtoFiat?

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

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

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

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

Создание и управление депозитом продавца бесплатно, хотя за ончейн-действия взимается газ Base. Интеграция offramp SDK бесплатна. При делегированных заполнениях комиссия менеджера Delegate в 0.10% берётся из USDC, высвобождаемых покупателю, а не из вашей фиатной выручки или вашей котировки. Аналитика Peerlytics, вебхуки и кредиты API оплачиваются отдельно.

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

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

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

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

ZKP2P — это то же самое, что USDCtoFiat?

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

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

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

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

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