需要证明什么
要让一笔成交得以释放,付款凭据必须与订单匹配。重要的字段是金额、货币、收款人、支付方式、时间,以及正在被履行的意图。
验证器不需要发布完整的付款历史。它只需要足够的经认证的凭据,以确认这笔付款、这个金额、付给这个收款人,属于这个意图。
当前的验证模型
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 不持有你的法币账户,不托管你的私钥,也无法撤销一笔支付应用转账。