Wie ZKP2P eine Fiat-Zahlung in eine Onchain-USDC-Freigabe umwandelt.

ZKP2P ist das Protokoll hinter USDCtoFiat. Verkäufer sperren USDC in einem Base-Smart-Contract, Käufer zahlen Fiat über eine normale Zahlungs-App, und eine signierte Zahlungsattestierung schaltet das USDC frei, nachdem die Zahlung der Bestellung entspricht.

01

Die Kurzversion

Ein Verkäufer erstellt eine Einzahlung, indem er USDC in EscrowV2 auf Base sperrt und die Fiat-Zahlungsmethode, Währung, Auszahlungskennung und den Kurs auflistet. Ein Käufer wählt diese Liquidität, startet einen Onchain-Intent, zahlt dem Verkäufer in der gewählten Zahlungs-App und reicht den Zahlungsnachweis ein.

Das Protokoll verlangt nicht, dass eine der Parteien einem Chat-Screenshot vertraut. Zahlungsnachweise werden offchain durch den Attestierungsdienst geprüft, und die resultierende EIP-712 PaymentAttestation wird onchain verifiziert, bevor der Vertrag USDC freigibt.

02

Der Lebenszyklus einer Ausführung

  1. 01Verkäufer zahlt natives USDC auf Base in EscrowV2 ein und gibt akzeptierte Zahlungsmethoden, Währungen und Zahlungsempfängerdetails an.
  2. 02Käufer wählt die Einzahlung und signalisiert einen Intent durch OrchestratorV4. Dieser Intent reserviert den spezifischen Betrag, während der Käufer zahlt.
  3. 03Käufer zahlt dem Verkäufer direkt in der gewählten Fiat-App. USDCtoFiat empfängt oder hält nie den Fiat-Transfer.
  4. 04Zahlungsnachweise werden gegen den Intent verifiziert: Betrag, Währung, Empfänger, Zeitstempel, Zahlungsmethode und Routen-Einschränkungen.
  5. 05Der Attestierungsdienst signiert eine PaymentAttestation. Der Onchain-Verifier prüft die Signatur, Snapshot-Werte und den Nullifier, dann gibt OrchestratorV4 USDC frei.
03

Warum der Vertrag sicher freigeben kann

PrimitivFunktionBedeutung
EscrowV2Hält Verkäufer-USDC auf BaseWeder USDCtoFiat noch der Käufer können es ohne Vertragsregeln bewegen
Intent-HashIdentifiziert eine Käufer-OrderBindet den Fiat-Zahlungsnachweis an die genaue Ausführung
PaymentAttestationEIP-712 signiertes VerifizierungsergebnisErmöglicht einem Verifier-Vertrag, mehrere Zahlungsmethoden zu handhaben
NullifierEinmaliger Marker für eine ZahlungVerhindert, dass dieselbe Zahlung zweimal beansprucht wird
Zahlungsempfänger-Details-HashHash der Auszahlungskennung des VerkäufersBindet die Zahlung an den Verkäufer. Bei den meisten Methoden ungesalzen, also kann jeder, der das Handle kennt, es zuordnen
04

Was öffentlich ist

Dein Auszahlungs-Handle wird nicht als Klartext auf Base geschrieben, aber jede Einzahlung speichert einen Hash davon, und bei den meisten Zahlungsmethoden ist dieser Hash ungesalzen. Wer deinen Cashtag, Revtag, deine Zelle-E-Mail oder Venmo-Konto-ID kennt oder errät, kann sie hashen und jede Einzahlung finden, die sie nutzt. Die öffentliche Maker-Abfrage von ZKP2P gibt außerdem das zu einem Hash registrierte Handle zurück. Behandle dein Auszahlungs-Handle als öffentlich. Dein Login und Kontoverlauf in der Zahlungs-App werden nicht auf Base veröffentlicht.

Deine Auszahlungskennung ist weiterhin für die Gegenpartei sichtbar, die dich bezahlen muss. Das ist in jedem Zahlungs-App-Abwicklungsflow unvermeidlich: Der Käufer kann ohne ein Ziel kein Fiat senden.

V4 Produktionspfad

Non-custodial Escrow plus offchain Zahlungsattestierung.

