LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 一文读懂 B.AMM:高效的 DeFi 清算自动做市商

一文读懂 B.AMM:高效的 DeFi 清算自动做市商

2021-07-24 区块链网络 来源:链闻

Backstop 自动做市商(B.AMM) 是一个为借贷平台提供清算优化的自动做市商。它是一个完全自主的智能合约,可以有效地处理大额债务清算的资本利用率。

原文标题:《B.AMM-高效地 DeFi 清算自动做市商》
撰文:Lochuan Chang
来源:B.Protocol

介绍

去中心化的借贷平台,例如 Maker[1]、Compound[2]、dydx[3]、bZx[4] 和 Aave[5],尽管在去中心化的交易所拥有数十亿美元的流动性可以以在清算发生的时候提供清算流动性,但它们只有 3~5 倍的杠杆率,资金效率是极低的。借贷平台的策略是过于保守的,因为大多数 DeFi 的流动性都集中在自动做市商(AMM),他们要么(1)导致相对较高的滑点(如 Uniswap V2, Sushi,Balancer,and Bancor);要么(2)提供小价格区间内的低滑点,但在价格变化时流动性可能会被耗尽(如 Uniswap V3, Kyber 的 DMM)。因此,像 Uniswap V2 这样的 AMM,尽管在其 ETH/DAI 池中有超过 2 亿美元的流动性,却无法完成 2000 万美元 DAI 的清算。

一个著名的支持低滑点和无限价格范围的 AMM 是 Curve Finance,然而到目前为止,它只限于支持价格紧密相关的资产对,如 USDT 和 DAI。在本文中,我们提出了 Backstop AMM (B.AMM),在价格反馈的帮助下,将 Curve Finance 的稳定互换不变性扩展到两个任意的资产对(例如 ETH 和 DAI)。因此,B.AMM 根据当前的市场价格对资产对进行定价,但根据头寸的不平衡性进行潜在的折扣或溢价(即更高的不平衡性将导致更高的价格折扣),而折扣(溢价)是根据 Curve Finance 的稳定互换不变式计算的。

这就产生了一个完全自动化的系统。

在一个有收益的平台上汇集用户资金,如 Uniswap V2 或 YFI。

根据需求,当需要清算时,提取部分汇集的资金(例如 DAI),并执行清算(例如,使用 DAI 以 8% 折扣执行 ETH 清算)。

将抵押品在 B.AMM 出售,在市场价格上有折扣,同时保持比清算折扣低的折扣。

每次出售抵押品时,回报,例如 DAI,都会被存入用户资金池。

我们表明,在相同的资金体量下,这种系统可以比普通 AMM 更好地处理清算问题,可以说给用户带来了更好的收益,但也有一些额外的风险。

在下一节中,我们将描述该系统。然后,在第 3 节中,我们给出了如何将 Curve Finance 的稳定币互换调整为任意交易对互换。在第 4 节中,我们展示了一个该系统的模拟,证明该系统可以处理现实世界中 CeFi 规模的清算。

系统设计

在当前系统设计下,用户提供用于清算的流动性(例如,偿还 DAI 债务以换取 ETH 抵押品),在清算发生后,自动开始资产再平衡。再平衡过程将被扣押的抵押品转换回原始资产(例如,ETH 抵押品被转换回 DAI)。再平衡是根据当前市场价格出售抵押品来完成的,而市场价格是根据预言机(Chainlink)确定的。根据要出售的抵押品的大小对市场价格给予可选的折扣,具体公式在第 3 节中描述。由于用户的存款在大部分时间内是闲置的(当清算不发生时),系统将代替用户将其存入一个有收益的协议,如 Uniswap 或 Compound,并只在促进清算时提取。该系统由四个主要部分组成,即 :

IDLE 组件存储流动性(用户存款),在不用于清算时,可以管理用户存入的资金。例如, IDLE 组件可以管理 DAI 存款,当 DAI 不用于清算时,DAI 将被存入 Compound 中。它也允许多种存款,例如 DAI 和 ETH,并将这些资金放在 Uniswap V2。

