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,本质上是同一枚硬币的两面。它们通过资金利用率联动。

我画了一张图,帮你理解这个关系:

利率与资金利用率关系图 资金利用率 U (%) 0% 80% 100% 利率 (%) U_optimal 借款APR 存款APY 利率缓慢上升 利率急剧飙升

从图上你能看到几个关键点:

  1. 存款APY永远低于借款APR:因为协议要赚利差(spread)。这个利差就是协议的收入来源。
  2. U在80%之前:两条曲线都比较平缓,利率温和上涨。这时候存款和借款都比较「舒服」。
  3. U超过80%:借款利率陡增,存款利率也跟着涨,但涨幅小一些。目的是快速降低U。
  4. 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