Haven 4.0 滑移发展

您可以从以下位置下载此博客的 PDF 版本 这里.

总览

经过似乎永恒的等待,Haven 终于准备好踏上其代币经济学事业的新旅程。滑点。

滑点最初是作为测试网阶段 3.1 版本中的概念验证而引入的,当时有人讨论过 这里. 转换中滑点的实际应用已经内置于协议中,但它从未在主网上启用过。

这一现状即将改变。

Transaction with Slippage integrated
上面的截图显示了协议中已经内置了滑点的常规转换,当前设置为零。

经济学工作组 (EWG) 一直努力开发一个可以安全替代 VBS 的模型,并允许该协议更自由地运行,并且在没有失控通货膨胀风险的情况下实现恢复。

滑点的最初想法是在转换过程中销毁一定数量的资产。销毁的数量将由两种资产之间的转换规模及其池比率决定,其中每种资产的流通供应代表一个池。如果池比率平衡良好且订单规模较小或中等,滑点就会相对较小。但是,如果池不平衡或转换规模很大,滑点也会很大。这类似于使用带有池的 DEX 来满足买家和卖家的订单:订单越高,滑点越大。

EWG 很快意识到,最初提议的延期不足以确保从 VBS 安全过渡。通过利用已经在使用的协议状态(其健康状况), VBS,在状态不佳时会施加额外的滑点,并随着状态的改善而逐渐减少,从而允许协议恢复。

现在,我们将解释滑点的工作原理及其实现方式。

什么是滑点?

滑点表示转换过程中被销毁的资产数量,以百分比计算。要销毁的资产始终是转换的源资产。如果我们从 xUSD 转换为 XHV,则 xUSD 将被销毁。如果我们将 xBTC 转换为 xUSD,则 xBTC 将被销毁。

滑点的目的

滑点旨在取代 VBS,消除抵押品和解锁时间的限制,并允许 xUSD 重新挂钩。在首次发布时,VBS 将减少到最低限度,这将在主网上验证滑点的同时提供持续的应急保护,并鼓励用户购买 XHV 作为抵押品。如果滑点按预期工作,VBS 将在后续版本中被彻底删除。

通过滑点,我们还将抑制 VBS 之前存在的保险库内部的无限流动性,并且这种流动性仍然存在于 xAssets(xUSD <-> xAssets)之间的转换中。

无限的流动性是 Haven 生态系统中通货膨胀不受控制和不平衡的主要原因之一。

滑点的基本形式是,根据转换规模销毁部分源资产。销毁的金额取决于两种资产之间的池比率。

额外的滑点将根据协议状态应用,由市值比率、xUSD 的市场价格、XHV 市值和 xBTC 市值定义。

滑点前提条件

为了计算滑点,我们将使用现有的 XHV 现货和 MA 价格。我们还将创建两个新的价格源,xUSD 现货价格和 xUSD MA(移动平均线)。

新的价格信息流的引入意味着我们必须创建一个新版本的预言机来纳入这些变化。

新版本将在分叉后生效。新预言机的链接将在开发和测试阶段分享。

以下进给和计算值将用于滑移计算。

xUSD 市场价格 – 现货

部分滑点计算将需要 xUSD 的现货市场价格。

来自我们交易所的 xUSD 价格信息将被添加到预言机中。

与 XHV 价格馈送一样,将根据价格和数量计算所有 xUSD 对之间的加权平均值。

为了便于参考,在本文中,我们将这个新变量称为 XUSD_SP.

xUSD 市场价格 – 移动平均线

为了减少交易所对 xUSD 价格的操纵,我们将创建一个 3 天 移动平均线追踪 xUSD 的现货价格。

我们将用它来计算滑点的某些部分。

为了便于参考,在本文中,我们将此变量称为 XUSD_MA.

市值比率 – 现货

市值比率现货计算将基于 XHV 现货价格,就像目前计算 VBS 的市值比率时一样。

现货 Mcap 比率的公式为:

xAssetsMcap = 离岸资产总额市值的美元价值(包括 xUSD、xBTC、xAU 等),使用 xUSD 的名义价值 $1。

这里,XHV 的市值是使用 XHV 现货价格计算的。

为了便于参考,在本文中,我们将此变量称为 MCR_SP.

市值比率 – 移动平均线

为了减少交易所对 XHV 价格的操纵,我们将使用 XHV 的 MA 价格来计算市值比率的移动平均线。

MA Mcap 比率的公式为:

xAssetsMcap = 离岸资产总额市值的美元价值(包括 xUSD、xBTC、xAU 等),使用 xUSD 的名义价值 $1。

这里,XHV 的市值是使用 XHV 的 24 小时 MA 价格计算的。

为了便于参考,在本文中,我们将此变量称为 主控端.

xBTC 市值比率

xBTC 市值比率将用于计算 xUSD –> xBTC 转换的滑点。

计算该比率的公式为:

滑点计算

计算总滑点有四个主要部分:

  1. 基本滑点
    基本滑点适用于所有转换。其计算方法是计算源资产和目标资产之间的资金池比率,然后对其应用乘数,从而得出滑点的百分比。
    此部分取决于转化规模。转化规模越大,滑点越高。
  2. 市盈率滑点
    Mcap 比率是衡量协议状态的指标,它与用于计算的比率相同 VBS,只不过我们将使用两个比率,一个基于 XHV 的现货价格 (MCR-SP),另一个基于 XHV 的 MA 价格 (MCR-MA)。这样做是为了减少操纵。
    此组件仅适用于支撑转换,即 XHV <–> xUSD。
    它与转换的大小无关,并确保不能通过将较大的转换拆分为较小的转换来绕过较大的滑点。
  3. xUSD 挂钩滑点
    根据 xUSD 的市场价格,使用上面定义的变量 XUSD-SP 和 XUSD-MA 产生额外的滑点。
    滑点的这一部分适用于所有转换,并且与转换规模无关。
    xUSD 失去锚定的程度越大,滑点就越高,如果 xUSD 锚定太低,滑点就会促使 xUSD 恢复锚定。结合 3 天 MA 价格,操纵 xUSD 价格将变得更加困难。
  4. xBTC Mcap 比率滑点
    造成这种额外滑点的原因在于比特币的波动性和通货膨胀对 Haven 生态系统的风险。
    滑点将根据 xBTC 与 xUSD 的市值比率计算。比率越高,滑点越高。
    此组件仅适用于 xUSD –> xBTC 转换,并且与转换大小无关。

最简单的总滑点将按以下方式计算。

对于 XHV <–> xUSD 转换:

这里我们取 mcap 比率和 xUSD 挂钩之间的最大滑点,并将其添加到基本滑点中。

对于 xUSD –> xBTC 转换:

这里我们取 xBTC 和 xUSD 挂钩之间的最大滑点,并将其添加到基本滑点中。

对于所有其他 xUSD <–> xAssets 转换 (包括 xBTC –> xUSD):

我们现在将详细描述如何计算上述每个组成部分。

1. 基本滑点计算

基本滑点与转换规模直接相关,由于我们要从池中取出资产,因此源池中的滑点通常设置得更高。在岸资产除外
(xUSD –> XHV),其中目标池滑点可能更高。这将在下文进一步解释。

基本滑点包括:

  • 源池比率
  • 源池乘数
  • 目的地池比率
  • 目的地池乘数

源池比率乘以源池乘数,得到
源池滑点.

目标池比率乘以目标池乘数,得出
目的地池滑点.

然后我们将两者相加得到基本滑点:

源池滑点

首先,我们需要计算源池比率。
公式如下:

转换金额 是要转换的资产金额。
资源供应 是正在转换资产的流通供应量。

接下来,我们计算源池乘数,即:

请参见下表,了解源池乘数如何随比率的增加而变化。

最后,我们计算源池滑点,即:

结果将给出百分比的分数值。可将其乘以 100 得出百分比。

基于上面描述的“SourcePoolMultiplier”公式的源池乘数表。

目的地池滑点

首先,我们计算目标池比率。
公式如下:

对于 xUSD –> XHV 转换(在岸):

为了 XHV 我们使用现货和移动平均线之间的最小价格。

对于 XHV –> xUSD 转换(离岸):

为了 XHV 我们使用现货和移动平均线之间的最高价格。
为了 xUSD 我们使用现货和移动平均线之间的最小价格。

对于 xAssets –> xUSD 转换:

为了 xUSD 我们使用现货和移动平均线之间的最小价格。

对于 xUSD –> xAssets 转换:

转换金额 是要转换的资产金额。
资产价格 是被转换资产的价格。对于 xUSD,其价格为 $1。
目标资产Mcap 是被转换资产的市值。
西高斯脉冲 是XHV现货价格。
西高真空机械制造协会 是 XHV 24 小时 MA 价格。

接下来,我们计算目标池乘数。
对于此乘数,我们将使用静态值 5,除非我们在岸外开展业务。

对于 xUSD –> XHV 转换(在岸):

这个公式是高度指数的(见下表),并且通过增加目的地池滑点,在任何时候有太多的 XHV 被转移到岸上时,它会起到中断的作用。

对于所有其他转换,我们有:

我们现在可以计算目标池滑点:

结果将给出百分比的分数值。可将其乘以 100 得出百分比。

下表显示了目标池乘数如何随比率的增加而变化。
仅适用于在岸(xUSD –> XHV)。

基本滑点

计算基本滑点的最后一步是将源滑点和目标滑点相加。

2. Mcap 比率滑点计算

Mcap 比率滑点仅适用于支撑转换,XHV <–> xUSD。

为了计算滑点,我们使用以下公式:

这里我们使用现货和 MA 市值比率之间的最大值。
mcap 比率越高,协议状态越差,因此滑点越高。

结果将给出百分比的分数值。可将其乘以 100 得出百分比。

下表显示了滑点随市值比率的增加如何上升。

3. xUSD 挂钩滑点计算

xUSD 挂钩滑点将适用于所有转换。

为了计算滑点,我们使用以下逻辑和公式:

如果 最小值(xUSD_SP,xUSD_MA)> = 1

如果 xUSD Spot 和 MA 都大于或等于 1,则 xUSD 挂钩滑点设置为零。

别的

结果将给出百分比的分数值。可将其乘以 100 得出百分比。

下表显示了滑点随市值比率的增加如何上升。

4. xBTC Mcap 比率滑点计算

xBTC 滑点仅适用于 xUSD –> xBTC 转换。

为了计算滑点,我们使用以下公式:

对于 xUSD 市值,我们使用 xUSD 现货相对于 MA 的最低价格。

下表显示了滑点随市值比率的增加如何上升。

开发概要

