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.
Siklus hidup pengisian
- 01Penjual menyetor USDC native di Base ke EscrowV2 dan menyatakan metode pembayaran yang diterima, mata uang, dan detail penerima pembayaran.
- 02Pembeli memilih deposit dan menandai intent melalui OrchestratorV4. Intent tersebut mereservasi jumlah tertentu sementara pembeli membayar.
- 03Pembeli membayar penjual langsung di aplikasi fiat yang dipilih. USDCtoFiat tidak pernah menerima atau menyimpan transfer fiat.
- 04Bukti pembayaran diverifikasi terhadap intent: jumlah, mata uang, penerima, cap waktu, metode pembayaran, dan batasan rute.
- 05Layanan attestasi menandatangani PaymentAttestation. Verifier onchain memeriksa tanda tangan, nilai snapshot, dan nullifier, lalu OrchestratorV4 melepaskan USDC.
Mengapa kontrak dapat melepaskan dengan aman
| Primitif | Apa yang dilakukannya | Mengapa penting |
|---|---|---|
| EscrowV2 | Menyimpan USDC penjual di Base | Baik USDCtoFiat maupun pembeli tidak dapat memindahkannya tanpa aturan kontrak |
| Hash intent | Mengidentifikasi satu pesanan pembeli | Mengikat bukti pembayaran fiat ke pengisian yang tepat |
| PaymentAttestation | Hasil verifikasi bertanda tangan EIP-712 | Memungkinkan satu kontrak verifier menangani berbagai metode pembayaran |
| Nullifier | Penanda satu kali untuk pembayaran | Mencegah pembayaran yang sama diklaim dua kali |
| Hash detail penerima pembayaran | Hash dari pengenal pembayaran penjual | Mengikat pembayaran ke penjual. Pada sebagian besar metode tidak diberi salt, jadi siapa pun yang tahu handle-nya bisa mencocokkannya |
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.