自动减仓、Hyperliquid 以及 6.53 亿美元的辩论

  • thogiti
  • 发布于 1天前
  • 阅读 126

本文深入探讨了围绕Hyperliquid的ADL(自动减仓)机制及其相关讨论,特别是Tarun Chitra的ADL论文引发的争议。

Tarun Chitra 的 ADL 论文 引发了关于 Hyperliquid 10 月 10 日至 11 日事件的一场大争论[^1][^2][^3][^4]。

谁在哪些方面是对的,以及实际上需要修复什么?

围绕 Hyperliquid 10 月 10 日至 11 日事件的 ADL 辩论有三个主要角色:

  • Hyperliquid,其 ADL 在合约中实施,并且仅在文档中简要描述[^5]。
  • Tarun 的论文,该论文在财富空间中建模 ADL(权益扣减和公平性指标),并声称像 Hyperliquid 这样的队列浪费了大量的“良好 PnL”。
  • Dan Robinson,他说该论文对 Hyperliquid ADL 的中心模型是完全错误的。

大多数读者都想知道一个基本问题:谁在哪些方面是对的? 让我们从这里开始。


1. 记分牌:Dan 在哪些方面是对的,Tarun 在哪些方面是对的

非常简短的版本:

  • Dan 是对的,因为:

    • Hyperliquid 的 ADL 在合约中工作,而不是“为了清算,拿走每个赢家 100% 的权益”。
    • 该论文的 Pro-Rata 机制,如其文字所述,存在于权益空间中,而像 Drift 这样的实时系统按头寸大小(合约)分配损失[^6]。
    • 6.53 亿美元的“过度扣减”数字需要一个清晰、公开的方法,以便其他人可以审计和验证它。
  • Tarun 是对的,因为:

    • ADL 从根本上讲是关于在出现坏账时重新分配财富,而队列式规则可能会将这种负担集中在一小部分赢家身上。
    • 你可以而且应该将其形式化为对权益 $e_T(p)$ 的扣减,并使用公平性指标比较策略(队列 vs 按比例 vs “智能”变体)。
    • 在没有开放 ADL 代码的情况下,每个人都在从行为和文档中推断;这种不确定性应该是对话的一部分。

在我看来,实际上需要在论文中编辑的内容:

1.  将队列模型标记为**权益空间抽象**,而不是“Hyperliquid 队列”。
2.  将 Pro-Rata 简洁地写成**单个标量权益扣减**,并将其与 Drift 的**合约按比例**分开。
3.  发布产生 6.53 亿美元的分析代码(Tarun 已经暗示他将在下周开源它),并清楚地说明“扣减”在美元中的含义。

现在是一些背景信息,因为 ADL 设计问题不仅仅是加密货币闹剧。ADL 是高杠杆衍生品市场中必不可少的安全机制。


2. ADL 在实践中的用途

ak0 简洁地总结了 tradfi 的观点:ADL 结合了两个较旧的工具[^7]:

  • Tear-ups:强制平仓对方的头寸以阻止损失。
  • 变动保证金收益扣减(VMGH):当失败者无法支付时,从赢家那里拿钱来弥补坏账。

任何保证金交易场所都必须解决两个问题:

1.  一旦保证金耗尽,就停止持续亏损。
2.  当“发送律师,发送警长”不足以弥补坏账时,予以弥补。

如果你什么都不做,坏账会以不受控制的方式落在交易场所或未违约的交易者身上。如果你将所有损失推给经纪人的资本(FCM 模式),经纪人会通过削减杠杆和流动性来回应。

因此,交易所最终会陷入一种三难境地:

  • 降低高杠杆账户的多少风险(Tear-ups)?
  • 扣减赢家多少来弥补尾部损失(类似 VMGH 的 ADL)?
  • 他们想要保留多少资本效率和杠杆?

队列与 Pro-Rata 的争论是关于扣减的形状:当出现坏账时,究竟由谁来支付。

这就是背景。现在回到具体的争论。


3. Dan vs Tarun 关于 Hyperliquid 队列

3.1 Hyperliquid 的文档实际上说了什么

Hyperliquid 大致将 ADL 描述为[^5]:

  • 计算每个头寸的优先级索引(类似于 PnL × 杠杆 ÷ 账户价值),
  • 按此索引对未平仓头寸进行排序,
  • 当有坏账时,按该顺序以标记/ADL 价格完全关闭头寸,直到匹配到足够的反向合约。

“关闭”在 Hyperliquid 的 ADL 中意味着该头寸的合约被坏账抵消,而不是权益归零。权益损失取决于已关闭合约的 PnL。

Tarun 的队列为了清楚起见使用 PnL × 杠杆;Hyperliquid 的索引是一个密切变体,但包括入场价格归一化。

