跳转至内容

Hummingbot 与 DeFi 中的流动性挖矿

cover

对流动性的需求在加密货币市场中与死亡和税收一样永恒不变。然而,如我们在其他博客(如这篇)中前所述,代币发行方和交易所在加密市场获取做市的方式存在问题。依赖高成本、价格欺诈的加密货币做市商是不可持续或可扩展的。这促使我们提出了流动性挖矿的概念,并推出了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 vs. 101.1,或总支出 $50,250 vs $50,550)购买 500 个代币,这个价格更接近中间价,在此示例中,也与最佳卖价相同,(2) 交易对中间价的影响更小(从 100 到 100.25 vs. 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 个代币,明天我是否有可能无法卖出我的 X 个代币?"。对于管理较大投资金额的大型投资者和机构,流动性是投资决策中的重要因素,可能会阻止这类投资者首先购买资产。自然地,更少的潜在投资者,特别是更少的潜在大型/机构投资者,转化为资产的较低整体需求和活跃交易者。

流动性防止大持有者影响价格:大量流通供应由少数较大持有者持有的代币具有市场操纵和串通的高风险。稀薄的订单簿和缺乏流动性进一步加剧了这种风险,因为单个大订单可能会对价格产生巨大影响。相比之下,广泛分发的代币、多个交易场所的深度流动性以及更多的流动性提供者可以缓解这种风险。

缺乏流动性可能导致交易所下架:交易所通常要求代币达到目标交易量和活动量。它们通常会警告那些代币在其交易所交易量排名处于最低三分之一的代币发行方。一些因素可能还包括交易该代币的独立交易者数量。如果代币未在交易所上市或公众不易获取,这会反馈到前两个要点:采用障碍和对潜在投资者的关闭。

什么是流动性挖矿?

在上述示例中,“提供流动性”是指创建增加订单簿深度的 maker/限价订单。通过添加 maker 订单来填充订单簿,流动性提供者执行吸收 taker 订单并为其他市场参与者促进交易的重要功能。传统上,提供流动性或做市主要或完全由专业参与者完成:专业做市商、加密基金,以及在某些情况下,交易所本身。

在我们的白皮书Liquidity Mining中,我们创造了“流动性挖矿”一词,它指的是一种众包的、去中心化的提供流动性的替代方案。流动性挖矿不是依赖专业交易者,而是从参与者网络中获取流动性,该网络可能包括代币发行方自己的社区、其他交易者群体如 Hummingbot 社区,或更广泛地说,普通交易/持币公众的成员。由于做市有风险且需要部署/锁定资产,流动性挖矿需要提供一种激励机制以吸引参与。

虽然 Hummingbot 流动性挖矿专注于让去中心化做市商在中心化限价订单簿上做市(即中心化和去中心化交易所),但诸如UniswapBalancerCurve等协议也通过贡献资产供自动化做市商使用来让去中心化流动性提供者促进流动性。

为什么选择流动性挖矿?

流动性挖矿为发行方提供了诸多益处:

减少对昂贵做市商的依赖。为了获得流动性,项目目前向对冲基金支付费用进行做市。对冲基金收取非常高的费用,通常要求发行方提供数百万价值的库存用于做市,并收取相当大比例的利润;做市商分享上涨收益但不承担下跌风险。此外,对冲基金通常作为黑箱运营,对其交易方式的可见性有限,这使得评估做市商工作表现变得困难。

奖励和激励社区以去中心化流动性。通过流动性挖矿,发行方能够奖励为做市做出贡献的整个社区和个人。奖励根据明确定义的规则分发,确保参与者因特定、符合条件的行为而获得奖励。这也提供了一种向更多用户分发代币的方式。最后,去中心化做市使流动性来源多样化,降低对单一参与方的依赖。

使持币者能够获得生产性收益。持币者现在可以更有成效地使用他们的代币,而不是仅仅 HODL。做市需要持有库存资产并使其可用于交易和创建订单。长期持有者可以参与流动性挖矿以部署其持有量来赚取流动性挖矿奖励和收益。如果奖励或收益以原生代币计价,这还会产生价格上涨进一步提高收益的额外效果,创造一个良性循环,因为市场参与者购买代币参与流动性挖矿变得更具吸引力。

流动性挖矿历史

Hummingbot 在我们于 2019 年 10 月发布的白皮书中创造了"流动性挖矿"一词;与工作量证明或权益证明的挖矿概念类似,在流动性挖矿中,去中心化参与者使用自己的资源(运行做市机器人的计算资源、代币库存)进行做市。总的来说,所有参与者都在为特定代币发行方和提供奖励的交易所提供流动性。

然而,在此之前,已有其他激励社区提供流动性的实验:* 币安、火币和 HitBTC 等中心化交易所的交易竞赛是这些实验的前身。竞赛通常根据交易量奖励用户。* Synthetix 在 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 行业也将此类协议纳入了"流动性挖矿"的范畴。由于这些协议涉及部署资产以赚取额外的代币奖励或收益(无论是为交易提供流动性还是资产借贷),这种活动也被称为"收益耕作","流动性挖矿"和"收益耕作"这两个术语现在可以互换使用。

在本文中,我们只关注流动性挖矿的一种形式,即部署资产以促进资产交易的形式。

流动性挖矿选项

自动化做市商

Uniswap 是第一个被广泛采用的自动化做市商,尽管之前已有其他协议(如 Bancor)提出并正在研究类似概念。AMMs 是简单的智能合约,持有两种(在 Uniswap 的情况下)或更多种(在 Balancer 的情况下)不同资产,每种资产的数量各不相同。任何人都可以通过向 AMM 发送某种资产的一定数量并接收其他资产的一定数量来与 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 x 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)在本质上更为复杂,但其优势在于具有显著更高的灵活性和更广泛的应用性。例如,这种形式的流动性挖矿可以应用于中心化交易所(除了去中心化交易所),同时激励机制可以定制以奖励交易者的特定行为。此外,矿工们参与的是传统形式的做市活动,即在交易所订单簿上创建买价和卖价订单以增加订单簿深度。

