W3.Hitchhiker

Posted on Oct 25, 2022Read on Mirror.xyz

SLAMM:跨链流动性的统一模型

原文:SLAMM: A Unified Model for Cross-Chain Liquidity —— Delphi

译者:Evelyn|W3.Hitchhiker


1、愿景

通过实现去中心化、可组合和 24/7 的流动性,自动做市商(AMMs)是任何 DeFi 生态系统的生命线。随着新的链和二层扩容解决方案的迅速扩散,他们相互竞争引导流动性从而吸引新的用户和开发者。具有讽刺意味的是,他们的成功却使流动性被分散在各个链上。

这种流动性分散是不可避免的,因为领先的 AMMs 通常局限于以下两种方法之一:

  • 部署独立的 AMM 实例,这些实例在链之间互不沟通(如 Uniswap、Sushi、Curve)。这导致了流动性分散和糟糕的用户体验,因为交易者收到了非最优化的执行(suboptimal execution),LPs 必须手动移动资本以优化利用率。

  • 部署一个统一的应用链,它持有所有的流动性(例如 Thorchain,Osmosis)。这使得它无法与原生链上的其他 dApps 实现同步可组合(具体而言,它们只能通过跨链合约调用来访问流动性,这是一个非最优化的用户体验)。

在本文中,我们提出并探讨了第三种方法,即使用新型机制来减轻流动性分散的影响。共享流动性 AMM(Shared Liquidity AMM: SLAMM)。使用一个协调应用链 "Hub",虚拟流动性池和在其他链上的 "卫星 "部署,SLAMMs 理论上可以优化孤立的跨链池的流动性。

通过这种方法,理论上 LPs 可以 "一次入金,遍地 LP",并被动地跨链收取费用。这将为终端用户提供更好的用户体验(UX)和卓越的交易执行,并为 LPs 提供更平稳的回报。

下面的章节探讨了 SLAMMs 如何在 Cosmos 应用链之间转移流动性。然而,正如在最后一节所探讨的,这种模式绝不局限于任何特定的生态系统。在对该机制进行总体描述后,我们将提出一个新的蓝图,说明现有的去中心化交易所(DEX)应该如何升级其逻辑,以便从共享流动性中获益,以及对当前 SLAMM 逻辑的可能改进,这些都值得进一步研究。

2、背景

解决跨链流动性分散的一种方法是向每个链提供所有流动性的总和,而不考虑任何特定链上的 "真实 "流动性。这种方法是由 StarkNet 和 Loopring 描述的(见 dAMM(分布式 AMM))。在这个模型中,流动性最初存放在一个 L1 中,并进一步划分并分配到多个 L2 里。 L2 使用 "虚拟 "流动性为价格交易,就好像它们各自都包含了存入 L1 的全部流动性一样。这种真实储备和虚拟定价状态的解耦允许每个 L2 独立运作,而不需要在每笔交易后进行昂贵的、耗时的同步。

虽然这种模式确实为 L2 卫星上的交易者带来了更好的定价,但它有一个主要的缺点:分散损失(又称无常损失)被放大了,并随着共享流动性的卫星数量而呈线性增长。这个结果源于这样一个事实:由于 L2 卫星没有同步通信,同样的流动性可以被多个链上的交易者同时 "拿走",导致 "真实 "储备越来越不平衡(见附录 1)。

另一个解决分散的方法是 "流动性黑洞 ":吸引足够数量的交易者和 LP 到一个单一的场所,从而发生自然合并。虽然这确实有它的好处,但它牺牲了可组合性;特别是同步可组合性是不可能的,除非其他 DeFi 原语运行在同一执行环境中。跨链合同调用与其他应用程序进行通信是可能的,但它们需要异步机制,这大大降低了交易者的用户体验,并引入了巨大的复杂性和风险。

3、SLAMM 机制