关键点:所有这些都是用合约和头寸被关闭来表达的。

Dan 的 简单示例 使其具体化:

  • 一个持有 2 ETH 空头的用户爆仓;出现 1,500 美元的赤字。
  • ADL 队列中的顶部账户持有 1 ETH 多头,价值 3,000 美元,权益为 1,500 美元(2 倍杠杆)。

在基于合约的队列中:

  • 系统需要抵消 2 ETH 的坏空头。
  • 顶部多头贡献其 1 ETH,因此它承担一半的损失(例如 750 美元)。
  • 其余的 750 美元来自队列中的下一个多头。

该顶部账户在合约中已完全平仓,但尚未被 100% 扣减权益。它损失了其权益的一部分。

3.2 Tarun 的队列模型实际上做了什么

该论文[^1] 是用财富空间编写的。每个头寸 $p$ 在时间 $T$ 都有权益:

$$ e_T(p) = c + \mathrm{PNL}_T(p), $$

其中 $c$ 是抵押品,$\mathrm{PNL}_T(p)$ 是已实现的利润或损失。

在所有头寸 $P_n$ 上:

总缺口(坏账)是

$$ D_T(Pn) = \sum{p \in P_n} (-eT(p))+, $$

赢家的总权益是

$$ W_T(Pn) = \sum{p \in P_n} (eT(p))+. $$

ADL 策略 $\pi$ 被建模为:

  • 一个严重程度 $\theta^\pi \in [0,1]$,它选择一个预算

$$ B = \theta^\pi D_T(P_n), $$

  • 每个 $e_T(p) > 0$ 的头寸的扣减分数 $h^\pi(p)$。

赢家 ADL 后的权益:

$$ e_T^{\text{post}}(p) = (1 - h^\pi(p)), e_T(p). $$

理论中使用的队列策略 $\pi^Q$ 是一种贪婪的“注水”在权益中:

1.  按分数 $s_T(p)$ 对赢家进行排序(例如,PnL x 杠杆)。
2.  按照这个顺序走,并通过以下方式填充预算 $B$:

    *   为一些顶部赢家设置 $h^{\pi^Q}(p) = 1$(拿走所有权益),
    *   为一个边际赢家分配一个分数 $h^{\pi^Q}(p) \in (0,1)$,
    *   其余的保留 $h^{\pi^Q}(p) = 0$。

这是一张带有实体权益条和单个阴影帽的图片。

你已经可以看到差距:

  • Hyperliquid:队列在合约中;完全关闭的头寸可能会损失一部分权益。
  • 论文:队列在权益中;来自队列的“命中”意味着“在这个时间快照中从这个账户中拿走所有权益”,除非它是边际部分条。

Dan 说的是对的,如果你将论文中的队列理解为“这就是 Hyperliquid”,那么对于像 2 ETH / 1 ETH 这样的例子,你会得到错误的行为。

3.3 如何在不假装它们相同的情况下连接它们

在我看来,正确的方法是将生产 ADL(合约)和论文的模型(权益)连接起来,方法是从观察到的权益变化中推导出扣减,而不是假设“关闭 ⇒ $h=1$”。但在我们可以看到 Hyperliquid ADL 的完整代码之前,我们无法确定。我们只能做出好的猜测。

对于给定的 ADL 浪潮 $t$:

  • 让 $e_t(p)$ 是浪潮开始时的权益,
  • 将 $e_t^{\text{no-ADL}}(p)$ 定义为如果在禁用 ADL 的情况下浪潮结束时的权益,但底层价格路径和非 ADL 订单流相同,
  • 将 $e_t^{\text{ADL}}(p)$ 定义为在 ADL 激活的情况下浪潮结束时的权益。

然后定义一个已实现的财富空间扣减:

$$ h_t^{\text{prod}}(p) = \begin{cases} \dfrac{e_t^{\text{no-ADL}}(p) - e_t^{\text{ADL}}(p)}{e_t(p)}, & e_t(p) > 0, \ -1, & e_t(p) < 0 \text{ 并且头寸已完全重置}, \ 0, & \text{否则}. \end{cases} $$

从赢家那里获得的财富总额:

$$ Ht^{\text{prod}} = \sum{p} h_t^{\text{prod}}(p), et(p)^+ = \sum{p} \bigl(e_t^{\text{no-ADL}}(p) - et^{\text{ADL}}(p)\bigr)+. $$

现在:

  • 如果 Hyperliquid 关闭了 1 ETH 多头,并且这减少了 750 美元的权益,那么 $h_t^{\text{prod}}(p)$ 是 750 美元除以起始权益,而不是 $1$。
  • 这对于在许多浪潮中汇总“美元扣减”的任何统计数据都非常重要。

