通过前向兑换 Hook 改进 Uniswap v4 最优路由

  • thogiti
  • 发布于 2025-03-08 23:52
  • 阅读 68

本文深入探讨了Uniswap v4的新功能hooks,如何通过扩展常数函数市场制造者(CFMMs)的可交易性来改善交易路由。文章详细介绍了hooks的数学原理与应用场景,证明了其在某些条件下能够显著提升交易效率,并保持最佳路由问题的可解性。

介绍 - 自动做市商的发展

如果你曾在 Uniswap 上交易,你可能会把它看作是一个用于代币的去中心化自动售货机——你投入代币 A,它就会吐出代币 B。但这个自动售货机并不是使用固定价格的——它是由一个数学函数来动态确定价格的,该函数基于供需关系进行调整。

Uniswap v4 引入了 hooks,这就像是可以改变这个函数行为的自定义修改。这些 hooks 会干扰曲线,在某些情况下,它们实际上使路由质量更优。这些 hooks 可以:

  • 根据市场条件动态调整手续费。
  • 引入限价单,让交易者指定确切的买入或卖出价格。
  • 使用外部流动性(RFQs),使交易能以比自动池通常允许的更优价格进行。

这就提出了一个根本性的问题:

何时 hook 可以被证明改善路由?

在本文中,我们将严格定义“证明改善路由”,并展示在特定条件下,hooks 会严格扩展执行可能性,改善交易者结果,并保持最佳路由问题的可解性。


CFMMs 和路由的数学

Uniswap 的正常工作方式

一个常数函数做市商(CFMM)为资产 $A$ 和 $B$ 维护储备 $R_A, R_B$,强制施加不变函数:

$$ \Psi(R_A - x, R_B + y) = k. $$

这只是说:

两个代币储备的乘积(或其他某个函数)始终是恒定的。

将 $x$ 单位的 $A$ 兑换为 $y$ 单位的 $B$ 满足正交换函数:

$$ y = \phi(x). $$

这个函数描述的是你每单位代币 A 得到多少代币 B。

对于标准 CFMM(如 Uniswap v2、Curve 或 Balancer),$\phi(x)$ 满足:

  • 单调性:$\phi'(x) \geq 0$(如果你增加代币 A 的数量,你会得到更多代币 B。)
  • 凹性:$\phi''(x) \leq 0$(你交易越多,兑换率越差,因为每多交换一个代币的价格略差。)

$\phi(x)$ 的凹性确保了当你购买更多资产时,你的价格会反向变化,使大宗交易变得更昂贵。

这使得 AMM 像真实市场一样运作——随着你深入交易,流动性被“拉伸”。


Hooks 如何修改交换函数

Uniswap v4 中的 hook 通过引入一个额外的项来修改交换函数:

$$ \tilde{\phi}(x, s) = \phi(x) + h(x, s). $$

其中:

  • $\phi(x)$ 是原始的交换函数。
  • $h(x, s)$ 是 hook 引发的修改。
  • $s$ 是一个外部状态变量(如预言机价格、限价单、RFQ 报价或流动性激励)。

Hook 启用的定价函数示例

上一篇文章 中,我们详细解释了三种基于 Tarun 等人的最新论文 的 hook 启用的正交换函数的用例。

  1. 限价单(分段线性段)

    • 用户在一定量限制下进行固定价格交易。
    • 这使得交换曲线在该范围内“平坦”。

    从数学上讲:

    $$ \tilde{\phi}(x) = \begin{cases} \phi(x), & x < x1 \ P{\text{limit}} x, & x_1 \leq x \leq x_2 \ \phi(x), & x > x_2. \end{cases} $$

    效果:在该中间区域,价格不变——你获得的是固定汇率,没有滑点。

  2. RFQ Hooks(外部流动性源)

    • 函数检查外部价格馈送并获取更优价格,而不是始终跟随 CFMM 曲线:

    $$ h(x, s) = \max(\phi(x), P_{\text{RFQ}}(s)). $$

    效果:这行为类似于传统金融中的暗池,在那里流动性在更优价格位置“神奇地出现”。

  3. 时间加权执行(平滑价格冲击)

    • 并不是一次性交易,而是分为多个小交易进行:

    $$ h(x, t) = \frac{1}{T} \sum_{i=1}^{T} \phi(x_i). $$

    效果:这减少了大交易的价格冲击。

这些 hooks 扩大了可能交易的集合,但什么时候这种扩展实际上改善了路由?


什么时候 Hooks 被证明改善路由

可证明改善的 Hooks 定义

要使 hooks 可证明改善路由,我们要求三个基本属性:

  1. 对任何交易规模没有更差:$\tilde{\phi}(x) \geq \phi(x)$ 对于所有 $x \geq 0$。

    • 意味着:修改后的交换函数永远不会提供比原始函数更差的汇率。
    • 它的重要性:这确保用户永远不会被迫进入次优交易。
  2. 对某些交易规模严格改善:存在 $x^*$ 使 $\tilde{\phi}(x^*) > \phi(x^*)$。

    • 意味着:hook 必须为至少一种交易规模提供明显更好的汇率。
    • 它的重要性:否则,hook 无法扩展可行交易集,使其在功能上无用。
  3. 保持凹性和单调性:$\tilde{\phi}(x)$ 必须保持凹且非递减。

    • 意味着:修改后的函数仍然表现得像一个良定义的市场:较大的交易不会产生递增的边际回报。
    • 它的重要性:确保凹性保证了聚合商的全局路由问题仍然是凸的,这意味着它仍然可以在多项式时间内求解。