SLAMM 旨在通过在多个链上的共享流动性来改善交易执行和 LP 回报,同时减轻早期方法的缺点。SLAMM 的设计考虑到了以下目标:

  1. 在 SLAMM 卫星上进行的交易应能与其他 DeFi 原语同步合成

    AMM 是许多 DeFi 协议必须与之整合的核心依赖。同步可组合性大大降低了这些互动的复杂性,改善了用户体验。

  2. LPs 不应该承担额外的不必要的库存或价格风险

    像 dAMM 这样的解决方案大大增加了 LPs 面临无常损失(或在稳定币的情况下,库存风险)的风险。虽然 LPs 确实受益于来自多个链的订单流,但额外的风险很难预测或量化,特别是当卫星的数量增加或减少时。

  3. 交易者和 LPs 应该只需要与卫星交互

    虽然 hub 是一个关键的基础设施,但大多数交易者和 LPs 应该不需要担心与一个新链的交互,获得新的软件,或管理新的私钥。SLAMM 试图通过将大多数用户交互推到在用户已经熟悉的链上的卫星上,尽量减少额外的用户体验复杂性。

组成部分

SLAMM 由一个中央 "hub "和许多卫星部署组成,每个卫星在不同的链上。Hub 可以作为主链上的智能合约来实现,也可以作为自己的应用链来实现。对 hub 和卫星位置的考虑包括以下几点:

  • hub和每个卫星的活跃性和安全性

  • hub和每个卫星之间强大的跨链信息传递可用性

  • 卫星间的跨链资产桥接

LPs 将其资产直接存入卫星。Hub 在各卫星之间分配这些流动性,以尽量减少对交易者的价格影响,并使其最佳地暴露在他们的订单流中(见下文流动性分配)。一般来说,hub 应该寻求在预计有高交易量的卫星上增加流动性,而在预计流动性将保持闲置或利用率低的地方减少流动性。

定价

SLAMM 卫星上的定价使用虚拟流动性(以类似于 dAMM 的方式)。当 hub 希望增加卫星上的流动性时,它不需要移动真实资产;相反,它可以向卫星发送一个消息,通过给定数量来增加其虚拟流动性。只有当卫星耗尽需要偿还撤回的LP的流动性时,或者当流动性在先前的增加后减少时,真实资产才需要移动(另见下文LP记账)。

注意:卫星的定价公式所使用的粘合曲线可以是资产对的任何适当的曲线(例如恒定乘积,稳定互换,或集中流动性),只要 LP 代币是可替换的。

流动性分配

与 dAMM 不同,SLAMM 的一个关键原则是,整个系统的流动性是零和的;任何时候一个卫星上的虚拟流动性增加,它必须在另一个卫星上相应减少。因此,系统的总流动性不会被放大,LP 也不会因为价格的变动而遭受增加库存或价格风险。一个虚拟流动性增加的卫星将为交易者提供较低的滑点,而一个虚拟流动性减少的卫星将为交易者提供较高的滑点。

SLAMM 的一个关键见解是,即使这两种效应是相互抵消的,**如果虚拟流动性增加的卫星比虚拟流动性减少的卫星达到更高的利用率,交易者平均会遭受更低的滑点。**因此,hub 的主要责任是分配流动性,使虚拟流动性增加的卫星比相应减少的卫星获得更多的订单流量。图1探讨了 dAMMs 和 SLAMMs 如何处理虚拟流动性。

(图 1:dAMMs 和 SLAMMs 上的虚拟流动性之间的差异。)

使交易员滑点最小化的最佳流动性分布与 "交易量份额 "成正比,即一个卫星所实现的相对交易量成正比。直观地讲,我们寻求使每个 LP 接触到的订单流最大化,无论他们的资产最初存放在哪个卫星上。

给定卫星 s_0 ... s_n,一个时期 P 的流动性 L_0 ... L_n 的最佳分配与 v_0 ... v_n 成正比,其中 v_i 是 P 期间卫星 s_i 预计占全系统总交易量的比例。