所以清晰的立场是:

  • 是的,理论中的队列是一种权益空间抽象,并且不会重现 Hyperliquid 的合约空间队列。
  • 论文应该清楚地说明这一点,并将 Hyperliquid 的实际 ADL 视为诱导 $h_t^{\text{prod}}$ 的数据,而不是理论 $\pi^Q$ 的字面实例。

Tarun 的“四舍五入与不四舍五入”评论(整数与连续注水)符合此图景:你仍然可以谈论“四舍五入的队列”与“连续队列”,但你需要明确你是四舍五入合约还是权益[^4]。


4. Pro-Rata:权益 vs 合约,以及 Drift 实际做了什么

Dan 的第二个抱怨是,该论文“错误地描述了 Pro-Rata ADL”,并且 Tarun 链接的 Drift 代码与该论文的公式不匹配[^4]。

4.1 Drift 是合约按比例

在 Drift 的实施中,社会化损失在精神上看起来像这样:

  • 计算账本一侧的总损失 $L$,
  • 计算该侧的总基础资产 $\sum_i q_i$,
  • 定义每合约损失

$$ \ell_{\text{per-contract}} = \frac{L}{\sum_i q_i}, $$

  • 向每位交易者收费

$$ \text{Loss}i = q_i \cdot \ell{\text{per-contract}}. $$

那是基础空间 Pro-Rata:每个交易者的损失与合约数量 $q_i$ 成正比。

4.2 该论文的公平性模型是财富空间

Tarun 论文的公平性部分是基于如何重新分配权益,而不是每个账户持有多少合约。它使用如下数量:

  • $D_T(P_n) = \sum_p (-eT(p))+$,总缺口,
  • $W_T(P_n) = \sum_p (eT(p))+$,赢家的总权益,

以及比较账户之间 $e_T(p)$ 分布的公平性指标。

在那个世界里,自然的 Pro-Rata 基准是:

  • 每个赢家损失相同比例的权益 $\lambda_T$。

清晰地写出来:

  • 严重程度 $\theta^{\pi^{PR}} \in [0,1]$,
  • 全局扣减分数

$$ \lambda_T(\pi^{PR}, P_n) = \min\left{1,\; \theta^{\pi^{PR}} \frac{D_T(P_n)}{W_T(P_n)} \right}. $$

  • 扣减

$$ h^{\pi^{PR}}(p) = \begin{cases} \lambda_T(\pi^{PR}, P_n), & e_T(p) > 0,\[4pt] -1, & e_T(p) < 0 \text{ 并且完全重置},\[4pt] 0, & \text{否则.} \end{cases} $$

  • 赢家的 ADL 后权益

$$ e_T^{\text{post}}(p) = \bigl(1 - \lambda_T(\pi^{PR}, P_n)\bigr)\, e_T(p). $$

赢家的总扣减:

$$ \sum_{p} h^{\pi^{PR}}(p)\, e_T(p)^+ = \lambda_T\, W_T(P_n) = \theta^{\pi^{PR}} D_T(P_n). $$

每当 $\theta^{\pi^{PR}} D_T(P_n) \le W_T(P_n)$ 时。

那是权益中的按比例分配。它不是 Drift 所做的。

4.3 两种计价单位,两种“按比例分配”

一旦说清楚,这种区别就很简单了:

  • Drift / Dan:基础空间中的按比例分配,损失 $\propto q_i$。
  • 论文:财富空间中的按比例分配,损失 $\propto e_T(p_i)$ 通过一个共同的分数。

两者在内部都是一致的。它们回答了不同的公平性问题:

  • “即使一个账户几乎没有偿付能力,而另一个账户非常富有,两个具有相同合约规模的账户是否应该承担相同的美元损失?”(基础空间)
  • “即使一个账户持有更多的合约,两个具有相同权益的账户是否应该承担相同比例的损失?”(财富空间)

论文不应该做的是:

  • 将 Drift 作为直接示例引用,
  • 编写一个不透明的按比例分配方程,该方程看起来是基于权益的,
  • 并让读者认为它们是相同的机制。

修复很简单:使用上面的标量-$\lambda$ 公式,并清楚地说明 Drift 的实施是基础空间,而此处的公平性模型是财富空间


5. 6.53 亿美元的“过度扣减”:结构 vs 规模

  1. 53 亿美元的索赔是论文中最显眼的数字,也是最缺乏记录的数字。Dan 的问题是:“你到底加总了什么来得到这个值?”

Tarun 表示,分析代码将在未来几天/几周内开源。在财富空间模型中,一个 ADL 波 $t$ 的合理流程是:

1.  短缺。
   从 $P_n^{(t)}$ 上的起始权益 $e_t(p)$:
   $$
   D_t = \sum_{p} (-e_t(p))_+.
   $$

