Cara ZKP2P mengubah pembayaran fiat menjadi pelepasan USDC onchain.

ZKP2P adalah protokol di balik USDCtoFiat. Penjual mengunci USDC dalam smart contract Base, pembeli membayar fiat melalui aplikasi pembayaran biasa, dan attestasi pembayaran yang ditandatangani membuka kunci USDC setelah pembayaran sesuai dengan pesanan.

01

Versi singkat

Penjual membuat deposit dengan mengunci USDC di EscrowV2 di Base dan mendaftarkan metode pembayaran fiat, mata uang, pengenal pembayaran, dan tarif. Pembeli memilih likuiditas tersebut, memulai intent onchain, membayar penjual di aplikasi pembayaran yang dipilih, dan mengirimkan bukti pembayaran.

Protokol tidak meminta salah satu pihak untuk mempercayai tangkapan layar obrolan. Bukti pembayaran diperiksa offchain oleh layanan attestasi, dan EIP-712 PaymentAttestation yang dihasilkan diverifikasi onchain sebelum kontrak melepaskan USDC.

02

Siklus hidup pengisian

  1. 01Penjual menyetor USDC native di Base ke EscrowV2 dan menyatakan metode pembayaran yang diterima, mata uang, dan detail penerima pembayaran.
  2. 02Pembeli memilih deposit dan menandai intent melalui OrchestratorV4. Intent tersebut mereservasi jumlah tertentu sementara pembeli membayar.
  3. 03Pembeli membayar penjual langsung di aplikasi fiat yang dipilih. USDCtoFiat tidak pernah menerima atau menyimpan transfer fiat.
  4. 04Bukti pembayaran diverifikasi terhadap intent: jumlah, mata uang, penerima, cap waktu, metode pembayaran, dan batasan rute.
  5. 05Layanan attestasi menandatangani PaymentAttestation. Verifier onchain memeriksa tanda tangan, nilai snapshot, dan nullifier, lalu OrchestratorV4 melepaskan USDC.
03

Mengapa kontrak dapat melepaskan dengan aman

PrimitifApa yang dilakukannyaMengapa penting
EscrowV2Menyimpan USDC penjual di BaseBaik USDCtoFiat maupun pembeli tidak dapat memindahkannya tanpa aturan kontrak
Hash intentMengidentifikasi satu pesanan pembeliMengikat bukti pembayaran fiat ke pengisian yang tepat
PaymentAttestationHasil verifikasi bertanda tangan EIP-712Memungkinkan satu kontrak verifier menangani berbagai metode pembayaran
NullifierPenanda satu kali untuk pembayaranMencegah pembayaran yang sama diklaim dua kali
Hash detail penerima pembayaranHash dari pengenal pembayaran penjualMengikat pembayaran ke penjual. Pada sebagian besar metode tidak diberi salt, jadi siapa pun yang tahu handle-nya bisa mencocokkannya
04

Apa yang publik

Handle pembayaran Anda tidak ditulis ke Base sebagai teks biasa, tetapi setiap deposit mencatat hash-nya, dan pada sebagian besar metode pembayaran hash itu tidak diberi salt. Siapa pun yang tahu atau menebak Cashtag, Revtag, email Zelle, atau ID akun Venmo Anda bisa meng-hash-nya dan menemukan setiap deposit yang memakainya, dan pencarian maker publik ZKP2P mengembalikan handle yang terdaftar untuk sebuah hash. Anggap handle pembayaran Anda publik. Login dan riwayat akun aplikasi pembayaran Anda tidak diposting ke Base.

Pengenal pembayaran Anda tetap terlihat oleh counterparty yang perlu membayar Anda. Hal itu tidak dapat dihindari dalam alur penyelesaian aplikasi pembayaran apa pun: pembeli tidak dapat mengirim fiat tanpa tujuan.

Jalur produksi V4

Escrow non-kustodial ditambah attestasi pembayaran offchain.