LPs 已经有能力以这种方式分配自己的流动性,但这样做往往不切实际。频繁的再平衡会导致桥接成本对利润的侵蚀,这就要求 LPs 积极管理他们的资本。此外,LPs 可能希望用他们的头寸作为单一卫星链上其他 DeFi 协议的抵押品。最终,SLAMMs 通过保持可组合性和消除在链间主动移动资本的需求来改善LP的用户体验。

注:虽然增加的无常损失风险能通过 SLAMM 得到缓解,但 LPs 确实承担了一些额外的风险,如 hub 的安全以及他们的流动性被实际分配到的链的安全。

LP 记账

为了跟踪一个链上减少的流动性和另一个链上增加的流动性,SLAMM 使用由卫星发行的虚拟 LP 代币(VLP)。终端用户永远不会与 VLP 代币互动;相反,它们是一种机制,记录卫星和 hub 之间的债务和信贷。

当 hub 要求增加卫星上的流动性时,卫星将向 hub 提供一定数量的 VLP,代表这一资产的增加。在这样做的时候,虚拟流动性的总量相当于用户拥有的未偿还的真实LP份额加上 hub 拥有的 VLP 份额之和。

同样,当 hub 要求减少卫星上的流动性时,卫星要么燃烧相应数量 hub 的 VLP 份额,要么向卫星发行自己的 VLP 份额,如图 2 所示。当价格在铸造或燃烧 VLP 行动之间发生变化时,真实资产可能需要被桥接,以适当解决卫星之间的未偿债务或信用。

(图 2:重新平衡各卫星的虚拟流动性。)

交易量份额预测

为了使 hub 的流动性分配产生上述的积极效果,hub 必须能够使用统计模型在一定程度上准确预测交易量份额。为了测试这是否可行,我们研究了 3 个流动性分散的池子。Uniswap 主网上的 ETH-USDC,SushiSwap 主网上的 ETH-USDC,以及 polygon SushiSwap 上的 ETH-USDC。

利用 24 小时内池子的利用率,我们计算了它们的最小、最大和平均增量。大的增量表明有机会在三个池子中重新分配流动性。

(图 3: 分散的池子在利用率方面的差异。)

考虑到这些利用率上的差异,可以计算出与交易量份额成比例的最佳流动性分配:

(图 4:交易量份额为最佳流动性分配提供信息依据。)

更仔细地检查 Uniswap 池,我们可以看到这种流动性分配对其深度的影响。当 Uniswap 的交易量份额高于其实际流动性份额时,它就会增加深度(减少滑点):

(图 5:交易量份额增加时,池子深度增加。)

在现实世界中,我们不可能提前知道交易量份额,必须预测未来一段时间的交易量份额。使用 ARIMA 模型,我们能够以大约 10% 的平均百分比误差预测交易量份额。

(图 6:ARIMA 模型结果)

交易量份额预测的改进将对 SLAMM 产生相应的积极影响,因此对预测更准确的验证者应给予奖励(见下文验证者)。

4、Hub 和池子结构

(图 7:Hub 和池子的通信)

在高层次上,hub 作为一个协调者,协调所有 AMM 卫星之间的流动性。它的工作是检测和潜在地预测哪个 AMM 部署将在不久的将来有最多的交易量,并在不同链上的池子之间 "转移 "虚拟流动性。如果某个 LP 的流动性(真实的或虚拟的)在特定的交易中被使用,该LP将以交易费的形式得到补偿。Hub 负责在链之间转移 "真实 "代币,以结算其卫星上的实际流动性。它还决定哪些跨链池应该是同一捆绑或池控制器的一部分(下文解释)。最后,Hub 管辖每个卫星上的所有参数,并管理和升级自己的逻辑。

池子控制器

(图 8:池子控制器架构)

池子控制器管理拥有相同资产的跨链池之间的流动性分配(如 A、B、C 链上的 USDC-axlUSDC 池)。一个控制器是一个有多个杠杆的盒子。每个杠杆象征着有多少虚拟流动性被分配到不同链上的池子(即 USDC-axlUSDC 池)。Hub 可以随意从 "盒子 "中添加或删除杠杆,并改变每个杠杆的位置。盒子的一个重要属性是,当一个杠杆向上移动时(更多的流动性流向特定链上的特定池),一个或多个杠杆必须向下移动,总的来说,移动的距离是相同的(虚拟流动性在链之间 "转移",是零和)。

