Omnipool 设计
HydraDX Omnipool(万能池)是一种新型的 AMM,它将所有流动性集中在一个交易池中,从而提高了一系列效率。本文档包含 Omnipool 的机制的理论规范。
Omnipool
枢纽令牌
Omnipool 使用 LRNA 作为“中枢”令牌,通过它链接所有交易,避免了传统 AMM 因需要为一对令牌提供流动性造成的流动性碎片化。 交易费用和部分无常损失补偿都以 LRNA 支付。
符号定义
在本节中,我们把 数量上的一些变化称为 。当 是池变量(如池中某些资产的数量)时,我们约定:如果池变量正在减少(如一些资产正在离开池),则 是负值;相反,如果池变量正在增加(如一些资产正在进入池),则为正值。特别要注意的是,当我们考虑将一种资产的 换成另一种资产的 时,这意味着其中一个将为负值。
与此同时,约定一个变量 ,流向用户的用 表示,而从用户流出的用 表示。特别是对于某些令牌转入/转出池,我们将有 。
我们还采用以下符号约定 。
执行交易
在版本 1 中,价格表现得好像每个 TKN1/LRNA 池都是一个不变的结果 CFMM,尽管其他的 CFMM 仍在研究分析中。
设 为 TKN1 池中 LRNA 的数量, 是 TKN1 的数量。假设交易者规定他们希望为 TKN2 出售 TKN1 的 ,那么 ,所以有了资产费用 和协议 /LRNA 费用 ,我们有:
LRNA 或“协议”费是 (此为正值,因 为负值),资产费是 。
为 Omnipool 提供流动性
流动性提供者(LPs)可以提供单一资产,作为回报他们可以获得该资产池权益的一部分。 当 LP 移除流动性时,他们可能会同时收到他们提供的资产和 LRNA。 某些 TKN 的单一资产流动性提供者,不能总是只获得他们贡献的令牌,因为如果 TKN 的价格上涨且大量的 TKN 离开池子,TKN 的 LP 将共享一个更小的池子。 与此同时,该协议有大量的 LRNA 已被交易为 TKN。 该协议不是简单地让 LP 承担损失,而是将匹配池与 LP 分开。 如果 TKN 的价格上涨(通过将 LRNA 交易到 TKN 池中),LP 有权获得部分 LRNA。 另一方面,如果 TKN 的价格下降(通过将 TKN 出售给 LRNA 池),协议有权获得一些 TKN。
令 为 TKN 的当前价格, 为 LP 最初提高流动性时的价格, 是 LP 希望提取的权益数量, 为协议拥有的 TKN 权益数量。请注意,由于当流动性移除时权益被销毁,。
如果 TKN 的价格下降了(),LP 将仅提取 TKN(无 LRNA)。该协议将从他们那里拿走一些 TKN 份额,而一些份额将被销毁。 我们首先计算 TKN 协议份额所有权的变化:
请注意,如果 (TKN 的价格已经下跌), 为正值, 这意味着该协议正在从 LP 那里索取部分 权益。如果 ,协议就不向 LP 索取任何资产权益。
接下来,我们找到要销毁的权益数量:
然后我们可以计算出 LP 收到的 TKN 总量,这是成比例的:
如果 ,很多 LRNA 被交易到 Ominipool 来换取 TKN,所以协议有额外的 LRNA 去给 LP。总的来说,
请注意,由于 ,没有分配给正在提取流动性的 LP 的 LRNA 被协议销毁。
单一资产流动性提供者的暂时性损失
鉴于上述机制,单个资产 LP 的“无常损失”是
单一资产 LP 仅对 TKN/LRNA 价格敏感,对 Omnipool 中其他令牌的价格不敏感(间接通过 LRNA 除外)。