ZKP2P V3 verlagert das Zahlungs-Parsing offchain und behält die finalen Freigaberegeln onchain, weshalb die Verkäufer-UX mehr Zahlungsmethoden unterstützen kann, ohne für jede Rail einen eigenen Verifier-Vertrag zu benötigen.

Der genaue Ablauf in der Zahlungs-App hängt von der Methode ab. Eine Registrierung über die Erweiterung setzt die Richtlinien des Anbieters nicht außer Kraft: Wise verbietet Einnahmen aus P2P-Kryptoverkäufen, und PayPal verlangt möglicherweise eine Vorabgenehmigung.

EscrowV2
0x777777779d229cdF3110e9de47943791c26300EfVerkäufer-Custody-Vertrag
OrchestratorV4
0x74c55679268FAfB493864915aD16A320AB8c40BaIntent-Lebenszyklus
USDC
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913nativer Base-Token
Verifier
UnifiedPaymentVerifierV4prüft Zahlungsattestierungen

Häufige Fragen

Ist ZKP2P dasselbe wie USDCtoFiat?

Nein. ZKP2P ist das zugrundeliegende Protokoll und Vertragssystem. USDCtoFiat ist ein verkäuferorientiertes Produkt, das darauf aufbaut, um Base USDC über unterstützte Zahlungs-Apps in Fiat umzuwandeln.

Kann dieselbe Fiat-Zahlung USDC zweimal freigeben?

Nein. Zahlungsattestierungen enthalten einen Nullifier, einen einmaligen Marker, der vom Verifier geprüft wird, um das Wiederverwenden derselben Zahlung gegen mehrere Intents zu verhindern.

Was passiert, wenn der Käufer einen Intent startet, aber nie zahlt?

Dieser Teil der Verkäufer-Einzahlung ist vorübergehend an den offenen Intent gebunden, bis er abläuft oder storniert wird. Nicht ausgeführte Liquidität bleibt vom Verkäufer abhebbar.

Was ist USDCtoFiat?

USDCtoFiat koordiniert nicht verwahrende Verkäufe von nativem Base-USDC im gesamten aktuellen ZKP2P-Zahlungs- und Währungskatalog, darunter USD, EUR, GBP, INR und CNY. Die Voraussetzungen des Zahlungsanbieters und dessen Kontorichtlinien gelten weiterhin; die technische Unterstützung einer Route ist keine Erlaubnis, ein externes Konto zu verwenden, und Wise verbietet derzeit Einnahmen aus P2P-Kryptoverkäufen.

Hält USDCtoFiat meine Gelder?

Nein. Du signierst jede Transaktion aus deiner eigenen Wallet. Dein USDC ist in einem öffentlichen Base-Vertrag gesperrt und wird erst an den Käufer freigegeben, nachdem dessen Zahlung nachgewiesen wurde. Den nicht ausgeführten Teil deiner Einzahlung kannst du jederzeit abheben.

Was kostet der Verkauf?

Das Erstellen und Verwalten einer Verkäufer-Einzahlung ist kostenlos; für Onchain-Aktionen fällt jedoch Base-Gas an. Bei delegierten Ausführungen wird die Verwaltungsgebühr von Delegate in Höhe von 0,10 % vom an den Käufer freigegebenen USDC abgezogen, nicht von deinem Fiat-Erlös oder deinem angebotenen Kurs.

Benötige ich ein zentralisiertes Börsenkonto?

Für die Nutzung von USDCtoFiat ist kein Börsenkonto erforderlich. Du benötigst eine Wallet mit USDC auf Base und ein Konto bei der Zahlungs-App, über die du bezahlt werden möchtest. Die eigenen Kontoregeln und -limits der Zahlungs-App gelten weiterhin.

Muss ich KYC abschließen?

USDCtoFiat erhebt keine Identitätsdokumente, hält kein Fiat und keine Schlüssel. Die von dir genutzte Zahlungs-App kontrolliert weiterhin ihre eigene Verifizierung, Limits und Kontoregeln. Die USDC-Abwicklung erfolgt über Base-Smart-Contracts, und wir können nicht ändern, was Venmo, PayPal, Wise, Zelle oder deine Bank verlangt.