每个控制器将有四个主要参数:

  • token0:字符串:token 0 标识符

  • token1:字符串:token 1 标识符

  • nextPoolID:uint:递增的池子标识符

  • pools:mapping(int -> PoolInfo):最后已知的池子元数据

PoolInfo 是对特定池的元数据的封装,其中包含:

  • pool:地址:池子的地址(链间账户)

  • token0:字符串:token 0 标识符

  • token1:字符串:token 1 标识符

  • reserve0:uint:池子中实际存在的 token0 的数量

  • reserve1:uint:池子中实际存在的 token1 的数量

  • virtualReserve0:int:token0 的虚拟储备;可以是负数

  • virtualReserve1:int:代币 1 的虚拟储备;可以是负数

  • totalSupply: uint:未偿付的 LP 代币的数量

  • virtualTotalSupply:uint:未偿付的 VLP 代币的数量

Hub 将能够从一个特定的控制器中添加和删除池子,并分配 VLP 代币。

除了创建新的控制器,Hub 还有权通过烧毁所有相关池子的所有虚拟流动性以及结算这些池中的任何真实流动性来关闭一个控制器。该控制器将在清盘后被删除。

卫星池

卫星池为连接到 Hub 的每个 DEX 实例上的交换提供便利。它们与其他 AMM 上的任何其他池子一样(例如恒定乘积,集中流动性池),但也有特殊功能,允许 Hub 铸造和燃烧虚拟 LP 代币,以跟踪链间记账。具体来说,这种功能可以在具有相同代币的链和池之间分配虚拟流动性。

Hub 使用一个包含以下信息的包装器来跟踪真实和虚拟的流动性:

  • pool:地址:池子的地址(链间账户)。

  • token0:字符串:池子部署所在链上的 token0 标识符。

  • token1:字符串:部署的池子的链上的 token1 标识符。

  • reserve0:uint:池子中实际存在的 token0 数量

  • reserve1:uint:池子中实际存在的 token1 的数量

  • virtualReserve0:int:token0 的虚拟储备,可以是负数

  • virtualReserve1:int:代币 1 的虚拟储备;可以是负数

  • totalSupply: uint:LP 代币的总数量

  • virtualTotalSupply:uint:未偿付的 VLP(虚拟 LP)代币数量

每个包装器都是一个特定的控制器的一部分(在 Hub 层面),并以 Hub 的治理预先确定的特定节奏来进行更新。在流动性再平衡期间,虚拟储备和供应数据在 Hub 层面和池子层面都会被更新。

跨链代币桥

在跨链环境中,特别是在 Cosmos 中,一个常见的挑战是确定在不同链之间桥接代币的最佳方式。

作为一个例子:

  • 假设有人在 C 链上有提供 axlUSDC 的流动性,该 axlUSDC 从 A→B→C 被桥接

(图 9:A 链到 C 链的流动性路径)

  • Hub 需要将流动性从 C 链转移到 D 链。到 D 链的最短路径是 C→D,但大多数 axlUSDC 的流动性是从 A→D 桥接的

  • 根据链下共识(社区批准的预定 IBC 路径,在 C 链和 D 链之间桥接代币),axlUSDC 从 C 链到 D 链的最佳桥接方式是 C→B→A→D

(图 10:从 C 链到 D 链移动流动性)

对于每一个代币来说,在任何两个链之间都必须有一个正式的路径来连接它。这确保了每个链对其处理的所有代币都有规范的版本,以避免流动性分散。为此,Hub 将维护和更新一个 IBC 路径的注册表,可用于在任何链之间结算真实的流动性。

交易量预测者和验证者