BITE 组件将 IDLE 组件连接到依赖 B.AMM 进行清算的贷款平台。根据要求,它从 IDLE 组件提取资金,执行清算,并将返回的抵押品转移到 REBALANCE 组件。例如,如果用户存入的是 DAI,它将从 IDLE 中提取用户存入的 DAI,并将清算期间收到的 ETH 转移至 B.AMM。如果用户存入的是 DAI/ETH,那么 DAI 和 ETH 都将被提取,但只有 DAI 将被用于完成清算,ETH 只是暂存在 IDLE 中,清算完成后系统自动回补用户在 Uniswap 的 DAI/ETH 流动池。

REBALANCE 组件负责出售清算资产,资产出售完成后把资产转移至 RETURN 组件。

RETURN 组件将资金存回 IDLE 组件中。这个操作可以是简单的,例如,简单地将 DAI 存入 Compound,或更复杂的操作,例如,将 ETH/DAI 的流动性返回到 Uniswap 池中。后者更复杂,因为它需要一个逻辑来防止 Uniswap 价格被操纵。

图 1 描述了四个组成部分之间的互动,并在下一小节中详细描述。

图 1: B.AMM 系统设计概览

IDLE

IDLE 支持四个功能,其中两个由协议流动性提供者使用,一个由 BITE 组件使用,一个由 RETURN 组件使用。

Deposit:用户通过向 IDLE 组件存款来汇集资金。每个用户的存款都会根据存款的相对规模在资金池中发行一个份额。如果适用的话,IDLE 还作为价格反馈来正常化 REBALANCE 组件中的资产价值。

Withdraw:用户可以根据他 / 她存入的资金凭证来提取他 / 她的资金。

Bite:在清算中,一个金额为 d 的 D 型债务正在被偿还,以换取 C 型的抵押品。在这种情况中,IDLE 组件从资金池中取出 D 型代币,并将其转移到 BITE 组件。在一般情况下,例如,如果闲置资金存放在 Uniswap,为了提取 D 代币,可能还需要提取其他资产。如果是这种情况,那么这些资产将被发送到 RETURN 组件。

Return:一些有收益的平台,例如 Uniswap,要求存款必须组成交易对,并达到一定比例。因此,当提取特定资产以服务于清算操作时,可能需要同时提取其他资产。例如,当从 ETH/DAI Uniswap 池中提取 DAI 时,也必须提取等量的 ETH。同样,当存回 Uniswap 时, 必须存入等量的 DAI 和 ETH,返回函数负责处理这个逻辑。

BITE

BITE 组件为外部借贷平台提供清算接口。每当借贷平台的一个账户被清算时,任何人都可以调用接口进行清算。该调用通过从 IDLE 组件中提取所需的资金来偿还被清算的账户债务(如 DAI),并将账户的抵押品(如 ETH)发送给 REBALANCE 组件,后者将反过来将其转换为原始资产(如将 ETH 转换成 DAI)。每个债务的抵押金额由借贷平台决定(通常是 105-108%),然而 BITE 组件可以拒绝清算请求,例如,当借贷平台的价格与 B.AMM 价格有偏差时。这样,当借 贷平台有任何问题时都不会影响 B.AMM。换句话说,B.AMM 可以安全地与任何借贷平台整合, 而无需审查其基础安全。

REBALANCE

在清算过程中,会产生库存资金不平衡。事实上,如果 ETH 抵押品被清算,由于清算折扣, 系统的总资产价值将会增加,然而系统资产现在有多余的 ETH,而 DAI 则短缺。REBALANCE 组件的作用是将多余的 ETH 卖成 DAI,这是通过一个特殊的价格函数完成的。由于价格函数的存在,智能合约逻辑允许任何人根据价格函数来购买 ETH,系统因此而获得 DAI。价格函数由资产失衡的大小程度和市场价格决定。系统资产失衡度越大,出售的资产(这里以 ETH 做例子) 价格折扣越大,系统资产不失衡时,资产价格将与市场价格相同。读者应该注意,即使卖出的价格低于市场价格,也会有利润,因为卖出折扣总是小于清算折扣。然而,如果在卖出完成之前出现剧烈的市场波动,则可能出现损失。我们在第 4 节的模拟表明,尽管有中间的损失,但从长远来看,这种操作大部分是盈利的。

RETURN

卖出的失衡资产被返回到 IDLE 组件中。在两种特殊情况下,RETURN 组件专门实现了两种特殊处理办法 :

