Hummingbot 与 DeFi 中的流动性挖矿¶

在加密货币市场中,对流动性的需求如同死亡和税收一样恒久不变。然而,正如我们在其他博客(例如 这篇)中提到的那样,代币发行方和交易所获取做市服务的方式存在严重问题。依赖高成本、价格高昂的加密做市商并不可持续,也不具备可扩展性。这促使我们提出了流动性挖矿的概念,并推出了Hummingbot Miners平台,以实现去中心化和众包式的做市。
我们很高兴看到其他项目开始尝试基于社区提供流动性的模式,尤其是在 DeFi 领域中的自动做市商(AMM)。无论是被称为“流动性挖矿”还是“收益耕作”,随着 Compound、Synthetix、Balancer、Ampleforth 和 Loopring 等协议通过奖励社区成员提供流动性来推动更广泛的市场采用,DeFi 领域的活动显著激增。
鉴于当前对流动性挖矿的兴趣日益高涨,本文将阐述我们的 Hummingbot Miner 平台如何融入这一生态,并比较和对比中心化交易所流行的订单簿模型与 DeFi 中主流的自动做市商(AMM)模型之间的流动性挖矿差异。
什么是流动性,为什么它很重要?¶
我们首先从定义目标开始。通常与“流动性”概念相关的指标有多个,例如交易量、买卖价差和滑点。这些指标旨在量化一种资产被交易时的难易程度和效率高低。
以下是两个具有相似特征的订单簿示例:相同的中间价、最优买价/卖价以及买卖价差。但它们的区别在于,资产 B 的订单簿流动性(订单簿深度)是资产 A 的 5 倍,即在每个价格档位上,资产 B 的订单数量是资产 A 的 5 倍。下图及汇总表格展示了在同一订单簿上执行一笔买入相同数量(500)的吃单买入指令所产生的影响。蓝色条形表示该订单消耗的卖单: 
由于资产 B 的流动性更高且订单簿更深:(1) 我能以更低的加权平均价格(100.5 对比 101.1,总支出为 50,250 美元 对比 50,550 美元)购得 500 个代币,该价格更接近中间价,在本例中甚至等于最优卖价;(2) 交易对中间价的影响更小(从 100 变为 100.25 对比 100.5),这意味着订单簿能够吸收更多交易而引发的价格波动更少。
尽管两种资产起始价格相同(中间价、最优买卖价、买卖价差一致),但由于资产 A 的订单簿更薄、流动性更差,因此购买目标数量的资产 A 成本更高。同样地,如果我随后想要卖出持有的 500 个代币,出售资产 A 也会获得更差的价格: 
我可以卖出 500 单位的资产 A 和 B,并且在资产 B 上额外获得 300 美元。在完成买卖交易后,我在交易资产 A 时亏损了 1,100 美元(买入花费 50,550 美元,卖出收回 49,450 美元),而在交易资产 B 时仅亏损 500 美元(买入花费 50,250 美元,卖出收回 49,750 美元)。我在资产 B 上的交易摩擦成本更低。作为一项投资,资产 A 的价格上涨幅度必须超过资产 B,才能弥补因流动性较低而带来的额外摩擦成本。
一种理解方式是,较低的流动性会导致在资产交易中产生更大的“惩罚”,这既影响(1)想要使用协议的用户(购买代币的成本更高),也影响(2)投资者,因为他们在买入并最终卖出资产时将面临更高的交易摩擦成本。此外,对于这两类买家而言,如果订单簿深度不足,无法满足较大规模的订单需求,缺乏流动性甚至可能完全阻碍他们完成预期的交易。
为什么流动性对代币发行方很重要?¶
流动性或流动性的缺失可能成为协议使用和采用的障碍。由于获取原生代币用于协议操作存在困难或效率低下,用户和潜在新用户可能会因此放弃采用该协议。在上述例子中,资产 A 的流动性较低,导致获取代币成本更高,并增加了交易该资产的摩擦。在更极端的情况下,订单簿深度可能不足以满足用户对大量代币的需求。我们讨论过的几位发行方都指出这是一个反复出现的问题:他们经常收到来自基金或其他大型代币买家(例如为质押目的而购买)的请求,但这些买家无法从交易所高效地或根本无法获取足够数量的代币。此外,较高的波动性为潜在的协议用户引入了额外的风险,他们现在必须考虑价格、时机和库存风险,才能获取代币以使用协议。
流动性会影响投资者决策。非流动性以及稀薄的订单簿会阻止大型投资者购入并参与某项资产的交易,原因在于更高的波动性以及无法确定能否顺利买卖大量代币所带来的不确定性:“如果我今天买入 X 个代币,明天是否有可能无法卖出这些代币?” 对于管理较大投资金额的大型投资者和机构而言,流动性是投资决策中的一个重要因素,甚至可能导致这类投资者根本不会购买该资产。自然地,潜在投资者越少,特别是潜在的大型/机构投资者越少,意味着该资产的整体需求和活跃交易者数量也会更低。
流动性有助于防止大持有者操纵价格:如果一个代币的大部分流通供应量集中在少数几个大持有者手中,则存在较高的市场操纵和串通风险。稀薄的订单簿和缺乏流动性会进一步加剧这种风险,因为单笔大额订单就可能显著影响价格。相比之下,广泛分布的代币持有结构、多个交易平台上的深度流动性以及更多的流动性提供者可以缓解这一风险。
缺乏流动性可能导致交易所下架代币:交易所通常要求代币达到一定的交易量和活跃度标准。当某个代币在其交易所的交易量处于最低三分之一区间时,通常会向发行方发出警告。其他考量因素还可能包括交易该代币的独特交易者数量。如果一个代币未在交易所上市,或公众难以便捷获取,这将反过来加剧前两点问题:即采用障碍以及对潜在投资者的封闭性。
什么是流动性挖矿?¶
在上面的例子中,“提供流动性”指的是创建挂单(maker)或限价订单,以增加订单簿的深度。通过向订单簿添加挂单,流动性提供者起到了吸收吃单(taker)订单、促进其他市场参与者交易的关键作用。传统上,提供流动性或做市主要甚至完全由专业角色完成:专业的做市商、加密基金,以及在某些情况下,交易所自身。
在我们的白皮书《流动性挖矿》中,我们提出了“流动性挖矿”这一术语,指的是一种众包式、去中心化的提供流动性的替代方式。流动性挖矿不依赖于专业交易员,而是从一个参与者网络中获取流动性,这个网络可能包括代币发行方自己的社区、其他交易者群体(例如 Hummingbot 社区),或者更广泛地说,普通交易者或代币持有者公众。由于做市存在风险,并需要部署/锁定资产,因此流动性挖矿必须提供激励机制来吸引参与者。
虽然 Hummingbot 的流动性挖矿专注于让去中心化的做市商在中心化限价订单簿(即中心化和去中心化交易所)上做市,但像 Uniswap、Balancer 和 Curve 这样的协议也通过让用户贡献资产供自动做市商使用,从而吸引去中心化的流动性提供者来促进流动性。
为什么需要流动性挖矿?¶
流动性挖矿为代币发行方带来了多项好处:
减少对昂贵做市商的依赖。目前,项目方为了获得流动性,需要支付对冲基金费用来进行做市。这些对冲基金收费高昂,通常要求发行方提供价值数百万美元的库存用于做市,并且还会抽取可观的利润分成;做市商享受上涨收益,却无需承担下跌损失。此外,这些对冲基金通常以黑箱方式运作,项目方难以了解其具体交易行为,因此很难评估其做市效果。
奖励并激励社区参与去中心化流动性建设。通过流动性挖矿,发行方可奖励那些参与做市的整个社区和个人。奖励根据明确定义的规则进行分配,确保参与者因其特定的、符合条件的行为而获得回报。这也为将代币分发给更多用户提供了途径。最后,去中心化的做市能够多样化流动性来源,降低对单一实体的依赖。
让代币持有者获得生产性收益。代币持有者现在可以更高效地利用手中的代币,而不仅仅是持有(HODL)。做市需要将资产作为库存持有,并用于交易和下单。长期持有者可以通过参与流动性挖矿,将其持仓投入使用,从而赚取流动性挖矿奖励和收益。如果奖励或收益以原生代币计价,那么价格上涨将进一步提升收益,形成良性循环,吸引更多市场参与者购买该代币以参与流动性挖矿。
流动性挖矿的发展历史¶
Hummingbot 在 2019 年 10 月发布的一份白皮书中首次提出了“流动性挖矿”这一术语;类似于工作量证明或权益证明中的挖矿概念,在流动性挖矿中,去中心化的参与者使用自己的资源(用于运行做市机器人的计算资源、代币库存)来进行做市。总体而言,所有参与者都在为特定的代币发行方和提供奖励的交易所提供流动性。
然而,在此之前,已有其他激励社区提供流动性的实验:* 币安、火币和 HitBTC 等中心化交易所举办的交易竞赛是这些模式的前身,这类竞赛通常根据用户的交易量进行奖励。* Synthetic 在 2019 年春季发起的 Uniswap 流动性激励活动 * Hummingbot 在 2019 年夏季为 Harmony Protocol 推出的ONE Makers 流动性赏金计划,这是我们流动性挖矿的“流动性赏金”试点项目。
随后在 2020 年 3 月,我们推出了全新的 Hummingbot Miners 平台,这是我们根据白皮书中所述理念实现的流动性挖矿方案,并已为 8 个代币发行方成功开展了相关活动。
DeFi 术语:“流动性挖矿”与“收益耕作”
“流动性挖矿”一词最近已被扩展应用于更广泛的 DeFi 领域,例如 Balancer 和 Curve,它们同样是为提供流动性而设计的去中心化协议。与 Uniswap 类似,Balancer 和 Curve 是自动做市商,流动性提供者通过将资产存入资金池以支持交易来赚取手续费。除了这些手续费之外,Balancer 和 Curve 还通过向流动性提供者分发 BAL 代币来提高其收益率,未来当 Uniswap 推出自己的代币时,也可能采用类似的模式。
除了在 Balancer 和 Curve 上的流动性挖矿外,“流动性挖矿”这一术语越来越多地被用于描述其他激励用户存入或部署资产以获得代币奖励的 DeFi 协议,例如 Compound。尽管这些协议并不专注于交易语境下的“流动性”,但它们确实涉及资产负债表管理意义上的“流动性”,即公司(或用户/参与方)可支配的资产。DeFi 行业也将此类协议纳入了“流动性挖矿”的范畴。由于这些协议都涉及部署资产以获取额外的代币奖励或收益(无论是用于提供交易流动性还是资产借贷),这种行为也被称为“收益耕作”(yield farming),因此“流动性挖矿”和“收益耕作”这两个术语如今常被互换使用。
在本博客中,我们仅关注将资产部署用于促进资产交易的流动性挖矿形式。
流动性挖矿选项¶
自动做市商¶
Uniswap 是首个被广泛采用的自动做市商,尽管此前已有其他协议(如 Bancor)提出并研究过类似概念。AMM 是简单的智能合约,其中持有两种(如 Uniswap 的情况)或更多种(如 Balancer 的情况)不同数量的资产。任何人都可以通过向 AMM 发送一定数量的一种资产,来换取一定数量的另一种资产,从而完成交易。
AMM 的机制实际上非常简单;以下是 Uniswap 风格合约的一个数值示例(供参考,请参见此 AMM 电子表格)。我们从一个用于交易两种资产的合约开始,即资产 A 和资产 B。一位流动性提供者(或一组流动性矿工总体而言)已存入了 100 个资产 A 的代币和 200 个资产 B 的代币。Uniswap 是一种“恒定乘积做市商”,这意味着交易中使用的汇率将确保在任何交易前后,资产 A 和资产 B 数量的乘积保持不变。在这个例子中,初始乘积为 20,000:

