写在前面
DeFi 圈子里有几个绕不过去的奠基者协议:
- MakerDAO:把法币概念引入链上(DAI 稳定币)
- Uniswap:把 AMM(自动做市商)做到极致
- Compound:把链上借贷做成可组合金融基础设施
Compound 由 Robert Leshner 和 Geoffrey Hayes 在 2018 年推出。它创造了几个让整个 DeFi 沿用至今的范式:
- cToken 模型:把"存入资产"变成可流通的代币
- 算法利率:根据资金池利用率自动调整借贷利率
- 流动性挖矿(COMP 代币):开启 DeFi 真正的"治理代币热"
- 预言机喂价:所有借贷依赖外部价格
如果你想理解 Aave、Venus、JustLend 等借贷协议——先吃透 Compound。本文讲清楚它的核心机制和工程价值。
一、Compound 在做什么
简单说——Compound 是一个去中心化的"借贷池"。任何人可以:
- 存入资产(USDC、ETH、DAI 等支持的资产)→ 赚利息
- 抵押资产借出(用你的存款做抵押借出别的资产)
没有撮合——所有用户对的是"池子",不是另一个用户。
二、cToken:存款的代币化
存进 Compound 的 USDC 不是普通存款——你换回了 cUSDC:
| |
cUSDC 是一种 ERC-20 代币:
- 数量代表你对池子的份额
- 池子产生利息时,cToken 总数不变,但 exchange rate 持续上涨——也就是 1 cUSDC 能兑换的 USDC 越来越多
- 取回时把 cUSDC 烧掉换回 USDC(按当前 exchange rate)
也就是说,同样数量的 cUSDC 能换回的 USDC 持续增加——这就是利息累积的体现。
cToken 的革命性:它是可组合的金融乐高——你可以把 cUSDC:
- 存进 Yearn 等收益聚合器
- 在 DEX 上交易
- 作为其他 DeFi 协议的抵押品
不像传统银行存款只是个数字——cToken 是真实的可流通资产。
三、算法利率模型
利率不是固定的——根据资金池的"利用率"动态调整:
| |
利率公式(简化):
| |
直觉:
- 池子很多人借 → 借款利率上升 → 抑制借款 / 鼓励存款 → 平衡池子
- 池子没什么借款 → 利率低 → 减少存款利息 / 鼓励借款 → 平衡池子
Compound 的"利率曲线" 让市场自动平衡——不需要中心化机构定价。
四、抵押与清算
借款必须超额抵押——比如借 70 USDC 要抵押价值 100 ETH。
Collateral Factor
每种资产有一个 Collateral Factor(抵押因子)——比如 ETH 是 75%、稳定币 90%。
你抵押 1000 USD 的 ETH(CF=75%)→ 最多能借 750 USD 等值的资产
健康因子
| |
- HF > 1:安全
- HF < 1:可被清算
清算机制
如果 ETH 价格暴跌让 HF 跌破 1——任何人都可以触发清算:
- 清算者替借款人还一部分债(最多 50%)
- 清算者以折扣价拿走借款人的抵押品(折扣通常 5-8%)
清算者赚 5% 差价——这是激励清算者监控市场的机制。链上有专门的"清算机器人"24x7 盯着所有借款人的 HF。
五、COMP 治理代币与流动性挖矿
2020 年 6 月 Compound 上线了 COMP 代币——治理用:
- 总量 1000 万
- 每天向用户分发——根据"借入 + 存款总额"按比例
- 持有 COMP 可以参与协议治理(提案、投票)
这一改动点燃了整个 DeFi 行业的"流动性挖矿"狂潮:
用户存款不仅能赚利息,还能赚 COMP——COMP 价格高时,挖矿收益甚至超过本金利息。
短短几周——Compound 总锁仓量从几亿美元飙到几十亿。Aave、SushiSwap、Curve 等无数协议跟进发币——DeFi 进入"DeFi Summer"。
治理实践
COMP 持有者可以:
- 提议加新借贷市场
- 调整 Collateral Factor
- 调整利率曲线参数
- 升级合约
Compound 是真正实现了"协议自治"的样板——团队渐渐退出,决策由代币持有者做。
六、预言机:Compound 的命门
所有借贷决策都依赖资产价格——清算判断、抵押率计算都要价格输入。
Compound 早期使用 Open Price Feed——以 Coinbase Pro(后改名 Coinbase Exchange)作为主要签名报价方,配合 Uniswap V2 TWAP 做防御。设计预期是接入更多 reporter,但实际上 Coinbase 长期是唯一稳定上报的数据源。
但预言机被攻击的案例不少——经典案例是 2020 年 11 月 26 日 DAI 在 Coinbase Pro 价格异常飙升,导致 Compound 上约 8900 万美元的资产被异常清算。这是 DeFi 借贷协议永远的 risk——单源预言机一旦被推、被异常波动,整个清算系统就被绑架。
V3 之后 Compound 全面切到 Chainlink 等专业预言机——多源 + 时间加权 + 偏离阈值 多重保护,把这类风险显著降低。
七、cToken vs aToken vs dToken
不同借贷协议的"存款代币"模型有差异:
| Compound (cToken) | Aave V2 (aToken) | Aave V3 (aToken) | |
|---|---|---|---|
| 余额变化 | 数量不变,价格上涨 | 数量上涨,价格 = 1 | 数量上涨 |
| 用户体验 | 看着不增长(要折算) | 看到余额秒级增长 | 同 V2 |
| 复合性 | ✓ | ✓ | ✓ |
aToken 用户体验上更好——钱包里看到余额持续增长,比 cToken 直观。Compound 后来推出的 V3 借鉴了 aToken 模型。
八、Compound V2 vs V3
Compound V2(2019):当时被称为"DeFi 借贷的标准"。
Compound V3(2022)——重大改变:
- 每个市场只有一种借出资产(如 USDC 池只能借 USDC)——避免协议级流动性碎片化
- 抵押品和借出资产分离——你抵押 ETH 借 USDC,但 ETH 不会被借出去
- 简化治理——更专注、更易管理
V3 的设计哲学是 “做对一件事”——让借贷更安全、更可预测,但灵活性比 V2 低一些。
九、Compound 的影响和遗产
直接受影响的协议
- Aave - 借贷模型几乎完全师承 Compound
- Venus(BNB 链) - Compound V2 的 fork
- JustLend(Tron) - Compound V2 的 fork
- Benqi(Avalanche) - Compound V2 的 fork
Compound 的开源代码被复制粘贴到了几乎所有 EVM 链——是 DeFi 借贷的"参考实现"。
留下的范式
- 池化借贷(vs P2P 撮合)
- 算法利率
- 代币化存款(cToken)
- 链上清算激励
- 流动性挖矿 / 治理代币
这些都是 Compound 第一个推广——后续协议都在它的基础上演化。
十、Compound 的局限与反思
1. 高 Gas 费
每次存款 / 借款 / 清算都是链上交易——以太坊高峰期单次操作 $50+。这是为什么 Compound 在 L2 / 侧链才能让小用户负担得起。
2. 系统性风险
借贷协议的风险叠加:
- 预言机被攻击 → 清算异常
- 某个抵押品资产暴跌 → 大量清算 → 价格进一步下跌(连环反应)
- 智能合约 bug → 资金被盗
Compound 历史上有过几次小事故——DAI 利率公式 bug 短暂导致部分清算异常,但整体记录良好。
3. 治理参与度低
虽然有 COMP 投票——多数提案投票率不高。“代币持有者治理"在理论上美好,实践中常常是『大户投票决定一切』。
4. 复杂性对小用户不友好
抵押率、利率曲线、清算阈值——普通人很难弄懂。这是 DeFi 至今没能真正"出圈"的痛点之一。
十一、对开发者的启发
读 Compound 源码(github.com/compound-finance/compound-protocol)能学到很多:
- CToken.sol:cToken 实现,学习"代币化金融头寸"的范式
- Comptroller.sol:协议核心控制器,学习如何用单合约管理多市场
- InterestRateModel.sol:利率模型——算法定价的实战案例
- PriceOracleProxy.sol:预言机抽象层
- Governance.sol:治理合约
这些不是"教学代码”——是真实管理着数十亿美元资金的代码,工程质量在 DeFi 中属于标杆水平。
小结
把 Compound 的价值压一句:
Compound 不只是一个借贷协议——它是 DeFi 的『结构性创新者』,定义了池化借贷、算法利率、流动性挖矿等几乎所有 DeFi 沿用至今的范式。
理解它的几个关键:
- cToken = 代币化的存款 + 利息
- 算法利率根据利用率动态调整
- 清算激励让市场自动维持安全
- COMP 让协议进入"代币治理"时代
- V3 进一步简化和专注
如果你做 DeFi 借贷类项目——绝不要 fork Compound 就上线。要理解每一行代码、每一个参数的含义。Compound 的代码值得反复研读—— 是 DeFi 工程师值得花时间啃的源码之一。