当 IDLE 存款操作耗费大量 GAS 时,该组件可以确保只存大额资金。这就节省了 GAS 的开销,否则可能会消耗大部分的清算利润。

当 IDLE 存款需要一个特殊的逻辑。例如,考虑 IDLE 组件将用户资金存入 ETH-DAI Uniswap V2 池的情况。这种情况下,在清算时,ETH 和 DAI 都要被提取,而只有 DAI 会在清算时被使用。每当多余的 ETH 被 REBALANCE 组件卖成 DAI 时,RETURN 组件将把等量的 DAI 和 ETH 存回 Uniswap 池中。

稳定的互换不变量

在这一节中,我们提出了一种新的自动算法(定价公式),用于重新平衡资产组合,即在给定的资产组合规模和失衡度的前提下,结合当前市场价格,决定资产出售价格的公式。DeFi 生态系统对自动定价公式做过很多工作,例如,Uniswap, Bancor,Balancer, DODO, Kyber Network。然而,所有这些以前的工作都集中在做市上,在每个时间点上,投资组合都被假定为完全平衡。 就我们所知,这是行业第一次对自动再平衡算法进行研究。在以前的工作中,做市商算法假设投资组合是平衡的,其主要功能是为给定的投资组合规模和卖出数量的滑点定价。在我们这项工作中,系统完全了解失衡度的大小,因此可以为给定的投资组合大小、失衡度大小和卖出数量定价。再平衡算法有两个根本特性与做当前的市商算法不同。

在再平衡算法中,较大的卖出量会导致较低的价格变化。这是因为较大的卖出量的结果是 一个更平衡的资产组合。而在做市商算法中,当卖出数量较大时,价格的变化也较大。

在做市商算法中,该公式总是试图以比估计的市场价格更贵的价格出售。这是为了减少卖出后出现不平衡情况的风险。在再平衡算法中,卖出价格通常会低于市场价格。请注意, 在我们的案例中,资产组合失衡只在清算时才会增加,而清算时比市场价格有很大的折扣。 因此,低于市场价格的再平衡仍有可能获利。

这一特性使其成为自动匹配再平衡过程中使用稳定互换不变式的理想选择。然而,稳定互换不 变式是为相关资产类别量身定做的,例如 DAI 和 USDT。由于我们的系统在清算过程中已经依赖于外部价格反馈。因此,我们可以将所有的投资组合资产归一到它们的美元价值,并将其插 入稳定互换不变式,而不需要额外的安全风险。稳定互换不变式给出了 X 和 Y 资产在交易数量
无限小时候的定价。从形式上看,稳定互换不变式(对于两种资产)是:

????( ???? + ???? ) + ???? = 4???????? + ????3/4???????? (1)

这里

???? = ???? + ???? (2)

而 ???? 是一个选定的系数。???? 越高,滑点就越小。

不变量的主要属性是,当接近 1 时(即 ???? = ???? 时),滑点较小。这个特性对再平衡算法非常好,因此我们选择按原样使用该公式,并作如下调整:

我们将所有的库存资产归纳为美元价值(使用价格反馈)。

我们用 ???????????? 来表示我们在所有 4 个部分的库存量。用 ???????????? 表示我们只有在 REBALANCE 部分的库存量。然后我们设定 ???? = ???????????? ? ????????????,???? = ???????????? + ????????????,出售的资产为 ???? 类型。

这一设计选择保证了只要 ???????????? > 0,???? 的价格就会比市场价格有折扣,???????????? 越大,折扣越大。此外,Curve Finance 实现了一个 ???????????????? ( ????, ????, ????????) 函数,该函数返回 ???? 资产的数量,以换取 ???????? 数量。因此,B.AMM 公式,是

???????????????? (????????????????????????, ???????????? + ????????????, ????????) (3)

系数 ???? 应该反映 AMM 的风险偏好。较高的 ???? 将提供较低的市场价格折扣,这将导致更大的失衡度,但也会带来更高的预期利润。未来工作的一个研究方向是设计一个根据市场波动动态变化的 ????。

对 CeFi 清算的模拟