作为滑点实施的一部分,需要进行以下变更:

  1. 按照上面描述的方式实施滑移。
  2. 创建一个新的 oracle,其中包括以下内容:
    – xUSD 现货价格的新价格信息
    – xUSD 3 天移动平均线的新价格信息
    – 整合来自其他交易所的 XHV 新价格信息并与现有的价格信息相结合。
  3. 将 oracle 中的定价记录 (PR) 格式更改为元组,如本例所示:
    公关:{
       资产:{
          “XHV” { “现货”:…,“MA”:…},
          “xUSD” { “现货”: …, “MA”: … },
  4. 将 VBS 降低至固定汇率 1,以进行岸外转换(XHV <–> xUSD)。
  5. 将抵押品解锁时间减少至 24 小时(720 个区块)。
  6. 保持转换金额解锁时间为 24 小时(720 个区块)。
  7. 费用保持在 1.5% 并应用于转换的金额,在应用滑点之前(这已经自 Haven 3.1 开始实施,但尚未激活)。
  8. 移除块帽(自 Haven 3.1 起已实施)。
  9. 禁用以下稳定货币:
    XAUD、XCHF、XCNY、XGBP 和 XEUR
    仅禁用从 xUSD 到 xCurrency 的转换,以允许用户退出。
  10. 发布时将协议版本更改为4.0。

问答

问题:如果 xUSD 价格供给中断会发生什么?
回答:如果没有价格反馈,就无法进行转换。
包括来自多个交易所的价格信息将降低信息中断的风险。
  
问题:如果 XHV 价格供给中断会发生什么情况?
回答:如果没有价格反馈,就无法进行转换。
我们正在延长 XHV 的价格供给时间,以尽量降低中断风险。
  
问题:为什么我们要禁用所有 xAssets 稳定币?请参阅开发摘要。
回答:稳定的 xAssets(例如 xEUR、xCHF 等)尚未得到充分使用,因此没有必要保留它们。删除这些稳定的 xAssets 将减少攻击媒介的数量,并使我们能够专注于最重要的稳定币:xUSD。另一个原因是,在一种稳定币(xUSD)和另一种稳定币(xEUR 等)之间进行转换毫无意义。Haven 生态系统中稳定币的理念是躲避波动性资产和/或私下存储稳定资产。减少预言机中不必要的信息量也有助于减少信息和转换中的潜在中断。
  
问题:如果美元未来失去主导地位或稳定性会发生什么?
回答:如果发生类似情况,可以通过用所选资产替换 xUSD 来转换为另一种稳定资产。
  
问题:VBS 何时会被删除?
回答:这取决于 Slippage 在首次发布时的表现。VBS 对我们的协议有限制,因此我们希望尽快将其移除。未来几个月内,我们将密切关注 Slippage。

附录 1 – 转换示例

以下是针对 XHV、xUSD 和 xBTC 之间每种转换类型的一些工作示例。

我们将对所有示例假设以下初始值:

  • XHV 供应量 = 38,600,000
  • xBTC 供应量 = 60
  • xBTC价格 = $70,000
  • xUSD 供应量 = 12,618,000
  • xAssets 总市值 = $17,314,000

示例 1 – xUSD 转换为 XHV

本例中的初始值:

  • XHV 现货价格 = $0.10
  • XHV MA 价格 = $0.13
  • xUSD现货价格=$0.30
  • xUSD MA 价格 = $0.20
  • 平均需求成本-SP = 17,314,000/ (38,600,000 * 0.10) = 4.485
  • 平均成本比率-平均成本比率 = 17,314,000 / (38,600,000 * 0.13) = 3.450
  • 兑换金额 = 10,000 xUSD
基本滑点计算

源池比率 = 转换量 / 来源供应量 = 10,000 / 12,618,000 = 0.000793
源池乘数 = pow((sqrt(pow((Source_PoolRatio * 7) , 0.5)) + 1) , 5)
= pow((sqrt(pow((0.000793 * 7) , 0.5)) + 1) , 5)
= 3.342
源池滑点 = 源池比率 * 源池乘数
= 0.000793 * 3.342 = 0.00265 = 0.265%


目标池比率  = (转换金额 * 资产价格) / 目标资产市值
= (10,000 * $1.00) / (38,600,000 * 最小值($0.10,$0.13)) = 0.00259
目标池乘数 = pow((sqrt(pow(Destination_Pool_Ratio, 0.4)) + 1), 15)
= pow((sqrt(pow(0.00259,0.4)) + 1),15) = 53.51
目标矿池滑点 = 目标池比率 * 目标池乘数
= 0.00259 * 53.51 = 0.1386 = 13.86%


基本滑点 = 源池滑点 + 目标池滑点 = 0.265% + 13.86% = 14.125%

Mcap 比率滑点计算

使用上面的 MCR_SP 和 MCR_MA 值,我们得到:

Mcap_Ratio_Slippage = sqrt(pow(max(MCR_SP, MCR_MA), 1.2)) / 6
= sqrt (pow (最大值 (3.450, 4.485), 1.2)) / 6
= 0.4101 = 41.01%

xUSD 挂钩滑点计算

使用上面的 xUSD_SP 和 xUSD_MA 值,我们得到:

xUSD_Peg_滑点 = sqrt(pow(1 – 最小值(xUSD_SP, xUSD_MA),3)) / 1.3
= sqrt(pow(1 - 最小值(0.30, 0.20),3)) / 1.3
= 0.5504 = 55.04%

总滑点

总滑点 = 基本滑点 + 最大值(Mcap_Ratio_Slippage,xUSD_Peg_Slippage)
= 14.125% + 最大值(41.01%,55.04%)
= 14.125% + 55.04%
= 69.165%

示例 2 – XHV 转换为 xUSD

本例中的初始值:

  • XHV 现货价格 = $3.50
  • XHV MA 价格 = $4.00
  • xUSD 现货价格 = $0.80
  • xUSD MA 价格 = $0.90
  • 平均需求成本-SP = 17,314,000 / (38,600,000 * 3.50) = 0.128
  • MCR-MA = 17,314,000 / (38,600,000 * 4.00) = 0.112
  • 兑换金额 = 10,000 XHV
基本滑点计算

源池比率 = 转换量 / 来源供应量 = 10,000 / 38,600,000 = 0.000259
源池乘数 = pow((sqrt(pow((Source_Pool_Ratio * 7) , 0.5)) + 1) , 5)
= pow((sqrt(pow((0.000259 * 7) , 0.5)) + 1) , 5)
= 2.555
源池滑点 = 源池比率 * 源池乘数
= 0.000259 * 2.555 = 0.000661745 = 0.0662%


目标池比率 = (转换金额 * 资产价格) / 目标资产市值
= (10,000 * 最大值 ($3.50, $4.00)) / (12,618,000 * 最小值 (0.8,0.9) = 0.00396
目标池乘数 = 5
目标矿池滑点 = 目标池比率 * 目标池乘数
= 0.00396 * 5 = 0.01981 = 1.981%


基本滑点 = 源池滑点 + 目标池滑点
= 0.0662% + 1.981% = 2.0472%

Mcap 比率滑点计算

使用上面的 MCR_SP 和 MCR_MA 值,我们得到:

Mcap_Ratio_Slippage= sqrt(pow(max(MCR_SP, MCR_MA), 1.2)) / 6
= sqrt(pow(max(0.128, 0.112), 1.2)) / 6
= 0.0485 = 4.85%

xUSD 挂钩滑点计算

使用上面的 xUSD_SP 和 xUSD_MA 值,我们得到:

xUSD_Peg_滑点 = sqrt(pow(1 – 最小值(xUSD_SP, xUSD_MA),3)) / 1.3
= sqrt(pow(1 - 最小值(0.80, 0.90),3)) / 1.3
= 0.0688 = 6.88%

总滑点

总滑点 = 基本滑点 + 最大值(Mcap_Ratio_Slippage,xUSD_Peg_Slippage)
= 2.0472% + 最大值(4.85%,6.88%)
= 8.93%

示例 3 – xUSD 到 xBTC

本例中的初始值:

  • xUSD 现货价格 = $0.70
  • xUSD MA 价格 = $0.60
  • 兑换金额 = 10,000 xUSD
基本滑点计算

源池比率 = 转换量 / 来源供应量 = 10,000 / 12,618,000 = 0.0007925
源池乘数 = pow((sqrt(pow((Source_Pool_Ratio * 7) , 0.5)) + 1) , 5)
= pow((sqrt(pow((0.0007925 * 7) , 0.5)) + 1) , 5) = 3.342
源池滑点 = 源池比率 * 源池乘数
= 0.0007925 * 3.342 = 0.002648535 = 0.265%


目标池比率 = (转换金额 * 资产价格) / 目标资产市值
= (10,000 * $1.00) / (60 * $70,000) = 0.00238
本例的初始值:= 5
目标矿池滑点 = 目标池比率 * 目标池乘数
= 0.00238 * 5 = 0.0119 = 1.19%


基本滑点 = 源池滑点 + 目标池滑点
= 0.265% + 1.19%
= 1.455%

Mcap 比率滑点计算

Mcap 比率滑点仅适用于支撑转换,因此:

Mcap_Ratio_Slippage = 0%

xUSD 挂钩滑点计算

使用上面的 xUSD_SP 和 xUSD_MA 值,我们得到:

xUSD_Peg_滑点 = sqrt(pow(1 – 最小值(xUSD_SP, xUSD_MA),3)) / 1.3
= sqrt(pow(1 - 最小值(0.70, 0.60),3)) / 1.3
= 0.1946 = 19.46%

xBTC 滑点计算

xBTC_滑点 = sqrt(pow((xBTC_Mcap / (xUSD_Supply * min(xUSD_SP, xUSD_MA))), 1.4)) / 10
= sqrt(pow((4,200,000 / (12,618,000 * 最小值(0.70, 0.60))), 1.4)) / 10
= sqrt (pow (0.55476, 1.4)) / 10 = 0.0662 = 6.62%

总滑点

总滑点 = 基本滑点 + 最大值(xBTC_Slippage,xUSD_Peg_Slippage)
= 1.455% + 最大值(6.62%,19.46%)
= 20.915%

示例 4 – xBTC 到 xUSD

本例中的初始值:

  • xUSD 现货价格 = $0.50
  • xUSD MA 价格 = $0.60
  • 兑换金额 = 0.1 xBTC
基本滑点计算

源池比率 = 转换量 / 来源供应量 = 0.1 / 60 = 0.00167
源池乘数 = pow((sqrt(pow((Source_Pool_Ratio * 7) , 0.5)) + 1) , 5)
= pow((sqrt(pow((0.00167 * 7) , 0.5)) + 1) , 5)
= 4.143
源池滑点 = 源池比率 * 源池乘数
= 0.00167 * 4.143 = 0.00691881 = 0.692%


目标池比率 = (转换金额 * 资产价格) / 目标资产市值
= (0.1 * $70,000) / (12,618,000 * 最小值(0.5,0.6)) = 0.00111
目标池乘数 = 5
目标矿池滑点 = 目标池比率 * 目标池乘数
= 0.00111 * 5 = 0.00555 = 0.555%


基本滑点 = 源池滑点 + 目标池滑点
= 0.692% + 0.555%
= 1.247%

Mcap 比率滑点计算

Mcap 比率滑点仅适用于支撑转换,因此:

Mcap_Ratio_Slippage = 0%

xUSD 挂钩滑点计算

使用上面的 xUSD_SP 和 xUSD_MA 值,我们得到:

xUSD_Peg_滑点 = sqrt(pow(1 – 最小值(xUSD_SP, xUSD_MA),3)) / 1.3
= sqrt(pow(1 - 最小值(0.50, 0.60),3)) / 1.3
= 0.272 = 27.20%

总滑点

总滑点 = 基本滑点 + xUSD_Peg_滑点
= 1.247% + 27.20%
= 28.447%

附录 2 – 模拟

与 VBS 不同,由于滑点的存在,创建连续转换的模拟要困难得多,因为有太多依赖因素依赖于市场价值,例如 XHV、xUSD 和 xBTC 的价格,而这些价值是无法预测的。

EWG 创建了一个表格,列出了 XHV 和 xUSD 具有不同市场价格的单独转换,显示了每种情况下的滑点规模及其得出的方式。

可以使用下面的链接查看模拟表,用户还可以下载并执行自己的模拟。

https://cryptpad.fr/sheet/#/2/sheet/view/Omu-LMWRw0pGg05CQ91DD+b6+ohu97ytAFl74Xy5XZg/

下面的示例取自上面分享的链接。

Slippage Sims Initial Values
zh_CN简体中文