因此,我们可以正式定义 可证明改善的 hooks 集合 如下:

$$ \mathcal{H}(\phi) = \Big{ \tilde{\phi} \colon \mathbb{R}+ \to \mathbb{R}+ \; \Big| \; \tilde{\phi}(x) \geq \phi(x) \; \forall x, \quad \tilde{\phi} \text{ 是凹的且非递减的}, \quad \exists x^ \text{ 使得 } \tilde{\phi}(x^) > \phi(x^*) \Big}. $$

这是所有能够证明改善路由的 hook 启用的正交换函数的集合。

如果 $\tilde{\phi} \in \mathcal{H}(\phi)$,则路由是 可证明改善 的。

  • 在 $\mathcal{H}(\phi)$ 中的 hooks 确保交易者永远不能获得更糟的汇率。
  • 如果 $\tilde{\phi}(x) > \phi(x)$,则路由严格改善。
  • 凹性确保最佳路由仍然是可解的。
  • 如果 $\tilde{\phi} \notin \mathcal{H}(\phi)$,则该 hook 要么降低路由质量,要么破坏可解性。

可证明改善路由的数学证明

正式优化问题

交易者的工作是寻找多个流动性池中的最佳路线,优化其效用函数 $U(x)$:

$$ \max{x \in \mathbb{R}+^N} U(x) \quad \text{subject to} \quad x \in \mathcal{F}(\phi). $$

其中:

  • $U(x)$ 是交易者的效用函数(例如,来自交换的净输出)。
  • $\mathcal{F}(\phi)$ 是由 CFMM 正交换函数定义的可行交易集。

当引入 hook 时,可行集扩展到 $\mathcal{F}(\tilde{\phi})$,其中:

$$ \mathcal{F}(\tilde{\phi}) = {(x, y) \in \mathbb{R}_+^2 \;|\; y \leq \tilde{\phi}(x) }. $$

由于 $\tilde{\phi}(x) \geq \phi(x)$ 根据定义,因此新的可行集始终更大, $\mathcal{F}(\tilde{\phi}) \supset \mathcal{F}(\phi)$。

因此,最佳路由解决方案改善:

$$ U(x^(\tilde{\phi})) \geq U(x^(\phi)). $$

如果 hook 在某个交易规模 $x^*$ 上提供严格改善,则:

$$ U(x^(\tilde{\phi})) > U(x^(\phi)). $$

简而言之,如果添加 hooks 总是增加最佳交易,则路由严格改善。

这在以下情况下得以保证:

  1. 可行交易集扩展:$\mathcal{F}(\tilde{\phi}) \supset \mathcal{F}(\phi)$。
  2. 在某个交易区域存在价格改进 $h(x) > 0$。
  3. 聚合商保留选择性:如果 hook 没有好处,可以被忽视。

路由改善的变分证明

现在,让我们通过优化技术严谨地证明这一点。

KKT 条件及其重要性

在最佳交易执行时,Karush-Kuhn-Tucker (KKT) 条件 描述了约束优化问题中最佳性的必要条件。

对于最佳路由问题,一级条件表明:

$$ \frac{\partial U}{\partial x_i} = \lambda \frac{\partial \tilde{\phi}(x)}{\partial x_i}. $$

其中:

  • $U(x)$ 是交易者的效用函数(例如,交易的净输出)。
  • $\lambda$ 是拉格朗日乘数,表示流动性约束的阴影价格。
  • $\frac{\partial \tilde{\phi}(x)}{\partial x_i}$ 是边际交换率,即交易者每单位输入能得到的额外输出量。

这为什么重要?

  • 如果 $\tilde{\phi}(x)$ 在某个 $x$ 上提供比 $\phi(x)$ 更好的汇率,那么:
    • $\frac{\partial \tilde{\phi}(x)}{\partial x_i} > \frac{\partial \phi(x)}{\partial x_i}$。
    • 这增大了最佳交易规模 $x_i^*$,因为交易者总是朝着更高的边际效用每单位输入移动。
  • 路由不改善的唯一方式是交易者完全忽视这个 hook,这与假设 $h(x) > 0$ 在某些 $x$ 上相矛盾。

因此,引入一个可以证明改善的 hook 一定会导致最佳交易量的增加和更好的路由结果。


Gateaux 微分:衡量 Hooks 的影响

另一种理解这一改进的方法是通过变分分析。

考虑对正交换函数的小扰动:

$$ \tilde{\phi}(x) = \phi(x) + \epsilon h(x). $$

其中:

  • $\epsilon$ 是一个缩放因子,表示对原始函数的微小修改。
  • $h(x)$ 是对交换函数的 hook 引发的修改。