为了正确地分配流动性,hub 需要从外部来源获得对交易量份额的预测。独立行动的交易量预测者可以向 hub 提交他们对某一特定时期的预测,Hub 负责将这些值合成为一个单一的权重(类似于 L1 预言机如何从许多输入中得出一个单一的价格)。

预测者可以根据他们的预测与现实的接近程度得到 hub 的奖励或惩罚,正如卫星事后报告的那样。每个预测者都可以自由地实施他们自己的模型来竞争这些奖励。这种公开的预测竞争比在协议层面上的单一模型更可取,因为它可能会导致更复杂的模型,并需要更少的管理监督。

如果 hub 被实现为一个应用链,那么交易量预测者的一个自然候选者就是 hub 链本身的验证者。另外,如果 hub 被实现为主链上的智能合约,预测可能是无权限的,只需要一些赌注值。

我们自己的 ARIMA 模型在回测真实世界的数据时,对交易量份额的预测平均百分比误差约为 10%(见交易量份额预测部分)。进一步的研究将需要分析可能玩弄这个奖励系统的攻击载体,如洗盘交易,目的是使特定验证者的(建议)权重分布与随后的真实成交量分布相匹配。

风险

Hub 和卫星模式有两个主要风险。首先,一个拥有卫星的 AMM 链可能会停止。这将暂停卫星上的提款和互换。第二,Hub 本身也可能停止。下面的章节详细介绍了这些风险和可能的后果。由于停止会对交易者和 LP 产生负面影响,在纳入任何有连锁停顿历史或预期的连锁之前,治理需要仔细考虑这些风险。值得一提的是,这一节并不意味着包括所有的风险,而是在实施 SLAMM 时提出了更显著的风险。

Cosmos 链停止

虽然很罕见,但链上的停止会对交易者和 LP 产生负面影响。某条链上的停顿不仅会影响发生停顿的链上的资产,而且会影响通过停顿链的任何流动性。有三种情况可能发生:

  1. 源链停止

  2. 接收链停止

  3. 两个其他 Cosmos 链之间的一个中介链停止。

在数字 1 和 2 的情况下,假设有三条链,A,B 和 D,它们使用第四条链,C 链,作为中介链。代币定期从 A→B→C→D 转移,反之亦然。

如果 A 链停止,在停止期间,所有没有被桥接到 B 或 D 的流动性必须从这些链的全局计算中移除。全局流动性将只包括 B 和 D 上的资产的总和,因为之前存放在 A 链上的流动性不能再被提取了。

如果 C 链停止,流动性不能从 D 链桥接回到 A 链或 B 链,所以 D 链的虚拟和真实流动性必须从 A 链和 B 链的全局计算中减去,D 链的真实流动性仍可用于交易。

如果 D 链停止了,所有从 A 链或 B 链桥接的流动性都不能撤回,并从这些剩余链的全局计算中删除。

在第三个链停止的情况下,假设用于在 A 链和 C 链之间桥接代币的 B 链停止了。在这种情况下,中心必须从其全球流动性的计算中减去被卡住的流动性。此外,LPs 在停止期间可能无法提款,或可能收到比他们存入的更少的代币,因为他们的全部或部分资金不再可以提取。

如果以及当任何停止的链恢复时,虚拟流动性的计算应该重新纳入以前被减去的流动性。然后,没有提取其初始存款的 LPs 将有资格按比例提取其先前无法获得的剩余流动性的份额。

Hub 停止

Hub 负责管理虚拟流动性和跨链移动实际流动性。如果 Hub 停止,虚拟流动性就不能再被更新,实际流动性也不能再在卫星之间移动。这可能使一些卫星几乎没有实际的流动性。因此,LPs 可能无法从存放资产的卫星或任何其他卫星提取他们的资产(因为虚拟流动性的计算将被停止)。如果以及当 Hub 恢复区块生产时,虚拟流动性的更新将恢复,流动性将根据需要在链之间移动。停止的时长和 LPs 的行动可能会导致重大损失。因此,当务之急是对 Hub 的验证者进行适当的激励,以确保一个健康、强大的网络,愿意并能够仔细协调更新。

