← Back to list

Paper Reading — An analysis of Uniswap markets

Abstract

JingAnSi · 2025-04-29 03:43 · 0 claps · 13.2 min read
#blockchain #amm #cfmm #uniswap #ethereum
Open on Medium ↗
Wiki topics: TLS · Design Tools & Workflow CRY · Crypto & Web3 ECO · Economy · General 📚 · Books & Reading

Paper Reading — An analysis of Uniswap markets

Abstract

尽管 Uniswap 以及其他恒定乘积市场的机制较为简单,但在实际应用中似乎表现良好。在本文中,我们对恒定乘积市场及其扩展形式进行了简单的形式化分析,结果表明,在一些常见条件下,这些市场的价格必定紧密跟随参考市场价格。我们还证明了 Uniswap 具备许多其他令人满意的特性,并通过大规模的基于智能体的模拟从数值上展示出,Uniswap 在广泛的市场条件下都能保持稳定。

Introduction

传统金融原语的去中心化版本在 Ethereum 等第二代区块链的智能合约下得以设计和实现,并产生了一个新的名词,即去中心化金融 DeFi。去中心化金融将借贷、交易的范围从传统金融领域扩展到区块链环境,并产生了一系列新的、更复杂的机制(去中心化交换市场就是一个实例)。DeFi 的价值随着区块链的广泛使用和加密货币市场的火爆不断攀升。

人们已经提出了许多不同的去中心化交易所(DEXs),它们采用了不同的做市商机制,从经典的订单簿机制到其他使用特定绑定曲线的更复杂方法。然而,一种简单但有效的做市商机制就是“恒定乘积做市商机制”,它提供了一个去中心化的代币对交换的简单方案。

另外,恒定乘积做市商机制在其他场景下被用作去中心化的链上预言机,用来反映真实世界的代币现货价格。这种预言机协议利用了套利者的存在:当预言机指示的价格与交易代币的真实市场价格不同,套利者总是可以通过与该预言机进行交易获利,这意味着该预言机指示的价格可能接近参考市场价格。

为什么订单簿模型在链上环境中不可用?由于订单簿模型实际上是未完成的订单集合,要维护这个集合需要在智能合约中开辟非常大的状态空间,这个成本是非常高的。另外,订单簿模型中的订单簿类型非常多(限价订单、止损订单等),导致在智能合约中完成匹配消耗的计算资源很大。总而言之一句话,订单簿模型会导致高昂的链上存储和执行成本

为什么链下执行交易、链上完成结算的交易系统不可用?链上链下的交互是非常复杂的,同时维护链上交易和链下交易的顺序性本来就是非常困难的,在此基础上还需要维护链下交易在上链结算后的链上交易的顺序,这会变得无比困难。最后,链下交易会被分配给大量的中继者,这会导致中继者泄露交易、构造更优先的链上结算等,并且对高频交易是无益的。总而言之一句话,链下执行链上结算的模型会导致安全性泄露和更复杂的机制

自动做市商。自动做市商的构建机制是,首先让流动性提供者以某种固定比例存入资产,以指定对可能结果的初始信念分布。然后,自动做市商提供一个评分规则,该规则规定了将信念分布从当前状态改变到新的期望状态的成本。这个评分规则激励交易者报告他们的真实信念,以便调整分布的预期价值。对交易进行定价只需要进行一次函数求值,而不像订单簿那样需要更复杂的匹配算法。

绑定曲线。函数根据资产的总可用供应量(例如,随着其代币的铸造或销毁)来指定资产的成本,而不是指定改变给定分布的成本。这个函数本身被称为绑定曲线,在某些条件下,资产的最终均衡价格等于市场价格。

Uniswap 模型。在测量资产价格时无需改变资产的供应量。参与者可以按照定价函数指定的价格与该合约进行交易,并且每次交易后,随着储备的变化,这个价格会不断更新。

Constant product markets

常数乘积做市商的定义:

一个用于将 α 型代币与 β 型代币进行交易(反之亦然)的市场。该市场拥有储备 ​>0 和 ​>0 ,恒定乘积 k=​ ,以及百分比手续费 (1−γ)。在这个市场中,用 Δβ​>0个 β 代币换取 Δα​>0个 α 代币的交易,必须满足恒定乘积的公式:

(​−Δα​)(​+γΔβ​)=k

在交易之后,储备会按以下方式更新:​↦​−Δα​,​↦​+Δβ​ ,并且k↦(​−Δα​)(​+Δβ​)。我们始终要求​ 、​>0,这样一来,任何导致储备为非正数的交易都不会被执行(等效地,我们说这样的交易成本无穷大)。

“恒定乘积市场” 这个名称源于这样一个事实:当手续费为零时(即 γ=1 ),任何从 Δβ ​到 Δα ​的交易,都必须以一种使 ​乘积始终等于常数 k 的方式来改变储备。

Optimal arbitrage in Uniswap

有两种代币 α 和 β,可以在参考市场或 Uniswap 合约中进行交易。在这个问题里,我们试图最大化交易利润,比如将借入的一定数量的 β 代币(数量为∆β ),通过 Uniswap 市场换成一定数量的 α 代币(数量为∆α )。然后,我们再将换来的 ∆α 换回 ∆′β ,并归还借入的∆β ,从而获得利润∆′β — ∆β 。如果我们的利润为正(即∆′β — ∆β > 0),那么就存在套利机会,因为我们 “免费” 赚到了钱(也就是说,仅通过在不同市场间交易代币),且没有承担任何风险。最优套利问题就是要问:通过这种方式能获得的最大利润是多少?

在无限流动性市场的情况下,即∆′β = mp∆α (其中 mp 是代币 α 的参考市场价格),我们可以将最优套利问题表述为以下优化问题:

其中优化变量 ∆α ∈ R 和∆β ∈ R,且被限制为非负。这里,(1 — γ) 是 Uniswap 的交易手续费,而约束条件是恒定乘积市场的定义。以这种形式书写时,问题并非明显是凸优化问题,不过它可以很容易地转化为凸优化形式,进而推导出最优交易量∆∗α 和∆∗β 的解析形式。

无套利条件。假设无套利条件得到满足,我们可以证明 Uniswap 市场价格与市场价格的偏差最多为 γ 倍。

无套利条件是什么?金融市场中确保价格稳定、不存在无风险获利机会的重要概念。

Uniswap 中代币 α 的边际价格被定义为极小交易量的价格。这个价格可以通过对恒定乘积市场公式求导得到:

其中我们将 mu = Rβ /Rα 记为不包含手续费的代币 α 的 Uniswap 价格。如果 Uniswap 中 α 的边际价格 γ−1mu 小于市场边际价格 mp,我们总是可以通过进行足够小的交易获得非零利润。(交易手续费的磨损小于套利获得的收益

假设不存在套利机会,则必须有:mu γmp。类似地,通过将 α 和 β 互换并综合结果,我们得到相对于真实市场价格 mp 的 Uniswap 市场价格的以下边界:

这表明,在实际中,交易手续费越高,真实市场价格与 Uniswap 市场价格之间的差距可能就越大

Extensions of the optimal arbitrage problem

有许多因素可能导致交易主体无法抓住套利机会,包括信息噪声、抢跑交易以及交易延迟。我们可以添加一个额外的项来惩罚大额交易。

Other conditions

乘积常数递增。对于每一笔交易,乘积常数 k 是非递减的(如果 γ <1,则严格递增)。

拆分交易成本更高。只要 γ <1,任何交易主体用一定数量( ∆α> 0 )的代币 α 换取一定产出( ∆β ),然后立即再用另一数量( ∆′α > 0 )的代币 α 换取∆′β ,其总产出总是小于一次性用 ∆α + ∆′α 的代币 α 换取某个产出 ∆βᵗᵒᵗ 的情况。

无耗尽属性。即使攻击者拥有无限数量的代币,仅通过交易 α 和 β 也无法完全耗尽 Uniswap 中的所有代币。我们可以很容易地证明总储备始终有下限。

储备增加,流动性增强。直观地说,储备数量越大,任何一笔交易的成本就越低。Uniswap 的边际成本变化(即 Uniswap 市场在微小交易后的微小价格变化的负值)可以通过求二阶导数得到:

假设有两个市场来直接证明这个性质,其中一个市场的储备 R′α > Rα,且两个市场的价格满足:

假设我们在两个市场都交易∆α 个代币,我们可以证明两个市场之间的价格差为:

操纵成本。在无手续费且参考市场具有无限流动性的情况下,可以对操纵恒定乘积市场价格的成本设置下限。如果攻击者希望将恒定乘积市场的价格操纵到 (1 + ε) mp,其中 mp 是真实市场价格,ε > 0 是某个期望的常数,那么攻击者每个周期(这里一个周期可以是,例如,一个区块的挖矿时间)至少需要如下数量的 β 代币。意味着操纵成本与储备量成线性比例关系,这凸显了拥有大储备池的重要性。

流动性提供者收益。在无手续费的情况下(即 γ = 1 时),我们可以很容易地计算 Uniswap 合约(以及相应的任何流动性提供者)的投资组合价值。Uniswap 在时间 t — 1 到 t 之间的相对收益为:

这意味着 Uniswap 合约的总相对收益为:

Discussion

由于套利问题及其风险变体问题都是凸优化问题,我们推测无套利假设在实际中很可能成立。这个问题的凸性还意味着,即使跨多个 Uniswap 市场进行套利,也可以高效地执行。

通过分析观察到 Uniswap 市场手续费对市场价格的影响:无套利假设所保证的价格边界会变宽松。换句话说,随着手续费增加(或者等价地,γ 减小),我们预计 Uniswap 市场价格与给定参考市场价格的偏差会更大。

当储备量很大时,除了极小的价格变动外,操纵价格的成本通常很高 — — 不过,由于当 ε 较小时呈二次缩放,我们可以预期小的价格变动成本相对较低。这意味着依赖 Uniswap(或其他恒定乘积市场)作为价格预言机的协议,不应对小的价格波动过于敏感;否则,拥有中等资源的攻击者可能会利用这一点谋取私利。

Constant mean markets

恒定均值市场是对恒定乘积市场的一种推广。在无交易费用的情况下,恒定均值市场满足以下等式:

在无交易费用时,恒定乘积市场确保其储备的乘积保持不变,而恒定均值市场确保储备的加权几何平均值保持不变。恒定乘积市场是恒定均值市场的一个特殊情况,此时 n=2,w1​=w2​=1/2 且 γ1​=γ2​,并且式中的恒定乘积k被其平方根所取代 。与恒定乘积市场类似,用 Δj ​数量的代币 j 换取一定数量 Λjℓ​ 的不同代币 ℓ != j 时,应始终满足等式:

Optimal arbitrage problem

可以将恒定均值市场的最优套利问题表述如下:

Extensions and properties

同样的,对于大额的交换交易,加入惩罚项。

Discussion

关于恒定均值市场的结果几乎可以直接从恒定乘积市场的结果推导得出。

Agent-based simulation of Uniswap markets

虽然常数乘积市场呈现的特性让我们相信,Uniswap 市场在大多数情况下可能表现良好,但如果不做出一些不太现实的假设,就很难对 Uniswap 市场机制的稳健性做出更有力的论断。

为了通过实验进行验证,我们使用 Gauntlet 领域特定语言(DSL)创建了一个基于智能体的模拟,以明确几种类型的智能体如何在模拟的以太坊区块链上与当前的 Uniswap 合约进行交互。模拟环境通过 Python 绑定与部署在模拟区块链上的 Uniswap 合约进行交互。该环境允许配置网络的初始条件,包括智能体行为的分布和智能体特定的参数。

Simulation markets

智能体有两个可供交易的市场:一个由 Uniswap 合约提供,另一个由简单的随机市场模型提供。

当与 Uniswap 合约进行交互时,智能体可以执行以下几种可能的操作:(a)根据恒定乘积市场公式,用 α 代币交换 β 代币(反之亦然);(b)添加或移除流动性。

参考市场遵循一个简单的幂律模型,其中某种代币 α 的价格 mp ​按以下方式更新:

在这个模拟中使用了三大类智能体:套利者(试图从 Uniswap 市场和参考市场之间的价格偏差中获利)、流动性提供者(持有 UNI 代币以及 α 和 β 货币的投资组合)和交易者(按照简单规则在 Uniswap 市场进行代币交易)。

套利者试图通过在 Uniswap 市场和参考市场之间进行交易来最大化他们的利润。套利者智能体使用一个简单的二次风险成本模型来求解有风险的套利优化问题的一个实例并进行必要的交易。

我们使用这个模型而不是无风险的问题,是因为在实际系统中交易存在噪声(例如网络延迟),通过精确求解无风险问题找到的机会可能不容易执行,或者在执行交易的过程中机会可能就消失了。

初始流动性提供者,他们在模拟开始时向储备中提供一定数量的 α 和 β 代币,并试图通过 Uniswap 交易的手续费获利。我们假设这些流动性提供者在模拟结束前不会撤回他们的头寸。

理性流动性提供者。这些智能体对市场上的三种可能的代币(α、β 以及从 Uniswap 市场铸造的相应 UNI 代币)进行马科维茨投资组合优化。然后,每个智能体求解(凸)投资组合优化问题,并进行适当的交易以重新平衡他们的投资组合。理性流动性提供者模拟了那些基于观察到的历史平均值,通过交易每种代币的头寸并持有相应代币以最大化预期投资回报来寻求利润最大化的智能体。

交易者试图用一定数量的 Δα ​代币交换另一个数量 的Δβ ​代币(反之亦然),前提是在 Uniswap 市场上交易 Δα ​代币的价格与在参考市场上进行相同交易的价格差异不超过某个固定百分比。在我们的模拟中,交易者将从某个概率分布中抽取 Δα​(或Δβ​),并检查在 Uniswap 市场上进行这笔交易是否比在参考市场上进行最多贵某个百分比。如果不是,也就是说,如果智能体能够以合理的价格在 Uniswap 上进行交易,那么该智能体就会使用 Uniswap 合约进行交易。否则,就不进行交易。

Results

模拟结果表明,上述理论结果在各种市场条件下在实践中都成立。

即使存在外部噪声,如随机噪声或由于理性流动性提供者导致的储备变化,Uniswap 的边际价格仍保持在预测的无套利边界内。

在几乎所有的模拟中,在大多数不同的条件下,初始流动性提供者最终的效用都是负的(根据这个定义)。更具体地说,我们注意到只有当市场平均回报接近零时,初始流动性提供者才有正的预期价值,因为他们从所有交易手续费中获得收入,同时又不会落后于由给定的代币对组成的同等投资组合。

Conclusion

尽管恒定乘积市场及其扩展形式较为简单,但它们具有非常良好的理论特性(比如对参考价格有相当严格的无套利边界),这些特性在实践中似乎也成立。我们的模拟结果证实,在广泛的不同市场参数和条件下都是如此,这意味着将恒定乘积市场用作价格预言机,至少乍一看是合理的。


메타데이터
post_id
96c494cda9fb
slug
paper-reading-an-analysis-of-uniswap-markets-96c494cda9fb
url
https://medium.com/@jingansihandsomeman/paper-reading-an-analysis-of-uniswap-markets-96c494cda9fb
canonical_url
https://medium.com/@jingansihandsomeman/paper-reading-an-analysis-of-uniswap-markets-96c494cda9fb
author_url
https://medium.com/@jingansihandsomeman
status
ok
fetched_at
2026-07-20 03:42:01