现代 DEX 的不同解法:0x、AMM 与 Intent
DEX 不是一种固定产品形态。链下签名订单、AMM 流动性池、RFQ 和 intent/solver 网络,分别把找对手、报价和执行交给了不同角色。把它们放在一起比较,比用“是否像 Uniswap”判断一个市场更有用。
0x:订单可以先是消息
0x 把链下订单传播与链上结算分开。Maker 签署交易条件,taker 接受后把订单交给合约;合约核验签名、有效性与资产授权,再按条件执行。链下传播不意味着订单可以任意修改:签名约束了被授权的内容。它也不意味着订单一定能成交,余额或授权可能已经变化。1
把订单先当消息,能够避免每次发布或修改交易意愿都立即占用链上执行资源。代价是传播者需要处理过期信息、重复订单、已经成交的数量与撤销状态。订单消息是协议,订单簿是服务;二者可以由不同的人维护。
0x v4 的规范进一步区分 limit order 与 RFQ order。Limit order 有数量、到期等约束及可指定的参与方字段;RFQ 是针对询价场景的较精简结构。普通读者可以把 RFQ 理解为“请给我这笔规模和条件的报价”,而不是从公开屏幕价格推断自己一定能成交。2
同一套结算协议可以被不同应用接入。可是,使用某一家 Swap API,就仍然在使用它所维护的行情接入、报价筛选和路由计算。0x 自己也把协议与 API 分层描述;不能把商业 API 的存在当成底层协议只能由该服务执行的证明。1
这种服务有真实价值。一次交换可能跨几个池子,订单拆分也会改变总费用和滑点。滑点是预期与实际成交结果之间的差异,不只是界面上的一个百分比开关。路由算法需要估算交易规模、执行费用和流动性变化,远比列出几个价格复杂。
但用户应当能知道:哪些来源被询问了,哪些没有;报价是暂时展示,还是有可核验条件的承诺;路由是否受服务商商业关系影响。把最终的资产转移交给智能合约,只回答了“能否按所签条件交付”,没有回答“用户有没有看到更好的选择”。
AMM:让库存池代替现场配对
AMM 的聪明之处,是没有坚持替 Alice 寻找一个此刻愿意跟她交换的 Bob。它让一组流动性提供者先把资产放进池子,再用公开规则给来交易的人报价。
这是真正的市场设计创新。说很多 DEX 的交易前基础设施仍有集中依赖,不应抹掉 AMM 已经把流动性组织与定价规则搬进协议的事实。
以 Uniswap v2 为例,池子持有两种资产。忽略手续费的简化模型写作 x × y = k:取走一种资产,就必须增加另一种,使储备关系符合规则。买得越多,边际交换条件越不利,因此池子不会以不变价格无限供给。1
这里的公式只解释机制,不是任何资产的估值。一个池子可以按规则工作,同时偏离其他市场价格。套利者通过交易缩小偏差,因此 AMM 也不是脱离外部市场、凭数学创造公允价值的机器。
Alice 不必等 Bob 在线,但要有别人愿意提供库存。流动性提供者承担价格变化、资产风险和被更快交易者利用陈旧报价的风险;用户则需要理解价格影响和最低接收量。原来由做市商管理的一部分工作变成了合约规则,并没有变成零成本。
以具体版本和部署为准,用户可以直接与池合约交互,开发者也可以建立新的入口。核心池、路由合约、官方网页、RPC 节点、索引服务与 token 列表属于不同层。某个网页不可用,不等于池合约不能调用;理论上能够直接调用,也不等于普通用户拥有容易使用的替代入口。
Uniswap v3 进一步引入集中流动性,让提供者把资金放在指定价格区间。这改善某些条件下的资本使用,也增加了仓位管理的选择。v4 又提供 hooks 等扩展机制。它们不应都被压成 v2 的一行公式,更不能对任意 hook 沿用基础池的风险假设。2 3
所以更准确的说法是:AMM 同时协议化了流动性池、交换规则和资产交付,而许多用户仍通过少数界面与路由服务发现和使用这些能力。两件事可以同时成立。
Intent、RFQ 与 solver:谁组织执行
用户通常关心结果:我最多交付多少、至少得到多少、愿意等多久。传统交易界面却经常要求他理解路径、手续费和链上操作。Intent 把这两个层次分开:用户表达被授权的结果约束,其他参与者寻找执行方法。
Solver 是计算或组织执行方案的参与者;filler 是提交或完成订单交割的参与者。不同协议对这些名字有不同定义,不能假定所有 intent 系统都采用同一套竞价规则。
UniswapX 让用户签署订单,由 fillers 竞争完成。它可以组合 AMM 和其他流动性,用户不必自己写出每一步路由。订单约束与结算合约共同限制可接受结果,执行方不能只因为替用户支付了链上费用,就任意减少用户收到的资产。1
但协议层开放参与不等于每个接入角色都没有准入。核验时的官方文档区分了需要准入的报价者(quoter)与可开放参与的执行者(filler):报价者经 Uniswap Labs 准入,赢得 RFQ 的报价者可以取得一段独占机会;开放 filler 在具体拍卖条件允许时参与。官方订单 API 也是实际发现订单的一条基础设施路径。2
开放填单、报价准入、独占窗口、参数服务和订单传播分别解决不同问题,也分别带来控制权。未来版本可能改变这些细节,读协议时需要带上日期和部署范围。
RFQ 向做市商请求特定条件的报价,做市商可以用自己的库存响应。Aggregator 则可能同时访问池子与询价来源,计算拆单和组合执行。0x 的 RFQ 说明把专业链下流动性与链上市场结合,而不是声称所有报价都由链直接生成。3
这些服务能减少用户的操作负担。竞争也可能把一部分原本属于中间环节的收益返还给交易者。不过,更多执行方不一定意味着更分散的有效竞争:资金、连接速度、对冲能力和订单流获取都有规模效应。有没有开放规范,与有没有足够多能真正竞争的参与者,是不同的问题。
同样,“gasless”通常意味着用户不直接提交并支付那笔交易的 gas,成本由执行方承担并进入整体报价;它不是计算和区块空间突然免费。
个人代理怎样选择这些服务
同质、连续交易的数字资产适合池式报价。一个包含特定凭证条件、大额交付、时间弹性或者非标准资产组合的交易,却可能更适合 RFQ 或协商。反过来,对小额、即时、标准化交换,向几十个代理谈判可能完全不划算,直接使用池子更好。
一个用户代理应该有能力承认这一点。若 AMM 已给出最合适的可执行结果,就使用它,不必为了证明 P2P 理念而绕远路。代理市场的目标可以是让 AMM、直接交易和专业做市商在同一组用户约束下接受比较。
不同市场有不同的交易成本,一种成功的解法不必成为所有问题的唯一解法。
用户自己的代理可以使用 solver,也可以同时询问几个不同网络。两者的职责不同:代理表达用户的目标、检查结果;solver 在协议内寻找可执行方案。用户不必自己成为做市商,也不必自己维护所有链的专业路由基础设施。
最值得保留的是可更换性。某个 solver 报价更可靠,就值得选;某个索引服务覆盖更完整,就值得付钱;某个入口把自家渠道排在前面,用户应该能看见这一限制,并改用别的入口。
Intent 的研究不应停在“用自然语言发一个交易愿望”。可执行约束、授权上限、撤销、冲突与失效处理,才决定这个愿望能否安全地交给别人执行。