5、治理

作为一个独立的 Cosmos-SDK 应用链,需要一个去中心化的验证者运营商网络来保持 Hub 的运作。作为基础的利益相关者,验证者将有权力对智能合约参数的改变、智能合约的升级和库房的支付提出建议并进行有约束力的投票。

这些决定将由验证者和质押者组成的 "去中心化自治组织"(DAO)来进行协调。该协议的 CosmWasm 智能合约将只能由合约的所有者地址来升级。而所有者地址将是 Hub 治理合同本身。经批准后,任何升级或支付都将被自主地执行。由于这个过程将是公开和透明的,所以批准恶意或不安全的升级应该是非常困难的。

SLAMM 治理的具体决定包括:

  • 批准 CosmWasm 的部署,在其他链上建立卫星 DEXs

  • 将单个池子添加到共享的跨链池控制器中

  • 确定可接受的 IBC 代币路径

  • 为一般池子和特定池子设置价格曲线

  • 根据需要调整优化算法(即确保特定卫星上的特定对有最低限度的流动性)。

  • 修改参数更新的界限(即每个池子的参数在 X 秒内可以改变多少)。

参数界限对于包括放大参数在内的具体调整尤其重要,因为这些参数可能需要经常改变。要求对每个池子的放大参数进行投票将是非常繁琐的。相反,治理可以选择在特定范围内改变参数,随着预定目标的实现而分阶段实施。

一个 SLAMM 的复杂结构需要有丰富知识并且积极的治理者。理想的情况是,设计一个开源的、强大的风险管理框架来指导决策过程。这个框架可以用来客观和公开地对任何具体的修改或卫星部署的风险进行评分。池子的上限和其他分阶段的推出可以帮助限制任何重大升级的风险。

最终,一个 SLAMM 为多个主人服务:验证者、质押者、LP 和交易者,治理的每一个决定都对每个利益相关者产生影响。一个安全的 SLAMM 可以确保其长期生存能力。因此,当对升级的安全性或谨慎性有疑问时,应以保守的、渐进式的升级为主。

6、未来

一个 AMM 只有在其流动性池的深度上才有用。因此,利用已建立的 DEX 来建立 SLAMM 是有利的。任何推广都可以分阶段进行:

  1. 在已建立的 DEX(DEX 1)上创建一个提案,将其架构从独立的 AMM 模式修改为 SLAMM 模式

  2. 假设提案通过,启动一个独立的应用链 Hub。验证者将被要求以 DEX 1 的治理代币作为质押,从而操作一个全节点并参与共识。这些验证者将在区块链中提交新的区块,并收到 DEX 交换费以换取他们的工作。验证者还必须通过对提案进行投票来参与治理,他们的投票将根据他们的总质押额进行加权计算。

  3. 整合 DEX 1 作为 SLAMM 的第一颗卫星,并将 DEX 1 的合同所有者地址的控制权移交给 Hub

  4. 创建在其他链上发射卫星的提案

  5. 通过在池子控制器中添加在不同 SLAMM 卫星部署上持有相同资产的池子来连接它们

  6. 为分配给控制器的所有池子中持有的代币建立跨链桥接路径

  7. Hub 验证者定期循环每个控制器,为所有共享流动性的资金池重新平衡(虚拟)流动性

SLAMM 架构目前是概念性的,但它提出了有趣的挑战,并且值得进一步研究。最直接的是,应该探索黑天鹅 Hub 链停止的缓解措施。如果这样的停止真的发生,LPs 必须能够在一系列的卫星上撤回他们的流动性,而不需要来自 Hub 的任何协调。已经提出了一些缓解策略,但没有几个能满足所有的要求 —— 特别是由于治理将随着Hub 链的停止而停止。任何解决方案都应该是自动化的,并且可以立即行动。

