作者:Shew,仙壤
流动性是金融市场的重要话题,无论是Defi还是中心化交易平台,亦或是传统金融领域,在设计任意类型的交易市场时都要考虑如何获取并高效利用流动性。
在Defi领域中,很多项目的成功都归因于其向用户提供了充分的流动性,相当多研究认为,Pump.fun使用Bonding Curve为早期代币发行提供流动性是其成功的核心原因之一。而未来的DeFi创新,必定会围绕流动性利用方式的进一步优化来展开。
在本文中,我们将以流动性利用方式为核心,讨论以下几部分内容:
1. 流动性的基础规则。在传统金融中,对于流动性的讨论已相当丰富,本部分将简单介绍一些结论,比如流动性与价格发现之间的矛盾,以及在DeFi领域中与流动性有关的不可能三角
2. 当前DeFi系统内的流动性提供情况。由于DeFi领域在不断推陈出新,我们已经看到intent solver等之前从未被讨论的市场参与者,如今已成为市场的主要流动性提供方
3. 未来可能实现的流动性提供方案,比如Injective曾提出的流动性可用性框架等
流动性的权衡
在传统金融领域,有一门深入研究市场流动性的学科,叫“微观市场结构”,其中存在一个有趣的结论:“流动性与包含信息的价格之间存在对抗关系”。
简单来说,假如我们希望资产价格被更好的发现,那么我们就会缺失流动性;当我们放弃价格发现,就会拥有更好的流动性。这里一个较为极端的案例是内幕交易,理论上内幕交易更容易将价格控制在合适的位置,但内幕交易者获取的巨额利润其实来自于市场内流动性提供者,所以内幕交易会严重消耗流动性,这也是监管当局限制内幕交易的一个原因。
而在DeFi领域,以前的很多项目都不会过多考虑价格发现与流动性之间的对抗关系。比如在 Uniswap V2,大家只关注x*y=k定价公式可以保证每笔买卖发生后资产价格可随之变化,同时确保任意数额的交易都不会耗尽AMM的流动性。
然而对于如何提高交易平台内的流动性,Uniswap V2只使用了最被动的机制,靠手续费激励驱使LP向AMM注入流动性。当然,我们也可以发现,价格发现造成的变动构成了滑点损失的大部分。滑点损失的另一部分是因为MEV攻击,由于本文主要讨论流动性问题,所以在不进一步讨论MEV。

核心目标是进行稳定币兑换的Curve就使用了一些更有趣的曲线,价格变动更加平缓,以提高流动性降低滑点。我们可以认为这是一种降低价格发现来提高流动性的权衡。由于稳定币对之间的价格波动较小,这种权衡带来的收益很高而弊端很少,使得Curve成为了以太坊生态系统内最大的稳定币兑换协议。
下图中的Stableswap invariant 就是Curve的价格曲线,我们可以看到相比于Uniswap v2的曲线,Curve更平滑的降低了滑点,但价格发现不足会带来另一个问题,即AMM内价格偏离实际市场价格时,由于价格发现效率较低,套利者需要花费大量资金才能将AMM内的资产价格调整到正确位置。

伴随着AMM领域的进一步发展,Uniswap V3最终推出了自选区间提供流动性的方案,在这种方式下,不同价格区间内的流动性都不一致,价格发现能力也不一致,LP可以根据自己对价格的预测来添加流动性。
Uniswap V3可以认为是AMM的终局,Paradigm曾指出,Uniswap V3的流动性提供模式可以模拟任意AMM曲线,理论上我们可以将其流动性分布视为所有LP对价格发现和滑点的最终取舍结果。如下图展示了BTC/USDC市场的流动性分布,LP在不同区间内注入的流动性表达了他们对价格发现与滑点之间的看法。

