;)
DeFi 借贷协议深度解析
前言
借贷协议是以太坊上 TVL 最高的 DeFi 赛道。截至 2026 年 5 月,Aave 一家就锁着约 180 亿美元资产。但这不是这篇文章的重点 —— 重点是理解链上银行是怎么运作的。
和 DEX 不同,借贷协议的复杂度不在定价公式,而在状态管理、风险控制和清算逻辑。它的核心问题是:如何在一个极不稳定的市场中,确保存款人永远能取回自己的钱?
这篇文章以 Aave v3 为主轴展开,穿插 Compound 的对比。读完你应该能回答面试中最常见的那道题:「Aave 和 Compound 有什么区别?」
一、借贷协议解决什么问题?
1.1 两方需求,一个池子

传统银行的存贷模式是:你把钱存银行,银行拿你的钱放贷给张三李四,赚利差。你只知道”年化 2%”,但不知道银行把你的钱借给了谁。
Aave 把这个过程透明化了。你存 USDC 进去,任何人(包括你自己)都可以超额抵押借款。利息是算法动态计算的,不是行长拍脑袋定的。
1.2 超额抵押:DeFi 借贷的基石
DeFi 借贷全是超额抵押——想借 100 块钱,你得先压 130-200 块的东西进去。这和传统金融的信用贷款完全不同。
为什么?因为 DeFi 是无身份的。协议不知道你是谁、收入多少、会不会还钱。它唯一能信任的,就是你锁在合约里的抵押品。你不还?抵押品归协议。
二、Aave 核心机制

官网: aave.com | GitHub: aave/aave-v3-core
2.1 aToken:存款凭证即利息
Aave 最巧妙的设计是 aToken。你把 100 USDC 存进 Aave,返还你 100 aUSDC。然后 aUSDC 的余额会自动增长——利率直接体现在余额里,不需要手动领取利息。
1 | // aToken 的核心逻辑(极度简化) |
关键理解:合约里存储的不是你的实际余额,而是一个经过利率指数缩放后的折算值(scaled balance)。任何时候查询余额,都是 scaledBalance × 当前利率指数。
这种设计的优势:没有”利息领取”这一步,利息一直在自动复利。每次链上任何操作更新利率指数后,所有人的余额同步增长。
2.2 核心流程:从存款到清算

2.3 利率模型:不完全靠市场,不完全靠算法
Aave 的利率是动态的,核心变量叫资金利用率(Utilization Rate, U):
$$
U = \frac{\text{总借款额}}{\text{总存款额}}
$$
利率曲线分两段:

