概要
売り手はBase上のEscrowV2にUSDCをロックし、法定通貨の決済方法、通貨、受取識別子、レートを記載してデポジットを作成します。買い手はその流動性を選び、オンチェーンのインテントを開始し、選択された決済アプリで売り手に支払い、支払いの証拠を提出します。
プロトコルはどちらの側にもチャットのスクリーンショットを信頼するよう求めません。支払いの証拠はアテステーションサービスによってオフチェーンで検証され、その結果生じるEIP-712 PaymentAttestationが契約がUSDCを解放する前にオンチェーンで検証されます。
約定のライフサイクル
- 01売り手がBase上のネイティブUSDCをEscrowV2に預け、受け入れる決済方法、通貨、受取人情報を宣言します。
- 02買い手がデポジットを選び、OrchestratorV4を通じてインテントを発信します。そのインテントは買い手が支払う間、特定の金額を予約します。
- 03買い手が選択された法定通貨アプリで売り手に直接支払います。USDCtoFiatが法定通貨の送金を受け取ったり保管したりすることは決してありません。
- 04支払いの証拠がインテントと照合されます。金額、通貨、受取人、タイムスタンプ、決済方法、ルートの制約が確認されます。
- 05アテステーションサービスがPaymentAttestationに署名します。オンチェーンのverifierが署名、スナップショット値、ナリファイアを確認し、その後OrchestratorV4がUSDCを解放します。
なぜ契約は安全に解放できるのか
| プリミティブ | その役割 | 重要な理由 |
|---|---|---|
| EscrowV2 | Base上で売り手のUSDCを保管する | USDCtoFiatも買い手も契約の規則なしには動かせない |
| インテントハッシュ | 1つの買い手注文を識別する | 法定通貨の支払い証明を正確な約定に紐づける |
| PaymentAttestation | EIP-712署名済みの検証結果 | 1つのverifier契約が複数の決済方法を処理できる |
| ナリファイア | 支払いの一回限りのマーカー | 同じ支払いが二度請求されるのを防ぐ |
| 受取人情報ハッシュ | 売り手の受取識別子のハッシュ | 支払いを売り手に結び付けます。ほとんどの方法でソルトなしのため、ハンドルを知る人なら照合できます |
公開されるもの
受取ハンドルはそのままの文字列としてBaseに書き込まれるわけではありませんが、各デポジットにはそのハッシュが記録され、ほとんどの支払い方法ではそのハッシュにソルトがありません。あなたのCashtag、Revtag、Zelleのメールアドレス、VenmoのアカウントIDを知っている、または推測できる人は、それをハッシュ化して、それを使うすべてのデポジットを見つけられます。また、ZKP2Pの公開メーカー検索は、ハッシュに登録されたハンドルを返します。受取ハンドルは公開情報として扱ってください。支払いアプリのログイン情報とアカウント履歴はBaseに記録されません。
あなたの受取識別子は、あなたに支払う必要のある取引相手には依然として見えます。これはあらゆる決済アプリの決済フローで避けられないことです。買い手は送金先なしには法定通貨を送れません。