为了实现这种形式的流动性挖矿,我们开发了系统的两个主要组成部分:

  1. Hummingbot 软件客户端:一个开源的交易机器人,提供工具和交易策略,允许任何人充当做市商。

  1. 流动性挖矿基础设施:数据收集和分析基础设施,使我们能够跟踪和分析流动性矿工创建的订单,从而管理激励和奖励机制。

虽然我们提供 Hummingbot 作为使用户能够进行做市的工具,但拥有自己机器人的交易者甚至想要手动交易的交易者,仍然可以在无需使用 Hummingbot 的情况下参与流动性挖矿。

工作原理

Hummingbot 矿工流动性活动本质上是交易竞赛,具有预定义的参与资格和奖励分配规则。矿工因在订单簿中下单和维持订单而获得奖励。代币发行方或交易所资助奖励池并指定参与者获得此奖励的标准和方法,包括以下参数:(1)哪个交易所,(2)哪些交易对有资格,(3)有资格获得奖励的订单的最大价差,以及(4)对下在较紧价差与较宽价差的订单奖励梯度。Hummingbot 矿工基础设施收集用户订单数据并将活动规则应用于矿工的订单,以确定并最终支付奖励。

我们在白皮书中提出的创新之一是一种数据驱动的激励机制,将流动性挖矿奖励与做市相关的风险对齐:矿工因(1)更持续地下放挂单,(2)更紧的价差,以及(3)更大的规模而获得更高的奖励。一个流动性挖矿奖励池被平均分成并分配到奖励期的每一分钟。为了最大化奖励,矿工必须在一段时间内持续在订单簿中下单和补充订单。我们持续收集矿工创建的订单和交易快照,并为每一分钟冻结一个聚合快照。对于每一分钟的快照,我们然后基于价差(更紧的价差,更高权重)和规模(更大的订单规模,更高权重)对矿工创建的订单进行加权。随后我们使用这些权重按比例分配该分钟的奖励池份额给矿工。

最终结果是奖励被设计为奖励创造有益流动性的行为(持续下单、更紧价差和更大规模)以补偿与这些行为相关的附加风险。

流动性挖矿替代方案摘要对比