你在借贷协议里存了 10 个 ETH,借出一些稳定币。健康因子 1.65,离清算线还很远。

半夜市场急跌。你被清算了——而你手机上的行情软件显示,价格从来没跌到那个位置

清算依据的不是你看的那个价格,是预言机报的价格。而在那几分钟里,这两个数不一样。

第四篇讲了中心化交易所的强平机制,第八篇提了跨链桥的手续费。但这两处各自还有一块没写,而它们恰好是加密市场里损失规模最大的两类机制性风险

它们的共同点是:平时完全不可见,触发时是一次性的、不可逆的。 这个形状在第十篇已经出现过——低波动 + 尾部归零。

本文仅用于记录和普及基础知识,不构成投资建议。参与 DeFi 借贷和跨链操作可能导致资产全部损失。

第一部分:DeFi 借贷的清算

一、和 CEX 强平的根本区别

CEX 强平(第四篇) DeFi 清算
执行者 平台的风控引擎 任何人,通过调用合约
触发依据 标记价格(多所指数) 预言机价格
竞争性 无,平台垄断 公开竞争,机器人抢单
亏损兜底 保险基金 → ADL 协议产生坏账
你能否干预 追加保证金 追加抵押品,但需要发交易上链

最后一行是关键差异,第五节会展开。

打个比方

CEX 的强平像一栋楼里的物业:出了事,物业来处理,你可以打电话给他们、可以补交钱、流程是内部的。

DeFi 的清算像把你的房子挂在一个公开的告示板上:一旦条件满足,街上任何一个人都可以来把它拿走,而且有一群专门盯着告示板的机器人,反应比你快几个数量级。

⚠️ 所以"追加抵押品"这个动作在两边的难度完全不同。在 CEX 你点一下按钮;在链上你要发一笔交易并等它被打包——而清算发生的那一刻,恰恰是全网最拥堵、Gas 最贵的时候。你和清算机器人在抢同一个区块的位置,而它出价比你狠。

这就是上表最后一行的实际含义:你不是没有干预的权利,你是在一场你注定跑得更慢的比赛里行使这个权利。

二、核心参数

LTV、清算阈值、健康因子

三个容易混淆的数字:

  • 最大 LTV:你最多能借出多少(相对抵押品价值)
  • 清算阈值(Liquidation Threshold):超过多少就会被清算。它总是高于最大 LTV,中间的差额就是你的缓冲
  • 健康因子(Health Factor)
HF = Σ(抵押品价值ᵢ × 清算阈值ᵢ) / 总债务价值

HF < 1  →  可被清算

一个完整的算例

存入抵押品:10 ETH,当时 ETH = $2,000  →  $20,000
该资产清算阈值:82.5%
借出:10,000 USDC

HF = 20,000 × 0.825 / 10,000 = 1.65

ETH 跌到多少会被清算?

解 X × 10 × 0.825 = 10,000
X = $1,212

即 ETH 从 $2,000 跌到约 $1,212 —— 跌幅 39.4%

清算发生时会怎样

两个参数决定后果:

  • 清算罚金(Liquidation Bonus):给清算人的激励,常见 5%–10%
  • 单次清算比例(Close Factor):一次最多能清算多少债务。Aave V2 是 50%;V3 在健康因子很低时允许全额

接上例,假设 HF 跌破 1,清算人偿还 50% 债务:

清算人代付:5,000 USDC
清算人取走:5,000 × 1.05 = $5,250 的 ETH(按 5% 罚金)
────────────────────────────
你的净损失:$250(就是那 5% 罚金)

罚金看起来不大。但真正的损失通常不在这里——在于你被迫在最低点卖出了抵押品,而这个「卖出」不是你决定的。

三、⚠️ 预言机风险:清算依据不是市场价

这是 DeFi 借贷最重要、也最容易被忽略的一点。

清算是按预言机报出的价格触发的,不是按你在交易所看到的价格。

这带来三类问题:

1. 更新延迟与偏差阈值。

多数价格预言机不是每个区块都更新,而是设定了触发条件(价格偏离超过某个百分比,或超过某个时间间隔)。这意味着:

  • 你的 HF 显示的不是实时状态
  • 剧烈行情中,预言机价格可能滞后于市场价格

2. 预言机被操纵。

如果某个协议使用流动性不足的 DEX 池作为价格来源,攻击者可以用闪电贷推动池内价格,制造虚假的清算或虚假的超额借贷。这类攻击在 DeFi 历史上反复发生,是智能合约漏洞之外最主要的攻击方式之一。

3. 预言机失效导致坏账。

反过来,如果预言机停止更新或报出错误的高价,该清算的仓位没有被清算,等到价格更新时抵押品已经不足以覆盖债务——协议直接产生坏账