在本节中,我们对 B.AMM 和现实世界中允许 x100 杠杆的交易所的清算进行了模拟。我们首先为这种模拟建立了一个模型框架,然后对 Binance Futures 的真实清算数据进行模拟。我们的理论建模和模拟都表明,B.AMM 方法的资本效率比现有的 AMM 高 20 倍,并且可以处理超过 10 亿美元的月度清算。

理论模型

为了模拟该系统,我们需要构建一个模型,描述 REBALANCE 模型将如何执行。也就是说, 它将如何快速地重新平衡库存资产组合,以及它的交易盈亏(PnL)如何。我们遵循 Gauntlet 的工作思路 [2],为 REBALANCE 模型建立一个保守的简化模型。在我们的模型中,B.AMM 的库 存资产组合规模为 ????????????????,在 DeFi 中只有一个额外的流动性来源,即 DEX,这里使用 Uniswap 的常数乘积公式,AMM 的每个资产都有库存 invd (例如,如果它有 1 亿美元的 USDT 和 1 亿美元的 ETH,那么 ???????????????? = 100)。我们进一步假设,只要 REBALANCE 价格和 DEX 价格之间存在套利,就会立即执行。最后,我们假设一个时间间隔 T,并允许在该时间间隔内只做一次套利(REBALANCE 和 DEX 之间)。直观地说,T 代表 DeFi 流动性恢复所需的时间,在每笔大交易之后。例如,如果 ???????????????? = 100????,???? = 30,做了一次 3M 美元的套利,那么 30 分钟后,DEX 将恢复到 ???????????????? = 100????,价格将根据真实的市场价格(从 CeFi 交易所获得)。这种方法是保守的,因为在实践中,并非所有的 DeFi 流动性都集中在采用常数乘积的 AMM,而且在实践中,甚至在时间间隔结束之前,DEX 头寸也会有某种部分的重新平衡。

鉴于上述模型,我们衡量两个指标 :

未清算百分比,即系统没能清算的数量。而保守的假设是,如果在清算的确切时刻,系统 没有足够的资金来偿还清算的债务,那么整个清算被错过了。

在给定的时间范围内,系统的 PnL。

我们的目标是使第一个参数最小化,使第二个参数最大化。

图 2: 左手边是 2021-04-10 和 2021-04-30 之间,Binance 期货的 ETH-USD 多头清算。X 轴显示的是以 30 分钟为单位的时间,Y 轴显示的是自该时期开始以来以 1 亿美元为单位的总清算量。右边是 ETH-USD 价格。

实验结果

我们根据 Binance 合约 ETH-USD 多头清算情况进行了模拟,时间为 2021-04-10 至 2021-04- 30。[6] 在这 20 天里,发生了超过 7 亿美元的多头清算,如图 2 所示,清算的时间分布远非均匀。我们模拟了多个 ????、???? 和 ???????????????? 值的 B.AMM 性能。正如预期的那样,较高的 A 值增加了未 清算的百分比,但也增加了 PnL。然而,由于 PnL 仍然相当高,我们只介绍了一个特定值的结果,即 ???? = 20。我们首先检查了不同的 ???? 和 ???????????????? 值下的错过清算的百分比。20 天内 7 亿美元的总和相当于每月 10 亿美元的清算,正如图 3 所描述的,B.AMM 比恒定乘积 AMM 更出色。在 最乐观的假设下,即 DeFi 流动性每 1 分钟恢复一次,Uniswap AMM 仍然错过了 20% 以上的总清算,而 B.AMM 在使用相同的库存资金规模时,未清算百分比在 7% 以下,增加库存资金规模时,B.AMM 不会错过任何一次清算机会。对于最保守的 ???? 值,Uniswap 将错过几乎一半的清算, 而如果提供 2 亿美元的库存,B.AMM 将只错过 2%,如图 3 所示。

图 3: 错过 Binance 期货 ETH-USD 多头清算的百分比。???????????????? = 100, 000, 000 美元,???? = 20,清算惩罚为
5%。

更大的库存资金会带来更小的失误率。因此,B.AMM 的可扩展性关键取决于活跃参与者存入更多资金的意愿。为此,我们模拟了年利润,基于 20 天的模拟,为简单起见,我们假设 IDLE 组件带来的收益为零。结果如图 4 所示,即使是 10 亿美元的资本也会带来体面的收益。相比之下,Uniswap 流动性提供者不会从支持中获得那么多收益。

