4. 借贷协议收益模型:Aave与Compound的利率机制、存款APY与借款APR的博弈
借贷协议,说白了就是DeFi世界的「银行」。你把钱存进去赚利息,别人借钱付利息。但这里面的门道,比传统银行复杂得多。我最早研究Compound时,就被它的利率曲线搞晕过——怎么存款利率还会上下波动?后来踩过坑才明白,这背后是供需博弈的数学游戏。
4.1 利率机制:资金利用率才是核心
不管是Aave还是Compound,利率都不是拍脑袋定的。它们都围绕一个核心指标:资金利用率(Utilization Rate, U)。
公式很简单:
U = 总借款额 / 总存款额
U越高,说明借出去的钱越多,资金越紧张。这时候利率就得涨,吸引更多人存钱,劝退借钱的人。反过来,U低的时候利率就降。
我举个例子你就明白了。假设一个池子有1000万USDC存款,其中800万被借走了。U = 80%。这时候利率会比较高。如果突然有人还了200万,U降到60%,利率就会跟着降。
嗯,这里要注意:U永远不会超过100%。因为借出去的钱不可能超过存款总额,这是协议硬性规定的。
4.2 Compound的利率模型:分段线性
Compound用的是分段线性模型。说白了,就是画一条折线。
它有一个「最优利用率」的概念,通常是80%。在这个点之前,利率缓慢上升;过了这个点,利率急剧飙升。
具体公式:
// 借款利率
if U <= U_optimal:
borrow_rate = base_rate + U * multiplier
else:
borrow_rate = base_rate + U_optimal * multiplier + (U - U_optimal) * jump_multiplier
// 存款利率
deposit_rate = borrow_rate * U * (1 - reserve_factor)
参数解释:
- base_rate:基础利率,通常2-5%
- multiplier:斜率,控制利率上升速度
- jump_multiplier:超过最优利用率后的「惩罚斜率」,通常很高
- reserve_factor:协议预留比例,一般10-20%
我在项目中遇到过一个问题:Compound的利率曲线是硬编码的,不能动态调整。如果市场突然波动,比如USDT脱锚,资金利用率瞬间冲到95%,利率会飙升到100%以上。这时候借款人的清算风险极高。
核心要点:Compound的利率模型是「先缓后急」。80%利用率之前,利率温和上涨;超过80%,利率陡增,目的是快速抑制借款需求。
4.3 Aave的利率模型:分段线性 + 优化
Aave的模型和Compound类似,也是分段线性。但它做了几个优化:
- 最优利用率可调:不同资产可以设置不同的U_optimal,比如稳定币设80%,ETH设70%
- 利率斜率可调:治理投票可以修改参数,更灵活
- 引入了「稳定利率」:借款人可以选择固定利率,但需要支付溢价
Aave的利率公式:
// 可变利率(Variable Rate)
if U <= U_optimal:
borrow_rate = base_rate + (U / U_optimal) * slope1
else:
borrow_rate = base_rate + slope1 + ((U - U_optimal) / (1 - U_optimal)) * slope2
// 稳定利率(Stable Rate)
stable_rate = borrow_rate + premium
你看,Aave把斜率分成了slope1和slope2。slope1控制正常区间的上升速度,slope2控制过载区间的惩罚力度。这样设计更精细。
我曾经帮一个项目做利率参数优化,发现Aave的稳定利率其实是个「坑」。表面上利率固定,但如果市场剧烈波动,协议会通过治理投票调整稳定利率。说白了,它并不是真的「固定」,只是调整频率比可变利率低。
避坑指南:我曾经以为Aave的稳定利率是锁死的,结果遇到一次治理投票,稳定利率从8%直接调到15%。所以别把稳定利率当「定心丸」,它只是「相对稳定」。
4.4 存款APY与借款APR的博弈
存款APY和借款APR,本质上是同一枚硬币的两面。它们通过资金利用率联动。
我画了一张图,帮你理解这个关系:
从图上你能看到几个关键点:
- 存款APY永远低于借款APR:因为协议要赚利差(spread)。这个利差就是协议的收入来源。
- U在80%之前:两条曲线都比较平缓,利率温和上涨。这时候存款和借款都比较「舒服」。
- U超过80%:借款利率陡增,存款利率也跟着涨,但涨幅小一些。目的是快速降低U。
- U接近100%:借款利率可能超过100%,存款利率也到50%以上。这时候市场极度紧张,清算风险极高。
我的经验:如果你看到某个池子的存款APY突然飙到30%以上,别急着冲进去。先看看U是多少。如果U超过90%,说明资金极度紧张,很可能马上有人被清算。这时候存款虽然收益高,但提款可能被卡住(因为借出去的钱还没还回来)。
4.5 实际案例:USDC在Compound和Aave上的利率对比
我拿2023年10月的数据做个对比。当时USDC的U在70%左右。
| 参数 | Compound | Aave |
|---|---|---|
| U_optimal | 80% | 80% |
| base_rate | 2% | 1% |
| slope1 / multiplier | 10% | 8% |
| slope2 / jump_multiplier | 100% | 80% |
| U=70%时借款APR | 2% + 70%*10% = 9% | 1% + (70%/80%)*8% = 8% |
| U=70%时存款APY | 9% * 70% * 0.9 = 5.67% | 8% * 70% * 0.9 = 5.04% |
| U=95%时借款APR | 2% + 80%*10% + 15%*100% = 25% | 1% + 8% + (15%/20%)*80% = 69% |
| U=95%时存款APY | 25% * 95% * 0.9 = 21.38% | 69% * 95% * 0.9 = 58.99% |
你看,U=70%时两个协议利率差不多。但U=95%时,Aave的利率远高于Compound。这是因为Aave的slope2设计得更激进。我个人的习惯是:如果预测U会飙升,选Aave存款收益更高;如果预测U会稳定,选Compound更稳妥。
4.6 存款APY与借款APR的博弈策略
作为存款人,你希望APY越高越好。作为借款人,你希望APR越低越好。但这两者是矛盾的。怎么玩?
我总结了几种常见策略:
- 存款策略:监控U的变化。当U从低位快速上升时,说明借款需求在增加,APY即将上涨。这时候存入,可以吃到上涨红利。
- 借款策略:在U低的时候借,利率便宜。但要注意,如果U突然上升,你的借款利率也会涨,可能触发清算。
- 套利策略:在Aave和Compound之间搬砖。比如Aave的存款APY比Compound高1%,你可以从Compound借出资金,存入Aave,赚取利差。但要注意gas费和滑点。
- 循环贷策略:存入资产 -> 借出稳定币 -> 再存入 -> 再借出。通过杠杆放大收益。但风险也成倍放大,清算线很近。
我曾经踩过的坑:有一次我看到Compound的DAI存款APY到了15%,觉得是机会,直接存了10万DAI。结果第二天U从85%降到60%,APY直接掉到4%。我这才意识到,原来是有个大户还了借款。所以别只看当前APY,要看U的趋势。
4.7 风险提示
借贷协议不是无风险的。我列几个常见的:
- 智能合约风险:代码可能有bug。Aave和Compound虽然审计过,但历史上也出过小问题。
- 清算风险:借款人的抵押品价格下跌,会被清算。存款人虽然不受直接影响,但大量清算会导致U剧烈波动。
- 利率风险:利率可能突然飙升或暴跌,影响你的收益或借款成本。
- 流动性风险:当U接近100%时,存款人可能无法立即提款。虽然协议有「提款排队」机制,但等待时间不确定。
嗯,最后说一句:借贷协议的核心是资金利用率。理解了U,你就理解了利率的涨跌逻辑。下次看到某个池子APY很高,先查U,再决定要不要冲。
一句话总结:存款APY和借款APR是资金利用率的函数。U越高,利率越高;U越低,利率越低。理解这个博弈关系,你才能在借贷市场里游刃有余。
公众号:蓝海资料掘金营,微信deep3321