ZKP2P V3 memindahkan penguraian pembayaran ke offchain dan menjaga aturan pelepasan akhir onchain, itulah mengapa UX penjual dapat mendukung lebih banyak metode pembayaran tanpa kontrak verifier bespoke untuk setiap rel.

Alur persis di aplikasi pembayaran berbeda-beda menurut metodenya. Pendaftaran ekstensi tidak mengesampingkan kebijakan penyedia: Wise melarang penerimaan dana dari penjualan kripto P2P, dan PayPal mungkin memerlukan persetujuan awal.

EscrowV2
0x777777779d229cdF3110e9de47943791c26300Efkontrak kustodi penjual
OrchestratorV4
0x74c55679268FAfB493864915aD16A320AB8c40Basiklus hidup intent
USDC
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913token Base native
Verifier
UnifiedPaymentVerifierV4memeriksa attestasi pembayaran

Pertanyaan umum

Apakah ZKP2P sama dengan USDCtoFiat?

Tidak. ZKP2P adalah protokol dan sistem kontrak yang mendasarinya. USDCtoFiat adalah produk yang berfokus pada penjual yang dibangun di atasnya untuk mengubah USDC Base menjadi fiat melalui aplikasi pembayaran yang didukung.

Bisakah pembayaran fiat yang sama melepaskan USDC dua kali?

Tidak. Attestasi pembayaran menyertakan nullifier, penanda satu kali yang diperiksa oleh verifier untuk mencegah pemutaran ulang pembayaran yang sama terhadap beberapa intent.

Apa yang terjadi jika pembeli memulai intent tetapi tidak pernah membayar?

Bagian dari deposit penjual tersebut sementara terikat pada intent terbuka hingga kedaluwarsa atau dibatalkan. Likuiditas yang belum terisi tetap dapat ditarik oleh penjual.

Apa itu USDCtoFiat?

USDCtoFiat mengoordinasikan penjualan USDC native di Base secara non-kustodial di seluruh katalog pembayaran dan mata uang ZKP2P saat ini, termasuk USD, EUR, GBP, INR, dan CNY. Kelayakan penyedia pembayaran dan kebijakan akun tetap berlaku; dukungan rute secara teknis tidak berarti Anda diizinkan memakai akun eksternal, dan Wise saat ini melarang penerimaan dana dari penjualan kripto P2P.

Apakah USDCtoFiat menyimpan dana saya?

Tidak. Anda menandatangani setiap transaksi dari wallet Anda sendiri. USDC Anda terkunci dalam kontrak Base publik dan hanya dilepaskan ke pembeli setelah pembayaran mereka terbukti. Anda dapat menarik deposit yang belum terisi kapan saja.

Berapa biaya untuk menjual?

Membuat dan mengelola deposit penjual gratis, meskipun tindakan onchain memerlukan gas Base. Pada fill yang didelegasikan, biaya pengelolaan Delegate sebesar 0,10% diambil dari USDC yang dilepas kepada pembeli, bukan dari hasil fiat atau kurs yang Anda tawarkan.

Apakah saya memerlukan akun bursa terpusat?

Tidak diperlukan akun bursa untuk menggunakan USDCtoFiat. Anda memerlukan wallet yang menyimpan USDC di Base dan akun di aplikasi pembayaran tempat Anda ingin dibayar. Aturan dan batasan akun aplikasi pembayaran itu sendiri tetap berlaku.

Apakah saya perlu menyelesaikan KYC?

USDCtoFiat tidak mengumpulkan dokumen identitas, menyimpan fiat Anda, atau menyimpan kunci Anda. Aplikasi pembayaran yang Anda gunakan masih mengontrol verifikasi, batasan, dan aturan akunnya sendiri. Penyelesaian USDC terjadi melalui smart contract Base, dan kami tidak dapat mengubah apa yang diminta Venmo, PayPal, Wise, Zelle, atau bank Anda.