图 4: APY: ???????????????? = $100, 000, 000,???? = 20, and liquidation penalty of 5%。

结论

在这篇文章中,我们提出了 B.AMM,一个有效处理清算工作的新型自动化系统。我们证明了该系统优于使用恒定乘积的 AMM 产品,并能处理每月超过 10 亿美元的清算。该系统缓解了 DeFi 借贷平台中最重要的三个痛点:

由于对其清算过程缺乏信心,目前的借贷平台提供的杠杆率非常低。有了 B.AMM 就可以轻松支持 x20 的杠杆率。

尽管在 Uniswap 和 Sushiswap 有大量的流动性,但借贷平台不能支持长尾资产。鼓励社区将他们的流动性存入 B.AMM,而 B.AMM 又会将流动性输送到 Uniswap 或 Sushiswap,这将在清算时产生流动性保障。借贷平台因此能够支持这些资产作为抵押品。

今天的借贷平台要么依靠未知的清算人在需要的时候进行清算,有些清算人甚至出现在某些协议的工资单上。在一个完全去中心化和透明的系统中有这种清算人的存在时荒谬的。B.AMM 催生了一个完全去中心化和透明的基于社区的清算系统。

清算是借贷平台、合成资产、衍生品和稳定币的核心所在。B.AMM 为这些平台提供更有效和更去中心化的解决方案。

参考文献
[1] Introduction to the Maker Protocol[J/OL]. https://docs.makerdao.com/, Last accessed on 2020-03-17.

[2] An Analysis of the Market Risk to Participants in the Compound Protocol[J/OL]. https://scfab.github.io/2020/FAB2020_p5.pdf, Last accessed on 2021-06-09.

[3] Antonio Juliano. dYdX: A Standard for Decentralized Margin Trading and Derivatives[J/OL]. https://whitepaper.dydx. exchange/, Last accessed on 2020-03-21.

[4] bZx Litepaper[J/OL]. https://bzx.network/pdfs/bZx_lite_paper.pdf, Last accessed on 2021-06-09.

[5] AAVE Protocol Whitepaper[J/OL].
https://github.com/aave/aave-protocol/blob/master/docs/Aave_Protocol_Whitepape r_v1_0.pdf, Last accessed on 2021-06-09.

[6] Binance Futures ETH-USDT liquidations 2021-04-10 to 2021-04-30[J/OL]. IPFS%20QmcoDfZh5K64CyMCBxrgVmC GkCPP6RwzB7DTnWeWemiAPo, Last accessed on 2021-06-09.

[7] Balancer: A non-custodial portfolio manager, liquidity provider, and price sensor[J/OL]. https://github.com/aave/aave-p rotocol/blob/master/docs/Aave_Protocol_Whitepaper_v1_0.pdf, Last accessed on 2021-06-09.

[8] Bancor Protocol[J/OL]. https://storage.googleapis.com/website-bancor/2018/04/01ba8253-bancor_protocol_whitepape r_en.pdf, Last accessed on 2021-06-09.

[9] DODO: A Next-Generation On-Chain Liquidity Provider Powered by Pro- active Market Maker Algorithm[J/OL]. https://dodoex.github.io/docs/docs/whitepaper, Last accessed on 2021-06-09.

[10] Dynamic Automated Market Making[J/OL].
https://bzx.network/pdfs/bZx_lite_paper.pdf, Last accessed on 2021-06-09.

[11] Geo?rey Hayes Robert Leshner. Compound: The Money Market Protocol.[J/OL]. https://compound.finance/documents/Compound.Whitepaper.pdf, Last accessed on 2020-03-02.

[12] StableSwap - e?cient mechanism for Stablecoin liquidity[J/OL]. https://curve.?/?les/stableswap-paper.pdf, Last accessed on 2021-06-09.

[13] Uniswap v2 Core[J/OL]. https://uniswap.org/whitepaper.pdf, Last accessed on 2021-06-09.

[14] Uniswap v3 Core[J/OL]. https://uniswap.org/whitepaper-v3.pdf, Last accessed on 2021-06-09.

—-

编译者/作者:区块链网络

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...