问题背景
在 x402 支付协议中,我们希望实现:- 用户免 gas:Facilitator 代付所有链上交易费用
- 最小信任:用户只需信任卖家,不需要信任 Facilitator
- 简单易用:卖家无需部署复杂的智能合约
传统 Permit 方案的信任问题
方案一:授权给 Facilitator
如果让用户将代币授权给 Facilitator(spender = facilitator),存在信任风险:
- 用户必须信任 Facilitator 不会作恶
- Facilitator 理论上可以将资金转移到任意地址
- 违背了 x402 的”最小信任”原则
方案二:授权给卖家,但 gas 由谁付?
如果让用户直接授权给卖家(spender = seller):
- 卖家需要自己提交交易并支付 gas
- 或者卖家需要部署智能合约来处理支付
- 增加了卖家的技术门槛和成本
EIP-7702 的解决方案
什么是 EIP-7702?
EIP-7702 允许 EOA(普通钱包地址)临时获得智能合约的能力:- 通过签名授权,EOA 可以”委托”一个智能合约的代码
- 在委托期间,这个 EOA 的行为就像一个智能合约
- 可以随时撤销委托,恢复成普通 EOA
卖家钱包合约的工作原理
卖家通过 EIP-7702 将自己的 EOA 升级为”卖家钱包”后,可以实现以下逻辑:- 接收用户的 Permit 授权(用户授权给卖家 EOA)
- 自动执行转账(从用户钱包转到卖家 EOA)
- 自动分账:
- 99% 转给卖家的受益人地址
- 1% 作为 Facilitator 手续费
完整支付流程
核心优势
1. 零托管风险
- Facilitator 只负责:提交交易 + 支付 gas
- 资金直接从用户转到卖家指定地址
- 没有任何第三方托管环节
2. 最小信任模型
- 用户只需信任卖家(买卖双方的天然信任)
- 不需要信任 Facilitator 或其他第三方
- 符合用户心理预期
3. 用户完全免 gas
- 所有链上交易费用由 Facilitator 承担
- 用户只需签名(离链操作,免费)
- Facilitator 通过手续费获得激励(如 1%)
4. 卖家零门槛
- 一次性设置成本:~$1-3(EIP-7702 授权 gas)
- 后续所有支付:0 成本
- 远低于部署智能合约(~$50-200)
5. 灵活配置
每个卖家可以独立配置:- 受益人地址:资金最终到账的地址
- 手续费率:Facilitator 获得的比例(如 0-5%)
- 信任的 Facilitator:白名单机制
6. 保持 EOA 身份
7. 更多应用可能
-
Settle Hook 合约:在卖家钱包流程中增加 settle 钩子(Hook),将后置业务逻辑封装到独立合约中:
- 更灵活地制定卖家的结算/核销/开票/权限分配等逻辑
- 在部分场景下降低对“settle 执行完成后”离线流程的维护成本
- 可版本化、可替换,不影响买家地址与最小信任模型
-
“挖矿”式代付市场:将用户已签名的交易/支付意图广播给愿意参与的 Facilitator:
- 通过手续费激励,先提交并成功结算者获得奖励
- 提高成功率与可用性,减少对单一 Facilitator 的依赖
- 对买家/卖家透明,仍保持免 gas 与最小信任体验
与其他方案的对比
| 方案 | 用户免 gas | 最小信任 | 卖家门槛 | 部署成本 |
|---|---|---|---|---|
| 授权给 Facilitator | ✅ | ❌ | 低 | 无 |
| 卖家自己提交交易 | ❌ | ✅ | 中 | 无 |
| 卖家部署智能合约 | ✅ | ✅ | 高 | 中 |
| EIP-7702 卖家钱包 🏆 | ✅ | ✅ | 低 | 低(~$0.05) |
适用场景
✅ 推荐使用 EIP-7702 的场景:
- 支持更多代币/更多链/更多场景
- 最小信任原则(买家只需信任卖家)
- 希望为 Facilitator 提供激励(手续费分配)