0xAA|2025年12月14日 11:54
路由hook合约其实引入了新的信任假设。
我们最早也是尝试用路由合约接入 hooks,但发现需要信任第三方 facilitator 不作恶。
举个简单的例子:
👤 用户提交的数据有两部分:
- ERC3009相关的 data 和 signature
- hook 执行相关的 data
✅ 对于诚实的 Facilitator,他会按照用户的意图调用 SettlementRouter,向商户转账并执行 hook,一切安好。
👾 对于作恶的 Facilitator,他可以仅用ERC3009相关数据和签名,直接调用 ERC3009 的 `transferWithAuthorization` 函数,将资金转入 Router 合约,而不调用 Router 的 `settleAndExecute` 执行转账和hook。这样的话,商家没有收到钱,hook 逻辑也没有被运行。
因此,这里引入了新的信任假设:用户需要信任 Facilitator 是诚实的。
但是,nuwa 有一点做的非常好,他在 Router 合约中加入了“恢复逻辑”:
如果恶意 Facilitator 将用户的资金转入到 Router 合约中,善意的 Facilitator 使用相同的输入,可以利用 Route 合约中的资金,帮助用户继续执向商户转账和Hook逻辑。
这里的信任假设非常弱,但仍存在:用户需要信任至少有一个 Facilitator 是诚实的。
我觉得是可以接受的信任假设。
https://github.com/nuwa-protocol/x402-exec/blob/main/contracts/src/SettlementRouter.sol(0xAA)
分享至:
脉络
热门快讯
APP下载
X
Telegram
复制链接