下表说明了一位交易者用资产 B 进行交易(向合约中存入 1 个单位的资产 B)并换取获得(从合约中提取)一定数量的资产 A 所产生的影响:

交易者获得的资产 A 的数量由一个数学公式简单确定:

AMM 只需解出交易后资产 A 的数量,使得等式左右两边相等,本例中该值为 99.504。因此,交易者获得 0.496 的资产 A,这是初始余额 100 与所需的新余额 99.504 之间的差额。
流动性提供者的收益
上述示例还展示了流动性提供者的好处,即内置的 0.30% 手续费。对于 100 单位资产 B 的交易,合约会保留大约 0.003 单位资产 B 的价值(100 × 0.3%)。在本次交易中,交易者获得了 0.496 的资产 A。如果没有 0.30% 的手续费,交易者本应获得 0.4975 的资产 A。剩余在流动性池中的 0.0015 资产 A 就是流动性提供者保留的价值。
注意:由于资产 A 与资产 B 的比例为 1:2,因此保留的 0.0015 资产 A 相当于 0.003 的资产 B 价值,也就是对 100 单位资产 B 交易规模收取的 0.30% 手续费。
参与方式及奖励份额
要成为 AMM 的流动性提供者,您只需按合约中当前资产的比例向合约中存入代币即可。以上述示例(交易前)为例,我可以简单地以相应的 1:2 比例(100:200)存入资产 A 和资产 B。例如,我可以存入 10 单位的资产 A 和 20 单位的资产 B,这将使我有权申领合约中总流动性池的 9%。在未来某个时间点,我可以提取我当时所占流动性池资产总额的 9%,包括已累积并保留在流动性池中的所有手续费。
这种流动性挖矿激励机制非常直接:每次交易的流动性提供者手续费是一个固定百分比,而每位流动性提供者的奖励份额仅取决于其存入合约的资产比例相对于整个流动性池的比例。
AMM 的变体
与 Uniswap 类似,其他流动性挖矿协议/活动,如 Balancer、Ampleforth 的 Geyser 以及 Curve,运作方式大体相同。然而,它们各自的流动性挖矿平台还会向流动性提供者分发其原生代币(分别为 BAL、AMPL 和 CRV),作为提高收益的额外激励。
Balancer 与 Uniswap 的另一个不同之处在于,它允许在一个流动性池中包含并使用多种资产(最多 8 种)。
订单簿流动性挖矿¶
我们的流动性挖矿平台Hummingbot Miners是一种不基于智能合约的流动性挖矿形式。我们并非依赖智能合约,而是通过数据系统和基础设施来衡量流动性提供者在现有交易场所(即中心化和去中心化交易所)上的交易活动及其对流动性的贡献。尽管这种方法在实现上比自动做市商(AMM)复杂得多,但其优势在于具备更高的灵活性和更广泛的应用场景。例如,这种流动性挖矿形式不仅适用于去中心化交易所(DEX),还可应用于中心化交易所,同时激励机制可定制化,以奖励交易者的特定行为。此外,参与者采用的是传统的做市方式,在交易所的订单簿上挂出买入和卖出委托单,从而增加订单簿深度。
为了实现这种形式的流动性挖矿,我们在系统中开发了两个主要组成部分:
- Hummingbot 软件客户端:一款开源的交易机器人,提供多种工具和交易策略,使任何人都可以充当市场做市商。
   
