Day 96
Day 96:JELLY 事件深度复盘 — 低流动性资产操纵与架构反思
JELLY事件全链路复盘:自我清算攻击手法、HLP金库$1350万浮亏、验证者强制下架争议、中心化vs去中心化取舍、防御方案设计
2026-04-13
交易HyperliquidJELLY安全事件清算操纵Day96
核心概念
JELLY 事件概述
一句话定义:2025年3月,攻击者通过在 Hyperliquid 上建立巨额低流动性代币(JELLYJELLY)空头头寸,然后在外部交易所拉盘,利用 HLP 金库被迫接盘的机制漏洞,造成 HLP $1,350万未实现亏损的市场操纵事件。
类比理解:想象你在一个赌场(Hyperliquid)对赌一场冷门球赛的比分。你先押"主队输"(做空),然后自己去赛场收买球员让主队赢(拉盘)。赌场的保险基金(HLP)被迫赔付——因为它自动接了你的对手盘。最终赌场经理(验证者)紧急宣布比赛无效,强行以你想要的比分结算。
为什么这个事件重要?
JELLY 事件的重要性:
═══════════════════════════════════════
1. 暴露了 Perp DEX 最核心的风控问题
└── 低流动性资产 + 高杠杆 = 操纵温床
2. 挑战了"去中心化"的叙事
└── 验证者手动干预 ≈ 中心化交易所的熔断
3. 揭示了 HLP 设计的结构性缺陷
└── 做市 + 保险 双重角色冲突
4. 对整个 Perp DEX 赛道的产品设计产生深远影响
└── 此后所有协议都在加强低流动性资产风控
知识点详解
知识点 1:攻击手法全链路还原
JELLY 攻击时间线 (2025年3月):
═══════════════════════════════════════
背景:
├── JELLYJELLY:一个低流动性 meme 代币
├── 现货市场深度极薄:全市场流动性 < $500 万
├── Hyperliquid 上线了 JELLY 永续合约
└── OI 上限设置不够保守
攻击步骤:
Step 1: 建立巨额空头
━━━━━━━━━━━━━━━━━━━
├── 攻击者在 Hyperliquid 开 $410 万 JELLY 空头
├── 使用多个账户分散建仓
├── 仓位大小远超 JELLY 现货流动性
└── 故意设置低保证金,让仓位容易被清算
Step 2: 自我清算(故意)
━━━━━━━━━━━━━━━━━━━━━━
├── 攻击者停止追加保证金
├── 同时在外部交易所小幅拉盘 JELLY 现货
├── 触发 Hyperliquid 上的清算
├── 清算后的"水下空头"被转给 HLP 金库
│ └── HLP 的保险功能:自动接盘无法市场化清算的仓位
└── 攻击者失去了保证金,但"毒丸仓位"已转移
Step 3: 外部拉盘
━━━━━━━━━━━━━━━━━━━━━━
├── 攻击者在多个外部交易所大量买入 JELLY 现货
├── JELLY 价格暴涨 429%($0.01 → $0.05+)
├── HLP 持有的空头仓位浮亏急剧扩大
├── HLP 面临 $1,350 万未实现亏损
└── 无法在市场上平仓(流动性不足)
Step 4: 攻击者获利
━━━━━━━━━━━━━━━━━━━━━━
├── 攻击者在其他账户做多 JELLY
├── 从拉盘中获利
├── 提取 $626 万利润
└── 总计:花 $410 万保证金 → 赚 $626 万
整个攻击逻辑图:
━━━━━━━━━━━━━━━━━━━━━━
攻击者
├── 开空头 ($410万) ──→ Hyperliquid JELLY 永续
├── 故意清算 ──────────→ 水下仓位转给 HLP
├── 拉盘 JELLY 现货 ──→ 外部交易所 (+429%)
└── 做多获利 ($626万) ←─ Hyperliquid + 外部
HLP 金库
├── 被动接盘空头
├── 面临 $1,350万 浮亏
└── 无法在市场平仓(流动性不足)
知识点 2:协议响应与争议
Hyperliquid 紧急响应:
═══════════════════════════════════════
时间线:
├── T+0min:HLP 浮亏被社区发现
├── T+~2min:验证者投票强制下架 JELLY 永续合约
├── 结算价格:$0.0095(vs 预言机显示 $0.50)
└── 手动覆盖预言机价格
具体操作:
1. 验证者多数投票下架 JELLY 市场
2. 以 $0.0095 结算所有未平仓位
3. 攻击者的多头仓位以极低价格结算(亏损)
4. HLP 的空头以 $0.0095 结算(大幅减亏)
5. 部分做多的普通用户也被强制以低价结算
争议焦点:
═══════════════════════════════════════
支持干预方:
├── "不干预会导致 HLP 和所有用户更大损失"
├── "保护多数用户利益 > 维护少数交易者权利"
├── "传统交易所也有熔断和强制结算机制"
├── "验证者投票 = 去中心化治理的一种形式"
└── "pragmatism > idealism"
反对干预方:
├── "2 分钟内决策,这不是去中心化治理"
├── "$0.0095 结算价格是人为操纵"
├── "Code is Law 原则被违反"
├── "与传统交易所的行为无异"
├── "正常做多 JELLY 的用户也被强制亏损结算"
└── "如果验证者可以随时改规则,那和 CEX 有什么区别?"
知识点 3:根本原因分析
根因分析(五个"为什么"):
═══════════════════════════════════════
Why 1: 为什么攻击能成功?
└── OI 上限不足:$410 万空头 > JELLY 现货流动性
Why 2: 为什么 OI 上限设置不当?
└── 没有动态关联现货深度:上币时静态设定
Why 3: 为什么 HLP 会接盘毒丸仓位?
└── HLP 设计:做市 + 保险双重角色
└── 保险角色要求自动接盘所有清算残余
Why 4: 为什么 HLP 无法在市场上平仓?
└── 低流动性:JELLY 全市场深度 < $500 万
└── $410 万空头无法被市场吸收
Why 5: 为什么需要人工干预?
└── 缺乏自动化风控机制
└── 没有代码化的熔断器/OI 动态限制
根因总结:
═══════════════════════════════════════
技术层面:
├── 1. OI 上限没有与现货流动性动态挂钩
├── 2. HLP 做市+保险角色冲突
├── 3. 缺乏自动熔断机制
└── 4. 低流动性资产的保证金要求不够高
治理层面:
├── 1. 上币审查流程不够严格
├── 2. 紧急响应依赖人工而非代码
├── 3. 验证者权力边界不清
└── 4. 缺乏透明的危机处理 SOP
知识点 4:与传统金融对比
传统交易所 vs Hyperliquid 紧急措施:
═══════════════════════════════════════
维度 传统交易所 (NYSE/CME) Hyperliquid
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
熔断触发 预设规则(-7%/-13%/-20%) 无(人工判断)
决策过程 分钟级(预编程自动) 2 分钟(验证者投票)
透明度 规则事前公开 事后解释
结算方式 按最后正常交易价格 人为设定 $0.0095
赔偿机制 有明确的投资者保护 无明确补偿方案
监管 SEC/CFTC 监管 无监管
追溯权 可以起诉/仲裁 难以追责
关键差异:
├── 传统金融:规则事前明确 → 自动执行 → 事后可追诉
└── Hyperliquid:规则不完整 → 人工判断 → 事后争议
PM 洞察:
├── 去中心化 ≠ 没有规则
├── 最好的机制是"代码化的规则"
├── 紧急措施应该是预编程的,不是临时决策
└── 传统金融的熔断机制值得借鉴
知识点 5:防御方案设计
多层防御方案:
═══════════════════════════════════════
Layer 1: 动态 OI 上限
━━━━━━━━━━━━━━━━━━━
公式:Max OI = f(现货深度, 流动性, 波动率)
├── 实时采集:
│ ├── 前 5 个 DEX 的订单簿深度
│ ├── 24h 现货交易量
│ └── 30d 波动率
│
├── 计算:
│ Max OI = min(
│ 现货深度 × 0.3, # 不超过现货深度的 30%
│ 24h 交易量 × 0.5, # 不超过日交易量的 50%
│ LP 池规模 × 0.1 # 不超过 LP 池的 10%
│ )
│
└── 更新频率:每小时重新计算
Layer 2: 分级保证金
━━━━━━━━━━━━━━━━━━━
├── 低流动性资产:维持保证金 ≥ 10%(vs 主流 0.5%)
├── 杠杆限制:低流动性资产最高 5x(vs 主流 50x)
├── 动态调整:波动率↑ → 保证金↑
└── 大仓位附加:仓位 > OI 的 10% → 额外保证金
Layer 3: HLP 风控
━━━━━━━━━━━━━━━━━
├── 分离做市和保险角色
│ ├── 做市金库:正常做市盈亏
│ └── 保险金库:专门覆盖清算残余
├── 单市场敞口上限:HLP 总值的 2%
├── 累计亏损阈值:单日 > 1% → 暂停接盘
└── 低流动性市场:HLP 不自动接盘
Layer 4: 代码化熔断器
━━━━━━━━━━━━━━━━━━━━━
├── 价格熔断:5 分钟内价格变动 > 30% → 暂停交易 5 分钟
├── 仓位熔断:单账户增仓 > OI 的 20% → 延迟 10 分钟
├── 流动性熔断:市场深度下降 > 50% → 降低杠杆上限
└── 所有规则预编程,无需人工干预
Layer 5: 清算优化
━━━━━━━━━━━━━━━━━
├── 分级清算:每次最多清算 25%
├── 拍卖清算:清算仓位通过拍卖而非市价单
├── 延迟清算:低流动性市场用 TWAP 清算(1-5 分钟)
└── Keeper 竞争:多个 Keeper 竞标接盘,减少滑点
知识点 6:对 PM 的启示
产品经理的关键思考:
═══════════════════════════════════════
1. "去中心化"是光谱,不是二元选择
├── 完全去中心化 ≠ 无治理
├── 关键是治理过程透明、规则事前明确
└── 最好的方式:规则代码化,紧急情况链上投票
2. 产品设计需要"防御性思维"
├── 假设攻击者会利用每一个漏洞
├── 低流动性 + 高杠杆 = 操纵温床
└── 每个新功能上线前做"红蓝对抗"
3. 角色分离原则
├── 做市和保险是不同的业务
├── 混合角色 = 利益冲突
└── 参考传统金融:做市商 ≠ 保险公司
4. 用户信任是最大资产
├── 一次不透明的干预 > 长期去中心化叙事的损害
├── 透明的 SOP > 英雄主义救火
└── 事后复盘和改进 > 回避问题
5. 传统金融的智慧不能丢
├── 熔断机制:有效的制度设计
├── 风险限额:基本的风控常识
└── 投资者保护:去中心化也需要
实践练习
练习 1:设计 OI 上限方案
任务:为 HIP-3(无许可上币)后的新市场设计 OI 上限
输入参数:
├── 代币 X 现货日交易量:$200 万
├── 最大流动性深度(2% 价格范围):$50 万
├── 30 日波动率:150%(高波动)
├── HLP 总值:$28 亿
计算过程:
├── 基础 OI 上限 = min($200万 × 0.5, $50万 × 0.3) = min($100万, $15万) = $15万
├── 波动率调整:150% > 100% → 乘以 0.5 → $7.5万
├── HLP 敞口限制:$28亿 × 0.001 = $280万 → 不限制
└── 最终 OI 上限:$7.5万
结论:$7.5 万的 OI 上限意味着攻击者无法建立足够大的仓位来操纵
对比 JELLY:$410 万 >> 应有的 OI 上限
练习 2:设计紧急响应 SOP
去中心化交易所紧急响应 SOP:
═══════════════════════════════════════
Level 1 (自动):代码化熔断
├── 触发:价格 5min 变动 >30%
├── 动作:暂停新开仓 5 分钟
├── 通知:全网广播
└── 恢复:价格稳定后自动恢复
Level 2 (自动):风控升级
├── 触发:保险基金消耗 >5%/小时
├── 动作:降低所有杠杆上限 50%、提高保证金率
├── 通知:全网广播 + 官方公告
└── 恢复:需要 12 小时无事件
Level 3 (半自动):验证者投票
├── 触发:保险基金消耗 >20% 或单一市场异常
├── 动作:验证者 2/3 投票决定
├── 选项:暂停市场 / 强制结算 / 其他
├── 时限:1 小时内必须决策
└── 透明度:所有投票记录上链
Level 4 (手动):紧急下架
├── 触发:系统性风险或确认攻击
├── 动作:验证者 3/4 投票下架市场
├── 结算:使用 TWAP 价格(过去 1 小时)
├── 赔偿:保险基金赔偿无辜受影响用户
└── 复盘:48 小时内发布事后分析报告
面试题
问题 1:如何设计 OI 上限防止低流动性资产操纵?
简短回答:OI 上限应该动态关联现货流动性——取现货深度的 20-30%、日交易量的 30-50%、LP 池规模的一定比例中的最小值,并根据波动率实时调整,确保没有人能建立超过市场吸收能力的仓位。
详细回答:
- 公式设计:Max OI = min(现货深度×30%, 24h成交量×50%, LP池×10%) × 波动率调整系数
- 数据来源:多个 DEX 的实时订单簿深度、CEX 价格做交叉验证
- 更新频率:每小时自动重新计算,极端波动时每5分钟
- 分级执行:接近上限时提高保证金、达到上限时停止开仓
- HLP 保护:HLP 对单市场敞口额外设上限(如总值的0.1%)
- 上线策略:新市场初期超保守(OI上限极低),观察两周后逐步放开
问题 2:去中心化交易所是否需要"紧急刹车"机制?
简短回答:需要,但应该尽量代码化——用预编程的熔断规则替代人工干预,人工干预只作为最后防线,且必须通过链上投票和事后透明复盘。
详细回答:
- 现实需求:不可能预见所有攻击向量,紧急机制是必要的安全阀
- 代码优先:80%的紧急情况应由预编程规则自动处理(价格熔断、OI限制)
- 治理作为兜底:20%的极端情况通过验证者快速投票(2/3多数)
- 透明度要求:所有干预记录上链、48小时内发布复盘报告
- 补偿机制:被干预影响的无辜用户应从保险基金获得补偿
- 传统金融参考:NYSE的熔断机制(-7%/-13%/-20%)是有效的制度设计
- 核心原则:去中心化 ≠ 无治理,而是治理过程透明可验证
明日预告
Day 97:2025.10 闪崩复盘 — $193亿清算与ADL优化
- 美国对华关税触发大规模清算
- 162 万账户爆仓、$193.5 亿清算
- Hyperliquid 35,000 次 ADL 事件
- ADL 过度使用造成 $6.3 亿不必要损失
- 清算系统优化方案设计