第二,可以改进建议的跨链补充流动性的方法,特别是对于波动性大的资产池。一个潜在的方法是让每个卫星 DEX 与信贷协议(或 "货币市场")整合,并在短期内借入流动性(直到 Hub 设法偿还贷款)。

最后,应该探索一种整合非 Cosmos 链的模式。其他区块链生态系统,正在努力实现 IBC 兼容性,包括以太坊、Polkadot、Avalanche 和 Fantom,都是明显的候选人。除了这些,SLAMM 有可能利用桥或异步消息来整合非 IBC 链的流动性,包括比特币。

虽然 SLAMM's 目前还是理论上的,但我们相信它们代表了 AMMs 的最终目标。随着交易者和 LPs 的用户体验的极大改善,它们可以帮助 DEXs 与中心化交易所的性能和资产种类相媲美。

最终,LPs 应该能够 "一次入金,偏地LP",而交易者应该能够在他们想交易的地方获得他们想交易的资产。由于它们能够提供即时的最终结果,SLAMM 流动性有可能被用于专注于借贷、稳定币等的非交换 DApps,以提供一个真正的跨链 DeFi 生态系统。我们相信这个独特的架构代表了迈向这个未来的最有效和最可能的一步,我们欢迎反馈和建议来改进它。


附录 1: dAMM 和 SLAMM 中的无常损失

考虑一个以 120,000 USDC 和 120 WETH代币开始的 dAMM,而 WETH 的市场价值为 1,000 美元。真正的 "流动资金 "在两个卫星之间平均分配。尽管每个卫星只拥有一半的流动性,但它们各自保持着与存入的流动性总量相等的 "虚拟储备"。

(图 11:dAMM 卫星共享虚拟流动性)

当 WETH 的价格移动到 2000 美元时,交易者和套利者将移动池子的余额以匹配每个卫星。考虑一个假设的 120,000 USDC 和 120 WETH 的单一池子。忽略费用,在这个价格下的新储备可以计算为:

或〜169,705 USDC 和 84.85 WETH。为了实现这些储备,交易者已经存入了 49,705 USDC 的净值,并取出了 35.15 WETH 的净值。在这个假设的单一池子中,剩余代币的总价值约为 339,411 美元。

(图表 1)

即使每条链上只有 60,000 USDC 和 60 WETH,dAMM 为交易者提供的定价与 120,000 USDC 和 120 WETH 的虚拟流动性一致。由于两个卫星都为交易者提供相同深度的流动性,上面的例子中的金额将从两个卫星中存入/取出,从而导致以下状态:

(图 12:dAMM 中的无常损失)

当我们将每个卫星的实际流动性相加时,我们得出上面的红色总数,与假设的单一池子相比,不平衡程度更大,分歧损失也更大,达到 11.4%。

(图表 2)

为了与 SLAMM 对比,考虑一个类似的 SLAMM 部署,向两个卫星提供 120,000 USDC 和 120 ETH,使用一个恒定乘积定价曲线(为了更容易与 dAMM 对比)。Hub 预测 B 池的利用率将提高 2 倍,并相应调整虚拟流动性。

(图 13:SLAMM 流动性分配)

当 WETH 的价格移动到 2,000 美元时,交易者将套利卫星余额来匹配,同样,我们最终有虚拟储备,使用公式匹配价格:

然而,这一次,每个卫星的 K 值不同,因此对交易的定价也不同;B 池的价格交易会有较低影响。只要 B 池取得的交易量份额比 A 池高,交易者就会平均取得较低的滑点。在这些交易之后,池子最终处于以下状态:

(图 14:SLAMM 中的无常损失)

当我们把这次的流动性相加时,我们最终的无常损失相当于单个池子的损失:

(图表 3)

值得注意的是,虽然 A 池和 B 池中的真实资产看起来价值不同,但 LP 对这些资产的要求与虚拟流动性成正比;从 B 池提款不会遭受额外的无常损失。由于相对于 LP 在提款时的欠款而言,真实的流动性可能很低,因此 LP 提款可能需要在 hub 结算内部 VLP 会计时进行异步调用。