1 | // Aave v3 DefaultReserveInterestRateStrategy 简化版 |
为什么这样设计?
- 利用率低时,利息低 → 鼓励人来借钱 → 利用率上升
- 利用率超过最优值(如 80%)后,利率陡峭上升 → 吓退部分借款人,吸引更多人存款
- 结果:利率像一个弹簧,自动让利用率稳定在 80% 附近
这个算法的精妙之处在于:不需要预言机,不需要治理投票,利率自己找平衡点。 这是 DeFi 最接近”市场自动调节”的设计之一。
三、清算机制:DeFi 借贷的安全阀
3.1 健康因子
清算的核心判据是健康因子(Health Factor, HF):
$$
\text{HF} = \frac{\sum(\text{抵押品价值}_i \times \text{清算阈值}_i)}{\text{借款总额}}
$$
- HF > 1:安全
- HF = 1:临界点
- HF < 1:可以被清算
清算阈值(Liquidation Threshold)是一个资产参数——ETH 可能设为 82.5%,意味着你抵押 1 个 ETH(价值 $2000),最多能借出 $1650。一旦 ETH 跌到让你的 HF 跌破 1,清算人就登场了。
3.2 清算流程
1 | // 清算的核心逻辑(简化) |
几个关键点:
- 每次最多清算 50% 的债务:防止一次性清光、造成不必要的损失
- 清算人有奖励:清算人能拿到折扣价的抵押品(5%-10% 的奖励,取决于资产),这激励了外部清算人像秃鹫一样盯着市场上的坏账
- 任何人都能当清算人:你不需要注册、不需要授权。写个脚本监控链上 HF,发现有人的 HF < 1 就去清算赚差价
3.3 清算的博弈逻辑
清算本质上是一个抢单竞赛。当 ETH 价格在一个区块内暴跌了 15%,链上会同时出现几十个可清算头寸。清算人之间比拼的是:
- Gas 出价谁更高(让交易被优先打包)
- 脚本响应谁更快(监控节点延迟)
- MEV 策略谁更聪明(是否会被人三明治)
Aave 和 Compound 都经历过大规模清算事件(如 2020 年 3·12 和 2022 年 UST 脱锚),但两者的清算机制在面对极端行情时表现有差异。Compound 的清算机制偏保守(清算激励较低),在极端行情下可能清算人激励不足、坏账堆积。Aave 的清算机制更激进一些,每次清算的量上限更高。
四、闪电贷:没有抵押也能借钱
4.1 原理
闪电贷(Flash Loan)是 DeFi 最迷人的金融创新之一:在同一笔交易内借出和归还,不需要任何抵押。
逻辑很简单:
1 | function executeFlashLoan( |
为什么安全?因为在同一笔交易里,如果你没还回来,整个交易回滚(revert),钱从来没有真正离开过合约。
4.2 闪电贷的合法用途
闪电贷不是 bug,是 feature。典型用途:
- 套利:Uniswap 上的 ETH 比 SushiSwap 便宜 1%,闪电贷借钱买→卖出→还钱→赚差价
- 清算:别人 HF < 1,你闪电贷借钱去清算他,拿到折扣抵押品,卖了还贷
- 债务再融资:你在 Aave 借的利率太高,闪电贷借一笔钱把 Aave 的债还了,用同样的抵押品在 Compound 以更低利率再借一笔
4.3 闪电贷攻击
闪电贷也是攻击者的利器。经典攻击模式:
闪电贷 → 操纵预言机价格 → 触发错误清算 → 套走抵押品
防范措施:
- 不要用瞬时价格做清算判断
- 使用 TWAP + Chainlink 双数据源
- 协议内部的时间锁机制
五、Aave v3 的改进
Aave v3(2022年上线)相比 v2 有几个重要升级:
| 特性 | v2 | v3 |
|---|---|---|
| 跨链支持 | 无 | Portal 跨链桥支持 |
| 隔离模式 | 无 | 高风险资产只能做抵押、不能触发其他资产的借款 |
| 效率模式 (eMode) | 无 | 同类资产(如稳定币)抵押率更高(可达 98%) |
| Gas 优化 | 中 | 约 20-25% 的 Gas 节省 |
eMode 是 v3 最有用的功能:当你抵押 USDC 借 DAI 时,协议允许你进入 eMode,把抵押率推到 98%(意思是借出价值 $98 的 DAI 只需要 $100 的 USDC 抵押)。因为稳定币之间的价格几乎不波动,所以可以更放心地让你加杠杆。
六、Compound 对比分析

官网: compound.finance
Compound 是另一个借贷协议的标杆项目,在学习时值得拿它和 Aave 对比:
| 维度 | Aave v3 | Compound v3 |
|---|---|---|
| 利率模型 | 双斜率模型 | 利用率跳跃模型 |
| 固定利率借款 | 支持(stable rate) | 不支持 |
| 清算激励 | 5%-10% | 固定 7% |
| 闪电贷 | 内置(手续费 0.09%) | 不支持(需第三方) |
| 多链部署 | 13+ 条链 | 以太坊主网 + L2 |
| 代币用途 | 治理 + 质押折扣 | 治理 |
利率模型的差异是两者最核心的区别:
Compound 的利率是阶段函数(kink model):利用率低于 80% 时利率很低,超过 80% 后利率瞬间跳到高位。Aave 则是连续平滑上升的曲线。这意味着在 Compound 上,借款人对利用率的变化更敏感——一旦摸到 kink 点,利率会突然跳涨。
孰优孰劣没有定论。Compound 的模型更简单透明,Aave 的模型更平滑。实际使用中,Aave 因为更多的资产支持和更好的多链体验赢得了更大的市场份额。
七、安全与风险
7.1 预言机风险
借贷协议最致命的攻击面是价格预言机。如果协议相信了一个被操纵的价格,就会:
- 允许攻击者以虚高的抵押品价值借款
- 触发不该发生的清算
Aave v3 使用 Chainlink 价格预言机,但即使 Chainlink 也会在极端行情下有延迟。
7.2 智能合约风险
2023 年 Euler Finance 被攻击损失 1.97 亿美元,原因是一个捐赠函数的逻辑漏洞。即使 Aave 经过了多轮审计,每条升级仍然意味着新的风险面。
7.3 流动性风险
如果你存了一个非主流资产,当所有人都想取款时,池子里的钱可能不够——这种情况在 Aave 上还没发生过大规模事件,但在较小的借贷协议上出现过。
📚 参考资料
- Aave 协议白皮书
- Aave V3 技术论文
- Aave 官方文档
- Compound 白皮书
- DeFi 可贷资金协议 - 利率与流动性研究
- DeFi 清算机制实证研究
- 理解闪电贷
- SoK: 去中心化金融综述
- Euler Finance 事故复盘
- Chainlink 价格预言机文档
- 借贷协议仪表板
- 以太坊 DeFi 页面
本文撰写于 2026 年 5 月。Aave 和 Compound 都在持续迭代中,协议参数可能随治理提案调整。