- 流动性挖矿基础设施:用于收集和分析数据的基础设施,使我们能够追踪并分析流动性矿工创建的订单,进而实施激励和奖励机制。
虽然我们提供 Hummingbot 作为帮助用户进行做市的工具,但使用自有交易机器人、甚至手动交易的交易员,也可以参与流动性挖矿,而无需使用 Hummingbot。
工作原理
Hummingbot Miners 的流动性挖矿活动本质上是交易竞赛,具有预设的资格规则和奖励分配机制。矿工因在订单簿中挂单并维持订单而获得奖励。代币发行方或交易所出资设立奖励池,并设定参与者获取奖励的标准和方法,包括以下参数:(1) 哪个交易所,(2) 哪些交易对符合条件,(3) 可获奖励订单的最大价差,以及 (4) 对挂单价差较窄与较宽的订单给予奖励的梯度比例。Hummingbot Miners 的基础设施会收集用户的订单数据,并根据活动规则评估矿工的订单,以确定最终的奖励金额并完成发放。
我们在白皮书中提出的一项创新是采用数据驱动的激励机制,将流动性挖矿奖励与做市所承担的风险相匹配:矿工若能(1)持续挂出限价单,(2)挂单价差更窄,且(3)挂单规模更大,则可获得更高奖励。一个流动性挖矿奖励池会被平均划分为每一分钟对应的份额。为了最大化收益,矿工需要在整个奖励周期内持续挂单并及时补单。我们会持续记录矿工创建的订单和交易,并为每一分钟生成一次聚合快照。针对每一分钟的快照,我们根据订单的价差(价差越小,权重越高)和订单规模(订单越大,权重越高)对矿工的订单进行加权,然后利用这些权重按比例分配该分钟的奖励池份额。
最终结果是,奖励机制旨在激励那些创造有益流动性(持续挂单、价差更窄、订单规模更大)的行为,以补偿因这些行为带来的额外风险。
流动性挖矿替代方案的简要对比¶

 
                