付款证明是法币应用与 Base 合约之间的桥梁。
智能合约无法直接看到买家的法币付款。ZKP2P 通过在链下验证付款凭据,并给合约一份它可以检查的签名证明,来弥合这一鸿沟。
需要证明什么
要让一笔成交得以释放,付款凭据必须与订单匹配。重要的字段是金额、货币、收款人、支付方式、时间,以及正在被履行的意图。
验证器不需要发布完整的付款历史。它只需要足够的经认证的凭据,以确认这笔付款、这个金额、付给这个收款人,属于这个意图。
当前的验证模型
ZKP2P V3 对受支持的支付流程使用一个 TEE 托管的证明服务。该服务在 AWS Nitro Enclave 内运行验证逻辑,按类型化的平台 schema 核对付款数据,并在付款匹配后签发一份 EIP-712 PaymentAttestation。
这取代了许多流程中以往以买家为主的 zkTLS 模型,因为浏览器端的证明生成缓慢、依赖扩展,并且在支付平台更改其网页界面时脆弱。代价是明确的:用硬件认证的执行和可复现的 enclave 构建,取代要求每个买家在本地生成一份证明。
TEE-TLS 与传统 zkTLS
| 问题 | 传统 zkTLS | TEE-TLS |
|---|---|---|
| 验证在哪里运行 | 买家浏览器或扩展 | Nitro Enclave 证明服务 |
| 买家体验 | 扩展/证明生成可能很重 | 付款凭据在 enclave 内由服务端检查 |
| 验证逻辑 | 服务商模板与证明匹配 | 类型化 schema 与平台特定的转换器 |
| 信任根 | 证明系统加上公证/代理假设 | 硬件认证加上经审计的 enclave 代码 |
| 链上结果 | 签名或验证过的释放数据 | 由验证器检查的 EIP-712 PaymentAttestation |
隐私边界
- 个人付款数据不会发布上链。
- 对手方会看到完成付款所需的收款标识。
- 链上看到的是哈希、nullifier、签名、金额、合约地址和释放事件。
- USDCtoFiat 不持有你的法币账户,不托管你的私钥,也无法撤销一笔支付应用转账。
Keep exploring
Common questions
USDCtoFiat 是什么?
USDCtoFiat 让你在 Base 上把 USDC 卖成 Venmo、Cash App、Chime、Revolut、Wise、Zelle、PayPal 和 Monzo 里的钱。你始终掌控自己的钱包,交易通过 Base 上的非托管 ZKP2P 智能合约结算。
USDCtoFiat 会托管我的资金吗?
不会。每一笔交易都由你自己的钱包签名。你的 USDC 锁定在一个公开的 Base 合约里,只有在买家付款被证明后才会释放给买家。你可以随时提取任何未成交的存款。
出售要花多少钱?
创建和管理卖方存款是免费的,但链上操作需支付 Base gas。offramp SDK 可免费集成。在委托成交中,Delegate 的 0.10% 管理费来自释放给买家的 USDC,而非你的法币收益或你的报价。Peerlytics 分析、webhook 和 API 额度单独定价。
我需要中心化交易所账户吗?
使用 USDCtoFiat 无需交易所账户。你需要一个在 Base 上持有 USDC 的钱包,以及你想收款的那款支付应用的账户。该支付应用自身的账户规则和限额仍然适用。
我需要完成 KYC 吗?
USDCtoFiat 不收集身份证件,不持有你的法币,也不持有你的私钥。你使用的支付应用仍然掌控自己的验证、限额和账户规则。USDC 结算通过 Base 智能合约完成,我们无法改变 Venmo、PayPal、Wise、Zelle 或你的银行的要求。
付款证明和截图一样吗?
不一样。截图容易伪造,并且需要人工判断。ZKP2P 验证经认证的付款数据,并签发一份结构化证明,供链上验证器检查。
USDCtoFiat 会公开我的支付应用历史吗?
不会。个人付款数据不会发布上链。释放路径使用哈希、nullifier 和签名证明,而非公开完整的付款记录。
为什么提 TEE,而不是假装一切都是零知识?
因为准确性很重要。ZKP2P 历史上用过 zkEmail 和 zkTLS,而 V3 对受支持的流程使用 TEE 托管的付款证明。安全模型不同,用户应得到一个精确的解释。