实际含义

健康因子不是安全边际。 它是一个基于外部数据源的估计值,而那个数据源本身有延迟、有偏差、可能被攻击。

所以留出的缓冲应该远大于直觉。HF = 1.2 看起来「还有 20% 空间」,但在一次剧烈波动 + 预言机跳变中,这个空间可能瞬间消失。

四、Gas 拥堵:无法自救的时刻

⭐ 这一节就是"告示板"那个比方最锋利的地方:你要补抵押品,得排队上链;而盯着告示板的机器人出价比你狠。 你不是没有自救的权利,你是在一场注定跑得更慢的比赛里行使它。

极端行情下会同时发生几件事:

价格暴跌 → 大量仓位接近清算
         → 所有人同时想追加抵押品或还款
         → 清算机器人同时抢着执行清算
         → 链上交易需求暴增 → Gas 费飙升
         → 你的救援交易被卡住或成本极高

你最需要发交易的时刻,正是最难发出交易的时刻。

Black Thursday:一个完整的案例

2020 年 3 月 12 日,加密市场单日暴跌。在 MakerDAO 上发生了一连串机制性失效:

  1. ETH 价格急速下跌,大量抵押仓位触及清算线
  2. 以太坊网络严重拥堵,Gas 费飙升
  3. 清算拍卖机制在当时依赖清算人出价,而大部分清算人的机器人因为 Gas 设置不足而无法参与
  4. 结果出现了以 0 DAI 中标的拍卖——有人几乎免费拿走了抵押品
  5. 协议产生了数百万美元规模的坏账,最终通过增发并拍卖 MKR 代币来弥补

这个案例值得记住的地方在于:每一个环节单独看都是设计好的,失效发生在它们同时承压的时候。 这正是第六篇「相关性在危机中趋向 1」在协议层面的版本。

五、其他你应该知道的机制

你无法和清算机器人竞争

清算是 MEV 的一部分(第四篇)。当你的仓位接近清算线时,已经有机器人在监控并等待。你不可能靠手动操作抢在它们前面自救。

唯一有效的做法是提前留足缓冲,而不是打算在临界时补救。

利率是浮动的

借款利率随资金池的利用率变化。当大量资金被借走时,利率会按曲线急剧上升。

两个后果:

  • 你的借款成本可能在你没做任何操作的情况下大幅上升
  • 利用率接近 100% 时,存款人无法提取 ——「随时可取」在极端情况下不成立

递归借贷(Looping)放大一切

「存入 → 借出 → 换成抵押品 → 再存入 → 再借出」这种循环可以把有效杠杆放大数倍。

它把上面所有风险同步放大,而且清算是连锁的:一次清算降低抵押品,进一步降低 HF,触发下一次清算。

「稳定币抵押借稳定币」也不是无风险

看起来两边都锚定 1 美元,价格不会变。但:

  • 任何一侧脱锚(第四篇的 USDC/UST 案例),HF 立刻变化
  • 预言机对稳定币的报价同样可能滞后
  • 这类仓位常被加到很高的杠杆,因为「感觉很安全」——而这正是第十篇讲的低波动诱惑

第二部分:跨链桥

六、为什么桥是损失重灾区

跨链桥把大量资产锁在一个合约里,同时它的安全性取决于最弱的那个环节。这两件事加在一起,使它成为攻击回报比最高的目标。

历史上规模最大的几起加密安全事件中,桥占了相当比例:Ronin(约 6.25 亿美元)、BNB Bridge(约 5.7 亿)、Wormhole(约 3.26 亿)、Nomad(约 1.9 亿)、Harmony Horizon(约 1 亿)等,Poly Network(约 6.11 亿)的资金后来被归还。

金额均为公开报道的估算值。重点不在具体数字,而在于这些事件的成因是可以分类的

七、桥的类型 = 信任假设

选桥的本质是选择你信任谁

类型 谁在验证 主要风险
托管式 一个中心化实体 该实体作恶或被攻破
多签 / 外部验证者 N 个签名者中的 M 个 凑够 M 个私钥即可盗取全部资金
乐观式 默认有效,设挑战期 验证逻辑漏洞、挑战期无人挑战
轻客户端 / 原生验证 在目标链上验证源链共识 安全性最高,成本也最高
流动性网络 两端各有资金池,不铸造包装资产 池子流动性、路由方风险

Ronin 事件就是第二行的教材:验证者集合较小且门槛不高,攻击者取得足够数量的私钥后,直接以「合法」签名转走资金——合约层面没有任何漏洞,被攻破的是信任假设本身。

八、包装资产的本质:它是一张欠条

这一点值得单独强调。