2.  生产扣减。
   从 $e_t^{\text{ADL}}(p)$ 和 $e_t^{\text{no-ADL}}(p)$,计算
   $$
   \Delta e_{t,i} = e_t^{\text{no-ADL}}(p_i) - e_t^{\text{ADL}}(p_i),
   $$
   和
   $$
   H_t^{\text{queue}} = \sum_i \Delta e_{t,i}.
   $$

3.  最优比较器。
   在策略族 $\Pi$(例如,按比例分配或“智能队列”)上,求解
   $$
   H_t^\star = \min_{\pi \in \Pi} \sum_i h_t^\pi(p_i), e_t(p_i)^+
   $$
   受限于
   $$
   \sum_i h_t^\pi(p_i), e_t(p_i)^+ \ge D_t, \quad h_t^\pi(p_i) \in [0,1].
   $$

4.  利用率和过度扣减。

   $$
   \kappa_t = \frac{H_t^{\text{queue}}}{H_t^\star},
   \qquad
   E_t = H_t^{\text{queue}} - H_t^\star.
   $$

在 10 月 10 日至 11 日的所有浪潮中,对 $E_t$ 求和,以获得总的“过度扣减”数字;将 $\sum_t H_t^{\text{queue}}$ 与 $\sum_t D_t$ 或 $\sum_t H_t^\star$ 进行比较,以获得报告的接近 $28$ 的因子。

如果实际实施做了如下事情:

  • $H_t^{\text{queue}} = \sum \text{名义}_i$,或者
  • $H_t^{\text{queue}} = \sum e_t(p_i)^+$ 在所有 ADL 的赢家身上,

那么它就没有衡量“损失的财富”。它衡量的是交易量或总权益,这很容易产生一个数量级为 6.53 亿美元的数字,但意味着“交易者支付了 6.53 亿美元”。

所以:

  • 将生产 ADL 与同一事件的基准策略进行比较的结构是合理的。
  • 在代码公开且“扣减”变量明确定义之前,6.53 亿美元的规模是不确定的。

只有当 $H_t^{\text{queue}}$ 衡量实际损失的权益,而不是已关闭的名义合约时,6.53 亿美元的数据才反映了“过度的财富破坏”。"


6. 这让辩论走向何方

从阅读 Dan 和 Tarun 的人的角度来看:

  • Dan 是正确的,他坚持正确的单位:合约 vs 权益,以及基础空间 vs 财富空间按比例分配。
  • Tarun 是正确的,ADL 最终是关于当坏账出现时谁来承担损失,并且队列式方案可能会以值得形式化的方式集中这种负担。

通过一些有针对性的编辑,这篇论文会变得更难攻击(并且更容易学习):

1.  明确标记队列抽象。
   说:“我们使用一个财富空间队列,它与 Binance/Hyperliquid 共享相同的*排名思想*,但不重现他们的合约级别细节。对于 Hyperliquid,我们从数据中重建诱导的扣减。”

2.  清理按比例分配。
   用上面的标量-$\lambda$ 版本替换当前的按比例分配方程。明确声明 Drift 实施基础空间按比例分配,而公平性部分使用财富空间按比例分配。

3.  发布并记录 6.53 亿美元的分析。
   在论文中包含一个简短的方法摘要,该摘要定义了 $D_t$、$H_t^{\text{queue}}$、$H_t^\star$,并展示了一个端到端的浪潮重建。

4.  调整围绕 Hyperliquid 的语言。
   不要说“Hyperliquid 抹去了 6.53 亿美元的 PnL”,而是说:

   >“在我们对 10 月 10 日事件的财富空间重建中,诱导的队列将扣减集中在一小部分赢家身上,并且相对于[指定基准],似乎过度使用了他们的权益约 $\kappa$ 倍。”

这保持了主要信息不变:

  • ADL 是杠杆系统中不可避免的邪恶。
  • 有不同的设计方法(队列 vs 按比例分配 vs 混合)。
  • 这些选择创建了从坏账到谁支付的不同映射。

这场辩论浮出水面的是,仅仅说“我们有 ADL,相信我们”是不够的。如果你想声称你的设计是公平和高效的,你必须非常清楚:

  • 你在哪个空间工作(合约或权益),
  • 你如何建模按比例分配,
  • 以及当你在写下大的美元数字时,“扣减”到底是什么意思。

参考文献

[^1]: 自动减杠杆 - 不可能性和优化

[^2]: Tarun 的推文线程 - ADL 论文

[^3]: Dan 的批评

[^4]: Tarun 的后续推文

[^5]: 自动减杠杆 - Hyperliquid 文档

[^6]: 清算 - Drift 协议

[^7]: @annanay 关于 ADL 的评论

  • 原文链接: github.com/thogiti/thogi...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
thogiti
thogiti
https://thogiti.github.io/