我们可以看到对于流动性与价格发现之间的权衡,当前协议有两种解决方案:
1. 根据服务市场的特殊性,协议设计方直接给出最终的取舍,比如Curve专注于稳定币兑换,所以设计者直接选择了倾向流动性的机制
2. 设计开放机制,流动性提供者自己来权衡,比如Uniswap V3将流动性和价格发现的权衡交给LP自己去做,而传统金融交易所内的订单簿也是由挂单者自己决定
在流动性方面,另一个有趣的问题是交易市场的不可能三角,即任意交易市场都要在交易价格、交易量和交易时间之间进行取舍。假如用户希望以最优价格和最快速度成交,那么一定无法完成数额较大的交易;如果用户希望进行大额交易并以最优价成交,那么就要花费大量时间拆分订单并在不同平台完成交易;如果用户想快速交易并满足很大的交易额,就无法以最优价成交,滑点必定很大。
有趣的是,流动性的增加可以在很大程度上解决不可能三角问题,显然当交易市场的流动性充分大时,任何交易都能以最优价、最快速度、最大额度来完成。
但在目前,所有的AMM几乎都只能确保交易时间和交易量,这是由区块链的特殊性所致,因为用户必须在一笔交易内完成代币兑换,这就使交易时间趋近无限小,此外出于复杂度和手续费方面的考量,几乎所有的AMM都允许近乎无限量的代币兑换在一笔交易内完成,这必然会导致高滑点。
对于智能合约而言,AMM兑换代币的原子性很重要,这使得AMM成为了DeFi乐高内重要的一环,比如稳定币协议等会直接和AMM交互来稳定价格。但是,市场上的主力用户往往是非智能合约账户,他们并不在意交易原子性问题,可以容忍交易在几分钟内完成而不是立即完成。
所以目前出现了intent协议通过舍弃交易速度来换取更好的成交价格和更大的交易量。在下一部分中,我们将详细介绍目前链上主要的流动性提供协议及其在不可能三角中的取舍,并会特别关注一些新兴协议,比如intent。
流动性提供协议
关于流动性提供协议,它与流动性提供者LP不是一个概念。比如说,AMM就是一种流动性提供协议,任何人都可以借助AMM内的流动性完成代币买卖,而向AMM资金池注入资产的用户才是LP。由于我们主要讨论协议层面的设计,所以暂时忽略协议背后真正的LP。
AMM
AMM是跨时代的创新,它使得链上代币买卖真正成为可能。大多数AMM往往采用基于不变量的数学方法,系统内存在三种不同的角色:
1. 流动性提供者,为AMM提供流动性
2. 交易者,发起交易完成代币买卖
3. 套利者,在AMM和其他平台之间进行套利,间接抹平价差
下图引用自SoK: Decentralized Exchanges (DEX) with Automated Market Maker (AMM) Protocols。该图展示了AMM的流动性添加和交易的基本流程。

可以说,AMM是一个兼顾价格发现和流动性的协议,它在设计时顾及了交易时间(任何代币兑换都可以在一笔交易内完成) 和交易量(理论上可以兑换无限数量代币),但弱化了对交易价格的控制。
一般而言,用户发起交易的数额越大,滑点损失会超线性上涨。当然,在任何类型的交易平台中,快速买卖大量资产都会严重影响市场价格,而AMM对此的优势在于可以事先根据曲线预测一笔交易对价格的影响。
此外,AMM提供的交易原子性对于链上协议是一种重要特性,这让链上协议第一次拥有了介入交易的能力,比如借贷协议的清算过程几乎完全依赖于AMM系统,清算者经常使用闪电贷获得被清算仓位的抵押物,然后直接在AMM上出售抵押品并偿还闪电贷。
由于闪电贷本身是在AMM的交易原子性基础上实现的,假如没有AMM,链上借贷协议的大仓位清算几乎无法实现。
此外,AMM的价格发现能力对于链上系统而言也非常有用,这使得资产定价成为可能。在ERC-20出现后,链上资产发行已经不是问题,然而在AMM出现前,如何直接在链上对代币进行定价是一个很难解决的问题。
AMM出现后,我们可以通过AMM对链上代币进行定价,对于资产发行者而言,只需要向AMM内注入初始流动性就可以,随着DeFi的发展,后来又出现了流动性挖矿等更为便捷的流动性提供方式。
AMM提供的价格发现和原子性代币兑换为Defi的发展奠定了坚实基础,但由于区块链本身的延时问题,更多资产选择在CEX内进行实时交易,这些代币在CEX内的交易量往往远大于在AMM内的交易量,换言之,这些代币主要在CEX内进行价格发现,而不是在AMM内。
这造成的问题是,AMM内的资产价格会滞后于CEX,套利者可以从中获取价差,但这种套利可能会对正常交易者造成不利影响。
简单来说,对于DeFi协议而言,AMM是由于存在原子性,所以仍是DeFi生态内不可缺少的一环。而AMM的价格发现功能也使其成为了新资产发行后定价的核心平台,但另一方面,由于 AMM价格发现受限于区块延时等,当代币上线后AMM无法主导价格发现流程,此时对于交易者而言,在AMM内交易可能会出现比CEX更差的情况。
聚合器
虽然AMM构成了Defi生态中的核心部分,然而其缺陷依然不可忽视,其中比较明显的就是流动性割裂问题。不同AMM采用不同的流动性池,甚至一个AMM中的不同代币对都有彼此独立的池子,流动性高度分散。
目前跨多个AMM和代币对交易需要大量的优化策略,比如将大额订单拆分为多笔小额单,然后到不同AMM内交易,或者寻找一些中间资产作为中介,这样做的结果便是大幅提升了交易成本。
关于大额订单的拆分与路由,往往需要专业的方案提供商来提供最优的代币兑换路径,聚合器就是承担这一角色。下图展示了0x聚合器在一笔交易内求解获得的代币兑换路径,我们可以看到在MKR兑换USDT的过程中,0x使用了多种中间资产进行兑换。