当你把 ETH 通过桥转到另一条链,你在目标链上拿到的不是 ETH,而是一个由桥发行的、声称由锁在源链的 ETH 支持的代币。

源链:你的 ETH 被锁在桥合约里
目标链:你拿到一张「凭此可以换回 ETH」的凭证

桥被攻破 → 源链的 ETH 没了 → 你手里的凭证失去背书 → 归零

这和第四篇那句话是同构的

在 CEX 上,你是平台的无担保债权人。 持有包装资产,你是桥的无担保债权人。

区别只在于对手方从一家公司换成了一段代码加一组签名者。

九、历史攻击的漏洞类型

按成因分类,比记住金额有用:

类型 机制 例子
私钥 / 多签被攻破 攻击者取得足够签名权 Ronin、Harmony
签名验证漏洞 伪造出被合约接受的「有效」签名 Wormhole
初始化 / 升级缺陷 一次错误的配置让任意消息被视为已验证 Nomad
消息重放 同一条跨链消息被重复执行 多起
前端 / DNS 劫持 合约没问题,你被引导到假界面 多起

最后一行提醒一件事:桥的合约安全和你的操作安全是两回事。 第十四篇讲的书签访问、域名核对在这里同样适用。

十、一个判断框架

用桥之前,问这几个问题:

  1. 谁在验证这笔跨链? 是多签、乐观式,还是原生验证?
  2. 如果是多签,门槛是多少、签名者是谁? 分散程度如何?
  3. 合约是否可升级?升级权限在谁手里? 可升级 = 管理员可以随时改变逻辑
  4. 锁仓量相对于它的安全投入是否失衡? 一个锁着十亿美元、由 5 个签名者守护的桥,风险显而易见
  5. 有没有更安全的替代路径?

第 5 条经常被忽略

一个反直觉但正确的判断:在很多情况下,通过一家大型中心化交易所中转,反而比用跨链桥更安全。

路径 A:链 X --桥--> 链 Y
       风险:桥的全部攻击面

路径 B:链 X --提到 CEX--> CEX 内部划转 --提到--> 链 Y
       风险:CEX 的对手方风险(第四篇),但仅限于资金在途的时间

路径 B 的风险敞口是短暂的(几分钟到几小时),路径 A 如果你持有包装资产则是持续的。两者需要按具体情况权衡,但「桥比 CEX 安全」不是一个可以默认成立的假设。

十一、实操要点

  • 不要长期持有包装资产。 跨链是为了去用,用完就换回原生资产。风险敞口的时间越短越好
  • 大额分批。 先小额测试(第十四篇),确认路径通畅再转主体
  • 优先原生 / 官方桥,而不是收益更高的第三方桥
  • 转账前确认目标链地址格式,转错链在很多情况下不可逆
  • 跨链后立刻确认拿到的是什么代币 ——同一个资产在一条链上可能有多个来自不同桥的版本,它们互不通用、流动性差异巨大

最后一条造成的实际麻烦很常见:你拿到了一个「看起来对」的代币,却发现它在目标链上几乎没有流动性,卖出滑点极高。

十二、这一篇的结论

DeFi 清算

  • 健康因子 = Σ(抵押品 × 清算阈值) / 债务,HF < 1 即可被任何人清算。
  • 直接损失是清算罚金(约 5%–10%),但真正的代价是在最低点被迫卖出,且不由你决定。
  • ⚠️ 清算按预言机价格触发,不是市场价格。 预言机有延迟、有偏差阈值、可被操纵。健康因子不是安全边际。
  • 你最需要发救援交易的时刻,正是 Gas 最贵、最难发出去的时刻。 Black Thursday 上 MakerDAO 出现 0 DAI 中标的清算拍卖并产生坏账。
  • 你无法和清算机器人竞争。 唯一有效的做法是提前留足缓冲。
  • 借款利率浮动,利用率接近 100% 时存款人取不出钱
  • 「稳定币抵押借稳定币」不是无风险——它只是把风险换成了脱锚,且因为「感觉安全」而更容易被加到高杠杆。

跨链桥

  • 选桥 = 选择你信任谁。 多签桥的风险是「凑够 M 个私钥就能拿走全部资金」,Ronin 就是这样丢的,合约层面没有漏洞。
  • 包装资产是一张欠条。 持有它,你是桥的无担保债权人——和第四篇「CEX 上你是平台的无担保债权人」同构。
  • 攻击成因可以分类:私钥被攻破、签名验证漏洞、初始化缺陷、消息重放、前端劫持。记分类比记金额有用。
  • 「桥比 CEX 安全」不是默认成立的假设。 CEX 中转的风险敞口是短暂的,持有包装资产的敞口是持续的。
  • 不要长期持有包装资产,跨链后立刻确认拿到的是哪个版本的代币。