要测量这对最佳路由解决方案的影响,我们取效用函数的 Gateaux 导数:

$$ \frac{d}{d\epsilon} U(x^*(\tilde{\phi})) = \sum_{i=1}^{N} \frac{\partial U}{\partial x_i} h(x_i). $$

解释:

  • 由于 $h(x) \geq 0$ 对于所有 $x$(根据 $\mathcal{H}(\phi)$ 的定义),我们可以得出:

    $$ \frac{d}{d\epsilon} U(x^*(\tilde{\phi})) \geq 0. $$

  • 这意味着引入 hook 后,路由结果不会变差。

  • 此外,如果某些交易规模上 $h(x) > 0$,那么:

    $$ \frac{d}{d\epsilon} U(x^*(\tilde{\phi})) > 0. $$

    这证明了在 hook 启用的函数下,最佳路由解决方案严格改善。

因此,我们已经在数学上建立了:

  • Hooks 总是扩展执行可能性,而不会使情况变得更糟。
  • 每当 hook 在某个交易规模上提供严格更好的汇率时,最佳路由解决方案就会改善。

定理:使用 Hooks 可证明的改善路由

现在,让我们正式化一个主要定理,保证 hook 修改的正交换函数在保持凸可解性的同时改善路由。

定理(可证明改善路由)

设 ${ \phii }{i=1}^{m}$ 是 $m$ 个 CFMM 池的原始正交换函数。假设我们通过 hooks 修改它们,得到新函数 ${ \tilde{\phi}_i }_{i=1}^{m}$,其中每个 $\tilde{\phi}_i$ 属于集合 $\mathcal{H}(\phi_i)$。定义新的可行交易集:

$$ \tilde{T}i = {(x,y) \in \mathbb{R}+^2 \;|\; y \leq \tilde{\phi}_i(x) }. $$

那么:

  • 新的路由问题仍然是一个凸优化问题:

    $$ \max{x} U!\Bigl(\sum\nolimits{i=1}^m A_i x_i \Bigr) \quad \text{subject to} \quad x_i \in \tilde{T}_i. $$

  • 最佳结果弱改善:

    $$ U(x^(\tilde{\phi})) \geq U(x^(\phi)). $$

  • 如果某些 $x$ 上 $\tilde{\phi}_i(x) > \phi_i(x)$,则路由严格改善:

    $$ U(x^(\tilde{\phi})) > U(x^(\phi)). $$

因此,$\mathcal{H}(\phi)$ 中的 hooks 可证明改善路由,严格提高用户效用,同时保持可解性。


直觉与关键见解

  • 扩大可行交易集

    • 由于 $\tilde{\phi}(x) \geq \phi(x)$,每个之前的交易仍有效或改善。
    • 结果:路由器总是可以找到相同或更好的路径。
  • 保持凸性 = 保持路由可处理性

    • 凹性确保路由在多项式时间内可解。
    • 如果没有凹性,路由问题可能变为非凸,导致局部最优和低效。
  • 属于 $\mathcal{H}(\phi)$ 的实际 hook 示例

    • 限价单:它们添加了分段线性改进,保持 $\tilde{\phi}$ 凹性。
    • RFQ Hooks:它们提供外部流动性源,严格提高输出函数。
    • 费用折扣:它们向上移动交换函数而不打破凸性。
  • 当 Hook 无法证明改善时

    • 如果 hook 降低任何交易规模的输出,它就未能满足可行交易集条件。
    • 如果 hook 引入一个非凹的区段,它会打破凸可解性。

Hook 效率前沿:金融与 AMMs 的交汇

Hooks 如何改善执行质量

我们可以定义执行质量为:

$$ R = \int{0}^{x^*} (\tilde{\phi}(x) - P{\text{market}})dx. $$

如果:

$$ \max{h} R(h) \geq \max{\phi} R(\phi). $$


均值-方差优化连接

在组合理论中,投资者最大化回报的同时最小化方差:

$$ \max_{x} \mathbb{E}[R(x)] - \lambda \text{Var}[R(x)]. $$

  • Hooks 在这里扮演了新资产类别的角色。
  • 如果它们在不增加方差的情况下增加预期回报,交易者总是更喜欢它们。

因此,hook 启用的 CFMM 扩展了有效路由前沿,就像投资组合多样化改善风险调整回报一样。


结论:这对 Uniswap v4 意味着什么

我们证明了什么

  • Hooks 严格扩展了可能交易的集合。
  • Hooks 从未使路由变得更糟(交易者可以始终忽视它们)。
  • Hooks 将执行前沿向外移动(更好的执行质量)。
  • 从数学上讲,可证明改善的 hooks 确保最佳路由保持凸性和可解性。

Uniswap v4 的 hook 启用正交换函数不仅仅是技术上的好奇心——它们是去中心化交易运作的根本升级。通过扩展数学上可证明的交易改进集,Uniswap 为 DeFi 带来了更灵活、高效和可定制的 AMM 系统。

参考文献

  • 原文链接: github.com/thogiti/thogi...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
thogiti
thogiti
https://thogiti.github.io/