{"content":{"title":"深度解析： 在 DeFi 中清算是如何工作？","body":">- 原文链接：[mixbytes.io/blog...](https://mixbytes.io/blog/how-liquidations-work-in-defi-a-deep-dive)\r\n>- 译者：[AI翻译官](https://learnblockchain.cn/people/19584)，校对：[翻译小组](https://learnblockchain.cn/people/412)\r\n>- 本文链接：[learnblockchain.cn/article…](https://learnblockchain.cn/article/10365)\r\n    \r\n## 介绍\r\n\r\n清算机制对去中心化金融（DeFi）协议的稳定性和偿付能力至关重要，特别是在波动性市场条件下。然而，它们的复杂性和对各种挑战的敏感性——例如流动性约束、连环清算和跨链互动——使其成为开发者和审计人员的关键关注领域。\r\n\r\n本文分为三部分：\r\n\r\n1. 第一部分，理解清算在 DeFi 中的作用，考察协议所面临的挑战，包括市场波动性、预言机可靠性和坏账管理。\r\n2. 第二部分，审视传统和现代清算架构，探讨传统和现代清算架构，重点介绍既有的方法和创新解决方案，如 Curve 的 crvUSD 和 Fluid Vault。\r\n3. 第三部分，现实世界的脆弱性和教训，总结审计发现和真实事件，以提供可操作的见解，从而实现更安全和高效的清算机制。\r\n\r\n通过理解这些方面，我们旨在揭示清算的复杂性及其如何塑造 DeFi 协议的韧性。\r\n\r\n## 第一部分：理解清算在 DeFi 中的作用\r\n\r\n### 概述\r\n\r\n本节探讨 DeFi 平台在清算过程中面临的核心挑战。并非积极交易的审计人员和开发者必须意识到，市场条件可能因各种触发因素而突然改变。认识到这些动态对于理解所开发或审核的代码最终可能运行的环境至关重要。\r\n\r\n### DeFi 安全挑战和熊市风险\r\n\r\n**市场流动性**\r\n\r\n![img](https://img.learnblockchain.cn/pics/20241224155011.png)\r\n\r\n这个梗突出了加密市场中的一个常见现象：投资者在价格下跌时不愿买入，而在价格高企时则急于投入。这反映了市场情绪推动流动性的情况，在下跌期间参与者减少，而在上涨期间活动激增。这种行为强调了理解流动性动态和市场情绪周期在加密交易中的重要性。\r\n\r\n当市场上可用资本因投资者信心下降、大规模资产撤回或市场整体抛售等因素减少时，即会出现流动性不足。这种流动性的减少导致挂单薄弱和流动性池缩小，使得交易难以在不产生显著价格滑点的情况下执行。\r\n\r\n因此，价格波动性增加，连环清算的风险加大，特别是在依赖足够市场深度来有效清算头寸的 DeFi 协议中。此外，流动性降低加剧了价格操控和预言机不准确的影响，进一步破坏生态系统，并可能导致协议中的系统性失败或坏账积累。\r\n\r\n**连环清算(Cascading Liquidations)**\r\n\r\n![img](https://img.learnblockchain.cn/pics/20241224155012.png)\r\n\r\n该图清晰示例了加密市场中的**连环清算**，一系列负面事件引发价格急剧下跌。最初，特斯拉宣布停止接受 BTC 支付引发了初步的抛售，侵蚀了信心。随后，中国的监管打压报道进一步施压价格。随着价格持续下跌，许多杠杆头寸跌至其抵押品阈值以下，触发自动清算。这种清算级联放大了下行势头，导致价格在短时间内急剧下滑。这类事件突显了高杠杆市场的脆弱性以及快速价格下跌所带来的系统性风险。\r\n\r\n连环清算发生在强制出售资产以覆盖缺乏抵押的头寸从而引发进一步价格下跌，导致更多清算的情况下。\r\n\r\n这一过程通常始于高市场波动期，快速的价格下跌导致抵押品价值跌破所需阈值。随着 DeFi 协议启动清算以回收债务，抛售压力加剧价格下跌，迫使更多清算形成自我增强循环。后果可能是严重的：流动性池可能被耗尽，市场滑点显著增加，如果资产无法以足够的价值清算，协议可能累积坏账。这不仅可能破坏该协议本身，还可能影响更广泛的市场，特别是在多个相互关联的平台受到影响的情况下。\r\n\r\n**预言机依赖**\r\n\r\n依赖预言机引入了重大风险。价格操控是主要关注点，攻击者利用 DEX 的低流动性或预言机制的漏洞来扭曲价格，导致抵押品估值不当和清算。此外，网络拥堵期间的延迟可能导致过时的价格信息，导致错过或错误的清算。依赖单一预言机提供者进一步增加了系统性风险，创造了一个中心故障点。这些问题的后果可能包括坏账、协议不稳定和用户信任的丧失。为了降低这些风险，协议使用时间加权平均价格（TWAP）、多重预言机冗余和实时监控等防护措施，以确保更大的韧性和可靠性。\r\n\r\n**坏账**\r\n\r\n在提供杠杆头寸的协议中，坏账问题变得更加复杂，用户借入资金以放大他们对资产的敞口。杠杆交易提高了头寸对价格波动的敏感度，因为即使是轻微的市场变动也可能迅速使头寸缺乏抵押。在这种系统中，清算过程的速度和准确性至关重要，但预言机更新延迟或低流动性可能阻止及时清算，使债务 spiral 加重。此外，由于在波动条件下同时触发的清算数量较多，杠杆协议中的连环清算更为频繁。这会加重资产价格下行压力，加速坏账的积累。杠杆系统的更高风险可能会使协议和相互关联的平台不稳定，特别是在跨抵押的生态系统中。为了降低这些风险，杠杆协议通常会强制执行更严格的抵押比率，采用稳健的清算机制，并保持更大规模的储备资金以吸收意外损失。\r\n\r\n**抵押比率(Collateralization Ratio)**\r\n\r\nDeFi 中的抵押比率确保贷款得到保障，同时平衡可获取性和风险。较高的比率降低了欠缺抵押的风险，但由于高资本要求可能会阻碍借款，而较低的比率则使借款更容易，但在市场下跌期间增加了坏账的可能性。在波动市场中，过于乐观的比率可能导致快速的欠缺抵押和清算失败，尤其是在低流动性条件下。杠杆和跨链协议面临更高的风险，因为价格波动和系统性相互依存性放大了脆弱性。为了应对这些挑战，许多协议使用动态抵押模型、实时预言机更新和断路器，以适应市场条件，确保偿付能力并最小化系统性风险。\r\n\r\n**高波动性**\r\n\r\n波动性是加密货币市场的一个定义特征，并对 DeFi 协议的安全性构成重大挑战。剧烈的价格波动可能导致抵押品价值迅速变化，增加清算的可能性，而在极端情况下，可能导致连环清算。高波动性还加剧了坏账的风险，特别是当清算机制或预言机未能及时响应市场波动时。此外，价格操控在波动期间变得更可行，因为攻击者利用流动性稀薄或延迟的价格更新来触发不应有的清算或套利机会。波动性的影响还扩展到用户行为，导致恐慌性撤回，可能耗尽流动性池，进而破坏协议。为了降低这些风险，协议实施了保守的抵押比率、时间加权平均价格（TWAP）预言机和动态风险管理框架，以适应不断变化的市场条件。这些保障措施对在不可预测的市场动态面前维持稳定至关重要。\r\n\r\n\r\n**Gas 费用激增与清算执行延迟**\r\n\r\n![img](https://img.learnblockchain.cn/pics/20241224155021.png)\r\n\r\n该图表展示了以太坊网络上平均 gas 价格随时间的变化，高亮显示了在网络拥堵期间（如 2017 年、2020 年和 2021 年）gas 费用的显著激增。这些激增通常发生在市场活动或压力较高时，如代币发布、DeFi 热潮或清算级联，当交易需求超出可用区块空间时。\r\n\r\n清算执行的延迟对 DeFi 协议的稳定性构成了关键风险，尤其是在市场高度波动的时期。当清算未能及时执行时，抵押不足的头寸可能进一步恶化，随抵押品价值的持续下跌，增加坏债的可能性。这种延迟通常源于网络拥堵，高 gas 费用和交易瓶颈减缓了清算订单的处理。不充分的预言机更新或依赖于缓慢的价格数据进一步加剧了问题，通过提供过时的估值，阻止清算人及时行动。这些延迟的级联效应可能通过耗尽流动性池来使协议不稳定，放大系统性风险，并削弱用户信任。\r\n\r\n为了应对这些挑战，DeFi 平台实施了如优先处理和激励清算交易、使用更快的预言机机制以及在极端情况下引入熔断器以暂停清算等策略，确保协议在逆境中仍具备弹性。\r\n\r\n### 第一部分的结论\r\n\r\nDeFi 中清算的复杂性不容小觑。高波动性、低流动性、对预言机的依赖以及执行延迟会将一个易于理解的环境转变为动荡而不可预测的领域。如果清算机制无法适应快速市场变化，坏债可能会累积，而杠杆头寸则进一步增加脆弱性。从抵押比率到预言机集成，每个组件都必须经过精心调校，具备韧性，并得到稳健的风险管理框架的支持。\r\n\r\n在本系列的第三部分中，我们将考察一个真实事件，它囊括了许多这些挑战。通过分析一个实际事件，我们可以更好地理解这些相互作用，以及协议、开发者和审计人员如何合作以增强 DeFi 的稳定性和安全性。\r\n\r\n## 第二部分：审视传统与现代清算架构\r\n\r\n### 概述\r\n\r\n本部分深入探讨各种 DeFi 协议中清算模块的架构。我们将讨论不同项目中的清算，其关键思想，以及现代 DeFi 中不同清算方法的架构及其优缺点。\r\n\r\n### AAVE\r\n\r\n![img](https://img.learnblockchain.cn/pics/20241224155027.png)\r\n\r\nAAVE 使用健康因子（HF）公式来确定借款人头寸的抵押安全性。HF 计算为抵押品价值（按清算阈值调整）与借款价值的比率。如果 HF 降至 1 以下，则该头寸成为抵押不足，并有资格进行清算。清算人通过获得清算奖金（通常为清算抵押品价值的 5%到 10%，具体取决于资产，详见[该表](https://aave.com/docs/resources/parameters) ）来获得参与的激励。清算过程是个别和部分的，意味着清算人可以用相应部分的抵押品偿还单个头寸的最高 100%债务。这确保了清算的目标明确，不需要完全清算一个头寸，从而减少了对市场的即时影响。\r\n\r\n**优点：**\r\n\r\n1. 个别头寸清算仅针对低于健康因子阈值的用户，确保公平并隔离风险。\r\n2. 支持多种抵押品类型，允许用户提供多种代币，提供灵活性和可及性。\r\n3. 清算人可以选择偿还哪个代币和索取哪个抵押品，优化其利润并提高效率。\r\n4. 部分清算机制通过限制每次清算的规模来帮助减轻巨大市场影响。\r\n5. 模块化和灵活的方法可以适应广泛的资产和变化的市场条件。\r\n\r\n**缺点：**\r\n\r\n1. 每笔清算交易的高 gas 成本使得该过程在网络拥堵期间变得昂贵。清算较小的头寸在经济上可能效率低下，因为交易成本超过了潜在奖励。\r\n2. 某些头寸的低效清算可能导致坏债累积，如果抵押不足的头寸未能及时处理。\r\n3. 在极端市场情况下可能出现可扩展性和成本问题，因为价格下跌可能超过清算进程。\r\n\r\n### Gearbox\r\n\r\nGearbox 与 AAVE 类似，利用健康因子（HF）来监测用户头寸的抵押情况，确保借款资金保持充分保障。然而，Gearbox 的亮点在于专注于杠杆交易，使用户能够借取资产以增强市场风险敞口。该协议利用 HF 动态评估每个头寸的安全性；如果 HF 降至 1 以下，则该头寸变为抵押不足，并被标记为清算。Gearbox 集成了多种预言机解决方案，包括 Chainlink 和 RedStone，以提供实时和可靠的价格数据，用于确定抵押品和债务估值。Chainlink 提供强大的去中心化和安全的链上更新，而 RedStone 通过其链下数据存储模型带来了更高的速度和成本效益，数据在链下签名，只有在需要时才提交到链上。这种混合方法使 Gearbox 能够在安全性、灵活性和实时准确性之间取得平衡，对于管理杠杆头寸尤其关键。\r\n\r\nGearbox 提供的杠杆增加了更高回报的潜力，但同时也显著提高了坏债的风险。在波动的市场条件下，如果来自预言机的价格更新延迟或不准确，杠杆头寸可能迅速成为抵押不足。这可能导致清算未能收回足够的抵押品以覆盖债务，使协议背负未偿负债。此外，杠杆头寸对价格变动的敏感性增加放大了连环清算的风险，特别是在流动性不足的市场中。为了减轻这些风险，Gearbox 依靠严格的风险参数、来自 Chainlink 和 RedStone 的实时预言机更新以及主动监测，但杠杆交易的固有复杂性仍然对确保长期偿付能力和协议稳定性提出了挑战。\r\n\r\n**crvUSD**\r\n\r\nCurve Finance 稳定币（crvUSD）引入了一种革命性的清算机制，称为 LLAMMA（贷款-清算 AMM 算法），重新定义了在波动市场条件下抵押品的处理。与传统的基于 CDP 的稳定币（如 DAI）依赖突发的离散清算不同，LLAMMA 实现了软性、持续的清算。\r\n\r\n![img](https://img.learnblockchain.cn/pics/20241224155030.svg)\r\n\r\n这一机制通过将借款人抵押品集成到一个特殊的 AMM 池中，实现了动态重新平衡，该池在波动资产（如 ETH）和稳定币（crvUSD）之间进行动态调整。重新平衡发生在定义的价格区间内，使用类似于 Uniswap V3 的集中流动性模型，但优化用于自动清算和恢复过程。当抵押品价格下跌时，部分抵押品逐渐转换为 crvUSD，从而减少对波动性的暴露。这一机制最小化了借款人的损失，避免了突发的市场冲击，降低了协议产生坏债的风险。\r\n\r\nLLAMMA 的效率得益于其使用外部价格预言机（例如，Uniswap TWAP、Chainlink 和 Tricrypto）结合指数移动平均（EMA，更多详细信息请参见 [这里](https://en.wikipedia.org/wiki/Exponential_smoothing) 和 [这里](https://groww.in/p/exponential-moving-average)）来过滤波动性和操纵风险。该系统激励套利者在预言机价格 P_ORACLE 和池价格 P_AMM 之间发生偏差时重新平衡抵押品池，从而确保流动性和稳定性。例如，当 ETH 的价格下跌时，P_AMM 的下降速度快于 P_ORACLE，促使套利者存入 crvUSD 并提取被低估的 ETH，从而恢复平衡。这个去中心化和自动化的清算过程在防止连环清算方面非常有效，即使在极端市场事件中，也允许借款人通过还款或增加抵押品来恢复头寸。然而，该模型依赖于及时的套利，使得高 gas 费用或预言机延迟成为维持池健康的潜在风险。\r\n\r\n**优势**\r\n\r\n1. 软清算\r\n\r\nLLAMMA 的软清算机制通过逐渐将抵押品转换为 crvUSD 来避免突发的抵押品损失。硬清算也可作为防止坏账的额外保护层。\r\n\r\n2. 最小化市场影响\r\n\r\n通过分散清算时间，crvUSD 减少了因突发抵押品出售而导致的市场冲击风险，这是 Aave 在大规模清算中常见的问题。\r\n\r\n3. 通过头寸聚合提高 gas 效率\r\n\r\ncrvUSD 将所有借款人的头寸聚合到一个单一的抵押品池中，允许以 pooled 方式进行软清算操作。与 Aave 相比，这种设计显著降低了 gas 成本，因为每个借款人的清算需要单独的交易。聚合方法确保在高活动期间，重新平衡操作（例如出售抵押品）更加高效和经济。\r\n\r\n4. 激励套利以进行重新平衡\r\n\r\ncrvUSD 利用外部套利者来维持池的平衡，减少了协议对预定义清算者的依赖。这个去中心化的模型确保在波动市场中有效的抵押品重新平衡。\r\n\r\n5. 借款人友好的机制\r\n\r\n借款人在 crvUSD 中保留更多选项，包括在软清算模式下自我清算或增加抵押品，从而给予他们对头寸更大的控制权。\r\n\r\n**劣势**\r\n\r\n1. 单一抵押品限制\r\n\r\ncrvUSD 限制为单一资产（例如，ETH 或流动质押衍生品）。这显著降低了希望使用其他资产（如稳定币、BTC 或收益代币）作为抵押品的借款人的灵活性。拥有多样化投资组合或其他资产的借款人可能会发现 crvUSD 相较于传统方法不那么吸引人。\r\n\r\n2. 依赖套利参与\r\n\r\ncrvUSD 依赖外部套利者来重新平衡其池。如果市场条件（例如，高 gas 费用或低套利盈利能力）阻碍套利活动，协议可能面临清算延迟，增加坏账风险。\r\n\r\n### Fluid Vault T1\r\n\r\n![img](https://img.learnblockchain.cn/pics/20241224155035.png)\r\n\r\n在 Fluid Vault 中，清算过程旨在既具成本效益又高效。该协议允许部分清算，而不是严厉的惩罚和完全的抵押品出售，仅将头寸恢复到安全状态。债务与抵押品比率和清算阈值决定何时可以清算头寸。如果比率超过定义的阈值，则会出售一部分抵押品，仅足以将债务降低到安全范围内，产生的清算罚金最低——通常低至 0.1%。相比之下，大多数竞争对手收取 5-10% 的罚金。此外，该平台的架构允许在单个交易中以最小的额外 gas 成本清算多个头寸，避免了多次昂贵的操作。\r\n\r\n![img](https://img.learnblockchain.cn/pics/20241224155038.jpg)\r\n\r\nFluid Vault 中的分支代表了一种机制，用于处理在抵押品价格下降的定义范围（ticks）内的顺序清算事件，从而导致不健康的抵押品与债务比率。每个分支包含一组 ticks，这些 ticks 变得符合清算条件，使协议能够系统地减少坏账并恢复安全的抵押品水平，而无需直接与单个用户头寸互动。随着清算过程在这些范围内推进，当一个分支的最小 tick 水平达到时，分支可能会合并。这种整合有效地将过程推进到下一个清算阶段。这种基于分支的架构确保清算以结构化、可控和高效的方式进行，有效地“穿越”抵押品价格曲线的各个部分，同时保持协议的稳定性。\r\n\r\nFluid Vault 的一个关键创新是其与 DEX 聚合器的集成。这种方法允许将坏账处理得像在去中心化交易所上的流动性提供一样。不是由专门的清算者介入，而是通过集成的 DEX 基础设施进行的交易可以有效地“吸收”坏账，作为其常规操作的一部分。因此，清算不一定依赖于单一类别的参与者；它可以通过标准交易活动流畅地进行。这消除了对重监控基础设施或专业知识的需求，使系统更易于访问。然而，虽然非常低的清算罚金对用户友好，但可能会减少一些传统清算者的激励。此外，在高波动性期间，突发的价格波动仍可能导致计划外和快速的清算，这是一种固有的限制，而不是设计缺陷。\r\n\r\nFluid Vault 清算机制的一个突出特点是能够将坏账视为一种主动交易机会，而不是一个单独的、孤立的事件。通过将坏账集成到平台的流动性池中，处理起来就像在 Uniswap、Curve 或 Balancer 上执行交易一样简单。当流动性提供者和交易者与这些池互动时，他们有效地帮助“吸收”坏账，将风险和解决方案分散到广泛的参与者基础上。这意味着不需要专门的基础设施或工具来跟踪和清算处于风险中的头寸。任何在 DeFi 生态系统中有基本经验的人都可以参与清算过程，进一步降低了进入门槛，提高了效率，并将传统上复杂且繁琐的过程转变为常规操作。\r\n\r\n**优势：**\r\n\r\n1. 极低的清算罚金（低至 0.1%，而其他协议为 5-10%）。\r\n2. 高 gas 效率：多个头寸可以在单个交易中清算，而不会显著增加 gas 成本。\r\n3. 与 DEX 风格机制的集成：“坏账”可以像活跃流动性一样处理，使其与 DEX 聚合器的集成变得简单。这可以让交易者而不是专门的清算者来吸收坏账。\r\n4. 无需重监控基础设施来跟踪单个风险头寸；即使是有基本经验的用户也可以参与清算。\r\n5. 仅清算所需的金额以将头寸恢复到安全阈值，防止不必要的抵押品出售。\r\n6. 通过基于 tick 的系统对所有头寸进行一致和自动的重新平衡，而无需直接与每个用户的账户互动。\r\n\r\n**缺点**\r\n\r\n1. 当前仅支持单一类型的抵押品，限制了灵活性和多样化。\r\n2. 尽管清算很少，但极低的处罚可能会减少一些传统清算者参与的激励。\r\n3. 在恢复到清算阈值后，不再进行进一步的部分清算；你无法微调低于该安全水平的清算金额。\r\n4. 在极端波动时期，尽管有高效机制，仍可能发生快速且无计划的清算。\r\n\r\n有关 Fluid Vault 的更多信息，请访问 [这里](https://mixbytes.io/blog/modern-defi-lending-protocols-how-its-made-fluid-vault)。\r\n\r\n### 第二部分总结\r\n\r\n每个协议——AAVE、Gearbox、crvUSD 和 Fluid Vault——在清算方面都有独特的方法，平衡灵活性、成本、风险和用户友好性等因素。了解这些权衡使参与者能够选择与其在快速发展的 DeFi 领域中的优先事项相一致的平台。\r\n\r\n## 第三部分：与现实世界清算相关的脆弱性和经验教训\r\n\r\n### 概述\r\n\r\n在本部分，我们探讨在 DeFi 协议的现实审计中发现的一些最重要的脆弱性。这些示例突出了关键风险，如预言机操纵、流动性短缺和清算执行机制的缺陷。通过分析这些脆弱性，我们旨在提供关于设计强大清算框架的陷阱和最佳实践的有价值见解。本节强调了持续审计和适应的重要性，以在变化多端的市场环境中保障 DeFi 平台的安全。\r\n\r\n### MakerDAO 的“黑色星期四”事件（2020 年 3 月）\r\n\r\n尽管这不是代码中的传统“漏洞”，但在极端市场条件下，MakerDAO 的清算机制失效。\r\nMakerDAO 的系统允许用户通过锁定抵押品（当时主要是 ETH）来创建抵押债务头寸（CDP），并借用 DAI 稳定币。如果抵押品的价值相对于借入的 DAI 下跌过多，则该头寸会变得不足抵押，必须进行清算以维持协议的偿付能力。MakerDAO 中的清算涉及拍卖过程：不足抵押的 CDP 会被拍卖给出价者，后者支付 DAI 以折扣价购买抵押品。\r\n\r\n**“黑色星期四”发生了什么：**\r\n\r\n1. 市场崩溃：\r\n\r\n2020 年 3 月 12 日，全球市场，包括加密货币，遭遇了大幅下跌。ETH 的价格在短时间内急剧下跌。这意味着许多 CDP 同时跌破了其所需的抵押水平。\r\n\r\n2. 网络拥堵和预言机延迟：\r\n\r\n随着恐慌蔓延，用户急于调整其头寸，ETH 网络拥堵激增。交易费用飙升，许多交易受到延迟。同时，MakerDAO 依赖去中心化的预言机将 ETH 价格数据传送到系统中。价格迅速下跌，加上网络拥堵，导致更新延迟，使协议难以及时应对迅速变化的市场条件。\r\n\r\n3. 清算机制承压：\r\n\r\n在正常情况下，当 CDP 的抵押比率过低时，协议会触发清算并启动拍卖。竞标者可以出价 DAI 以购买被清算的抵押品。设计假设竞争拍卖，以确保协议收到足够的 DAI 来偿还债务，并向原 CDP 拥有者返回一些抵押值。\r\n\r\n- 然而，在“黑色星期四”期间：极端的波动性和拥堵减缓了整个清算过程。\r\n- 预言机数据更新的时间比预期更久，这意味着在协议意识到 CDP 已不足抵押时，ETH 的实际市场价格往往已进一步下跌。\r\n- 零出价清算：\r\n\r\n- 最糟糕的结果是，多场拍卖出现了零或接近零的出价。在正常情况下，清算者会相互竞争，确保协议至少能收回 CDP 所欠的大部分债务。相反，少数机会主义参与者能够以几乎没有成本（出价 0 DAI）走开，因为：在混乱的环境中没有足够的活跃竞标者。\r\n- 反击这些接近零出价的交易要么未能及时打包，要么由于高费用和拥堵而未能到达。\r\n- 造成的损失：\r\n\r\n由于该协议几乎没有从许多拍卖中收到 DAI，MakerDAO 最终面临重大短缺——基本上是在其资产负债表上有一个巨大缺口。该协议变得不足抵押，因为无法用基础抵押品完全覆盖流通中的 DAI。这一事件迫使 MakerDAO 启动紧急关停计划，并随后举行 MKR（治理与波动吸收代币）拍卖以重新资本化系统。\r\n\r\n**关键经验教训：**\r\n\r\n该事件表明 MakerDAO 依赖于及时的预言机和竞争性链上拍卖在极端条件下是脆弱的。如果网络拥堵过于严重或市场变动过快，目前的设计可能无法高效清算不良债务。\r\n\r\n“黑色星期四”强调了 DeFi 协议并非孤立存在；它们依赖于稳定的网络运行、准确的价格信息和健康的市场条件。更广泛的加密市场危机可能直接转化为协议的偿付风险。\r\n\r\nMakerDAO 社区通过改进其拍卖机制、预言机数据源，并引入断路器和其他安全措施来回应。这些更改旨在确保在未来压力情境中，清算可以更加顺利和可预测地进行。\r\n\r\n### Alpha Homora（2021 年 2 月）\r\n\r\nAlpha Homora 是一个建立在以太坊上的收益杠杆协议，允许用户以抵押品借款以放大其收益。在 2021 年 2 月，该协议遭受了一次重大漏洞，导致大约 3700 万美元的损失。这个漏洞与 Alpha Homora 与 Iron Bank（C.R.E.A.M. 的一个产品）之间的集成不当以及抵押品计算错误有关。\r\n\r\n漏洞的性质：\r\n\r\n问题的关键在于 Alpha Homora 和 Iron Bank 之间对抵押品和贷款参数的不当处理。攻击者因杠杆和抵押要求的逻辑计算错误而能够借用超出其抵押品所允许的资金。在正常情况下，超出安全抵押比率会触发清算，通过出售一些抵押品以偿还债务，从而恢复系统健康。然而，这个漏洞使攻击者能够绕过这些保护措施，让他们在未被清算的情况下借用超出允许的资金。\r\n\r\n清算的作用和核心问题：\r\n\r\n正确实施的清算逻辑确保当头寸不足抵押时，一部分抵押品会被出售以覆盖短缺。Alpha Homora 的脆弱性使攻击者能够通过混淆系统，让系统相信头寸仍然充分抵押，从而绕过清算触发。因此，攻击者在发现差异之前提取了相当大的价值。\r\n\r\n经验教训：\r\n\r\n这一案例强调了准确抵押计算和跨集成协议的一致逻辑的重要性。当一个协议（Alpha Homora）依赖于另一个协议（Iron Bank）时，它们必须确保清算条件和贷款价值比（LTV）计算完全一致。任何不匹配都可能产生攻击者可以利用的漏洞。\r\n\r\n与所描述问题相关的代码可以在 [这里](https://github.com/AlphaFinanceLab/alpha-homora-v2-contract/blob/f74fc460bd614ad15bbef57c88f6b470e5efd1fd/contracts/HomoraBank.sol#L457) 找到\r\n\r\n### Cream Finance（2021-2022 年的多次攻击）\r\n\r\nCream Finance 是一个类似于 Compound 和 Aave 的借贷平台，也遭遇了多次攻击，利用了抵押品估值、利息计算、价格预言机依赖和清算逻辑中的缺陷。\r\n\r\n- Cream Finance 漏洞的性质：\r\n\r\n许多 Cream 的漏洞源于对抵押品和债务计算的错误假设或疏忽。攻击者经常操纵抵押品价格或利用闪电贷来欺骗协议，使其相信某个头寸比实际情况更健康。\r\n\r\n- 价格操纵与避免清算：\r\n\r\n一种常见的策略是人为抬高攻击者头寸所用抵押品的价格。如果协议依赖于这个虚高的价格，它将无法触发清算，认为该头寸仍然是偿付能力的。在攻击者获得利润并且价格恢复正常后，协议则处于抵押不足的状态，实际上吸收了损失。\r\n\r\n- 债务和利息计算中的逻辑缺陷：\r\n\r\n一些漏洞源于错误的利息和债务计算。这些错误使借款人能够获得系统认为完全有担保的贷款，但实际上缺乏足够的抵押品。没有准确的清算触发，协议无法保护自己免受这些无担保贷款的影响，导致坏账。\r\n\r\n**经验教训：**\r\n\r\nCream Finance 的攻击突显了对强大价格预言机、安全闪电贷实现和一致健康因子验证的需求。协议必须确保其清算逻辑能够抵御价格操纵、突发市场变化和集成复杂性。全面的审计、经济假设的测试以及严格遵循最佳实践可以帮助减轻这些风险。\r\n\r\n## 主要收获\r\n\r\n1. 正确的健康因子、抵押品和债务计算：\r\n\r\n在计算 LTV 比率、抵押品、债务或健康因子时的任何差异都可能导致操纵。攻击者可以借入超过允许的金额，有效地绕过清算触发。\r\n\r\n2. 可靠的预言机和数据源：\r\n\r\n由于清算逻辑在很大程度上依赖于准确的价格数据，因此防篡改的预言机至关重要。价格数据的延迟或操纵可能导致过早或不存在的清算。\r\n\r\n3. 复杂的跨协议交互：\r\n\r\n当协议相互集成或依赖时，假设不一致或参数传递错误可能会造成系统性漏洞。严格的集成测试和审计是必不可少的。\r\n\r\n4. 风险参数的适当调整：\r\n\r\n良好校准的风险参数，如清算阈值、抵押比率和罚款率，对于维护协议的稳定性至关重要。过于宽松的设置可能导致坏账积累，而过于严格的参数则可能阻碍用户参与，并不必要地增加清算事件。根据市场情况定期审查和调整是必要的，以达到正确的平衡。\r\n\r\n## 审计中的一些有趣发现\r\n\r\n**Curve Finance 通货膨胀攻击和硬清算**\r\n\r\nMixBytes 团队在审计 Curve 智能合约时发现了这个问题。C-01 在 [这份](https://github.com/mixbytes/audits_public/blob/master/Curve Finance/Curve Lending/Curve Lending Security Audit Report.pdf) 审计报告中描述了 TwoWayLending 协议中的一个问题，黑客可以操纵股份价格并触发硬清算。\r\n\r\n**Compound 自清算关键问题**\r\n\r\n这个问题是 Rich M 在 2019 年发现的。\r\n\r\n这个漏洞的核心是，如果借款人和清算者是同一个地址，智能合约逻辑将无法正确调整抵押品余额。它不会有效地使账户的抵押品保持不变（减去然后再加上相同的金额），而是错误地增加借款人的抵押品，增加了被没收的金额。这意味着恶意用户可以清算自己的头寸，并带走比他们开始时更多的抵押品，实际上从协议中窃取资金。\r\n\r\n描述这个问题的原始文章在 [这里](https://medium.com/@rich2183/compounds-self-liquidation-bug-829d6571c2df)，发现问题的代码链接在 [这里](https://github.com/compound-finance/compound-money-market/blob/241541a62d0611118fb4e7eb324ac0f84bb58c48/contracts/MoneyMarket.sol#L1749)。\r\n\r\n**攻击者如何阻止清算**\r\n\r\n有时，借款人可以阻止清算过程，并保持其头寸抵押不足。\r\n\r\nC-04 在 [这份](https://github.com/pashov/audits/blob/master/team/pdf/SharwaFinance-security-review.pdf) 审计报告中描述了一个问题，用户可以向其保证金账户提供无限数量的头寸 NFT，这可能在清算过程中造成问题。用户可以利用这一点通过导致耗尽 gas 错误来避免清算。报告建议限制可以添加到保证金账户的 NFT 的最大数量，以防止此问题。\r\n\r\n## 结论\r\n\r\n随着 DeFi 的成熟，开发者、审计员和用户必须保持警惕，持续完善清算机制，并采用强大的风险管理和测试实践，以促进一个更安全、稳定和有韧性的金融生态系统。DeFi 生态系统中闪电崩盘和市场动荡频率的增加凸显了强大和适应性协议设计的必要性。为了增强韧性并保护用户和协议，以下策略应优先考虑：\r\n\r\n1. 优化 gas 费用的清算架构\r\n\r\n在单个交易中启用多次清算可以最小化 gas 成本并加快执行。这减少了高峰期对网络的压力，并确保及时的清算过程，防止级联故障。\r\n\r\n2. 部分清算机制\r\n\r\n引入部分清算允许协议逐步清算抵押不足头寸的小部分，减少市场影响，并为借款人提供恢复的机会。这种方法防止了大规模、突发抛售的破坏性影响。\r\n\r\n3. 动态清算阈值和抵押缓冲\r\n\r\n根据市场条件调整的灵活阈值，结合额外的抵押缓冲，在波动期间提供更大的稳定性。这些措施使协议能够保持偿付能力，同时为借款人提供更多时间来管理其头寸。\r\n\r\n4. 高级价格预言机集成\r\n\r\n利用多个可靠的预言机和链下价格聚合减少更新市场数据的延迟和成本。像 PYTH 网络这样的技术能够以最小的 gas 支出实现高频价格更新，确保协议能够快速响应价格变化，而不会给区块链带来过大负担。\r\n\r\n通过采用这些策略，DeFi 协议可以减轻与闪电崩盘相关的风险，保护用户资产，并维护生态系统的稳定。这些建议不仅提高了操作效率，还增强了用户之间的信任和信心，确保去中心化金融的长期可持续性。\r\n\r\n**关于 MixBytes？**\r\n\r\n[MixBytes](https://mixbytes.io/) 是一个由专家区块链审计师和安全研究人员组成的团队，专注于为 EVM 兼容和 Substrate 基础的项目提供全面的智能合约审计和技术咨询服务。请在 [X](https://twitter.com/MixBytes) 上关注我们，以获取最新的行业趋势和见解。\r\n\r\n> 我是 [AI 翻译官](https://learnblockchain.cn/people/19584)，为大家转译优秀英文文章，如有翻译不通的地方，在[这里](https://github.com/lbc-team/Pioneer/blob/master/translations/10365.md)修改，还请包涵～"},"author":{"user":"https://learnblockchain.cn/people/24680","address":null},"history":"bafkreifpr6iraui5qwjei2g4qjd7rxfmvo2cfjqce2b6k4nqf26jdzofmm","timestamp":1735028663,"version":1}