对于链上交易者而言,与单纯使用AMM相比,用聚合器进行交易往往更高效。聚合器往往用无套利策略求解路径,在交易过程中交互的所有池子在交易结束后都不存在套利路径,所以聚合器没有价格发现功能,它考虑的单纯是在某一个价格下是否有充足的流动性。
简单来说,聚合器放弃了价格发现以实现更好的流动性,在不可能三角的取舍上,聚合器与AMM基本一致,都舍弃了交易时间而保全交易量与成交价。聚合器底层使用AMM,但聚合了AMM系统内割裂的流动性,使得滑点比普通的AMM更低。
但聚合器问题在于,只适用于链上交易者而不适用于智能合约账户直接采用。因为聚合器都是使用API来响应交易请求,这一过程并不在链上完成,当用户认为聚合器API给出的报价合理时,再根据聚合器的交易路径执行交易。
很显然这种异步的方式没有原子性,所以聚合器没有办法被合约直接调用。
Intent
聚合器只是对单笔用户的交易进行响应,但是理论上批量执行交易可以获得更好的效果,所以intent协议出现了。
所谓intent是指用户将预期的代币买卖结果以类似限价单的形式发送给聚合器,求解者Solver会尝试以最优方式处理订单。
不同于聚合器将多笔订单孤立求解,intent的Solver会将一批交易批量求解,根据订单流执行一些策略,比如订单内化----订单流内可能出现两笔方向相反的订单,此时可以直接撮合这两笔订单成交,不需要借助AMM的第三方流动性。
另外,求解者在执行订单流时也可以借助CEX内的流动性,比如可以直接在 Binance 内买入代币以填充用户订单。
Intent的好处还在于可以降低潜在的MEV损失。因为交易的最终执行是由Solver进行,一般会通过MEV基础设施确定性批量执行交易,可以极大程度避免被MEV攻击。

从本质来看,我们可以认为intent是一种更高级的聚合器,传统聚合器1inch等也推出了自己的intent方案。但相比于聚合器,intent第一次实现了对链外流动性的使用,进一步优化了交易体验。
与聚合器类似,intent协议实际上也不具备价格发现功能,我们很难使用intent协议对某一个新资产进行定价。在不可能三角取舍上,intent更类似传统的订单簿模型,协议选择了更优的成交价格和更大的交易量,但放弃了交易时间层面的追求,在CoWSwap内,用户提交的交易每3个区块上链一次,假如用户给出的报价过于苛刻,那么这笔交易可能一直得不到Solver响应迟迟不能上链。
INJ公链的“流动性可用性”方案
前面我们依次分析了AMM、聚合器和intent,下面的问题在于,是否可以设计出一套更优秀的交易市场,在流动性问题上发挥出更好的效果。Injective对此提出了自己的解决方案,即流动性可用性框架。
上文介绍的AMM流动性是典型的dApp专属流动性,AMM要自行维护协议内的流动性,比如Uniswap V2曾通过流动性挖矿积累了大量流动性,然而这些流动性无法被其他AMM使用。
dApp专属流动性的最大缺点就是流动性割裂,这也是聚合器和Intent出现的原因。除此之外,一个显而易见的解决方案是在链层级构建流动性,即全链流动性,所有dApp 都从公链的原生模块内获取流动性。
Injective根据全链流动性可用的框架给出了自己的解决方案,它在链的底层嵌入了一个称为Exchange的模块,这个模块有一个订单簿撮合引擎,任何用户或者dApp都可以与之交互。下图展示了Injective底层为一些交易对提供的流动性。

相比于传统的dApp专属流动性模式,采用统一的订单簿获取流动性有很多优势,首先订单簿就是一个intent系统,使用者可以用不同的订单指令来表达对代币买卖结果的预期。下图展示了目前Injective的Exchange模块支持的10种订单类型,这意味着在Injective上的dApp不需要任何 intent协议就可以为用户提供与intent相同的体验。

同时,Injective也允许智能合约使用Exchange模块进行挂,让智能合约也有机会接入Intent系统。比如INJ链上的Helix平台其实就是基于智能合约构造的,用户可以调用Helix合约直接与订单簿进行交互。
对聚合器而言,Injective在引用全链流动性的同时,就没有聚合器存在的必要,因为用户可以直接与Exchange模块交互获得最优价格,不需要调用聚合器。
此外前面我们提到,AMM的核心功能之一是为刚发行的代币提供价格发现功能,作为一种已经广泛接受的工具,很多LP都希望使用类似AMM的工具来提供流动性。为了弥合AMM和订单簿之间的差异,Injective推出了Mito协议,提供了自动做市功能来解决上述问题,利用挂单模拟AMM内的流动性提供方式。

Mito协议会不断调整用户提供的资金进行做市,本质上类似于Hyperliquid的HLP。该机制的引入使得LP不需要自己在订单簿上使用定制化的策略,只需要向AMM内注入流动性即可。这降低了流动性提供的难度。

对于早期代币发行时的定价,Mito也提供了Launchpad功能,会预售代币以筹集最初的做市资金,然后将做市资金注入到Mito的CPMM自动做市协议中,以此来解决代币的早期定价问题。
我们可以看到Injective使用全链流动性架构后,DeFi领域内原有的很多协议没有存在的必要,因为用户可以在订单簿内直接交易,大幅度降低了交易复杂性,不再需要依赖聚合器等第三方来发起交易才能获取最佳流动性。对dApp而言,当原生订单簿引入后,dApp可以借助订单簿实现一些更复杂的功能,这也为dApp创建者提供了更多更有表达力的金融原语。