青岛市网站建设_网站建设公司_服务器维护_seo优化
2025/12/26 20:58:30 网站建设 项目流程

项目背景

Aave 是一个去中心化借贷协议:用户可以存入资产赚取利息,也可以将资产作为抵押品借出其他资产,利率由市场供需自动调节,当抵押品价值不足时通过清算保护存款人。
Aave 在 DeFi 借贷市场中占据了 59% 的市场份额,并持有 DeFi 中 61% 的活跃借款规模。该协议今年还产生了 8.85 亿美元的手续费收入,占所有借贷协议手续费总额的 52%,甚至超过了其后五家竞争对手的总和。
在 2025 年 Aave 发布了 V4 版本,在此次版本更新中首次引入了 Hub-Spoke 架构、风险溢价因子和动态配置机制,优化了清算流程。在保持核心安全性的同时显著提升了资本效率、用户体验和治理灵活性。

  • AAVE V4 github:https://github.com/aave/aave-v4/tree/6959e3219b5506bf2acae18551cbb2a68a5b8fba

本篇文章的目标是展示 AAVE V4 版本相比较于 V3 版本做出了哪些创新与优化。需要对 AAVE 有个初步了解的可以阅读这份文档:Aave V3 Overview 。

新特性介绍

Hub & Spoke Architecture

AAVE V4 放弃了 V3 版本中的 Pool-AToken 的架构,改为了 Hub-Spoke 架构。

  • Hub 负责存储所有的代币资产,记录每个 Spoke 的资金使用情况,以及每种代币资产的利息。
  • Spoke 负责实现用户业务的逻辑,从 Hub 中调配资金,并记录每个用户的仓位情况。

用银行作为例子来说,Hub 的功能相当于总行金库,负责存储资金,记录分行的资金使用情况;而 Spoke 相当于分行营业窗口,处理客户的存款借款需求,并从金库中申请调配资金。

Hub 和 Spoke 之间的关系:多对多

  • 一个 Hub 的资产可被多个 Spoke 借用
  • 一个 Spoke 可从多个 Hub 借取不同资产

在实际应用场景中,为了避免流动性被分散的情况,建议每个币种只存在于一个 Hub 中。

image

Hub 可以通过 addSpoke() 添加多个 Spoke,并为每一个 Spoke 自定义配置参数。

image

而在 Spoke 中通过 addReserve() 函数添加 Hub 中的指定资产,添加后用户可以通过 Spoke 质押或借出该资产。

image

AToken

AAVE V4 取消了 AToken

当用户通过 Spoke.supply() 提供 Collectoral 时,直接在 Spoke 中记录用户获得的 shares,并没有 mint 对应的 AToken。

image

RiskPremium

AAVE V4 引入了一个新的 riskPremium 概念,它的功能是根据用户提供抵押品的风险,加收其借款利息,用以覆盖额外的抵押品风险。

riskPremium 概念通过以下两个变量实现:

  • UserPosition.premiumShares
  • UserPosition.premiumOffsetRay

image

它作用于借款资产产生的利息部分(而不是基于借款的金额计算),作为一个放大系数收取更多的利息。

其中,premiumShares 对应的是需要计算 premiumDebt 的 shares, premiumOffsetRay 记录的是开始借款未产生利息时的值,会在后续用来计算利息差额。

image

image

riskPremium 根据质押资产的风险系数计算得到:在进行 borrow 操作时,首先将抵押品按照风险从低到高排序(优先使用低风险质押品计算),然后计算所有抵押品的加权平均值。

image

Virtual Variables

AAVE V4 的数学库添加了两个虚拟变量用来防止未提供初始流动性导致的价格操纵攻击

  • VIRTUAL_ASSETS
  • VIRTUAL_SHARES

在计算股票和资产之间的兑换比例时,会添加上这两个变量进行计算,无需在池子状态为空时额外进行添加流动性操作来确保协议安全。

image

Liquidation Rate

AAVE V4 在清算时动态计算需要偿还的债务,目标是使得用户仓位的健康因子恢复正常。

在 V3 中清算者所清算的仓位比例根据该仓位的健康因子而定,健康因子大于 0.95 时最多清算 50% 债务,而小于等于 0 .95 时可清算 100% 债务。

而 V4 中,不再采用固定的清算利弊,而是采取了“最小清算”的策略,清算的比例取“用户总债务”,“清算者偿还金额”以及“恢复健康状态所需要偿还金额”之间的最小值。

  • params.debtReserveBalance:用户总债务
  • params.debtToCover:清算者偿还金额
  • debtToTarget:恢复健康状态所需要偿还金额

image

这个清算策略尽可能地保护了被清算者的资产,避免由于过度清算而导致被清算者遭受大量的资产损失。

Dynamic Config

在 AAVE V4 中,引入了 _dynamicConfig 来存储用户借款时的协议参数,避免后续修改参数影响已经存在的仓位。

在 V3 中,调整协议比例(如下调借款比例)会直接影响所有用户的仓位,可能导致已经存在的借款遭受清算。V4 版本中采用了 _dynamicConfig 变量来避免这种影响。

_dynamicConfig 通过二维 mapping 来实现:

  • reserveId:对应 reserve
  • dynamicConfigKey:版本号
  • DynamicReserveConfig:参数配置

image

其中 DynamicReserveConfig 具体配置的参数:

  • collateralFactor:借款金额占质押金额的比例
  • maxLiquidationBonus:最大清算奖励
  • liquidationFee:协议收取的清算手续费

image

应用场景:

在 borrow 流程中,会设置用户 collateral 的配置为最新配置。

image

当进行清算时,会根据 borrow 时记录的配置进行处理。

image

Deficit Handling

AAVE V4 引入了坏账处理机制用以明确记录坏账情况。

当 V3 产生坏账时,无法直接从协议的参数中显示坏账的情况,需要单独根据仓位进行计算,无法直接读取协议的总坏账情况。V4 为了解决这个问题引入了坏账处理机制,如果清算之后产生了坏账,则将坏账数量同步到相关的 Spoke 和 Hub 中。

image

将 Spoke 报告的无法收回债务从借款份额(drawnShares)转移到坏账记录(deficitRay),并停止该部分债务的利息累积。

image

Dust Handling

AAVE V4 引入了 Dust 机制来处理清算后质押品价值小于 1000 USD 的仓位。

V4 版本的清算目的是让仓位恢复到健康状态,如果仓位价值过小,则按比例获得到的清算收益不高。由于清算者需要支付清算的 gas 费用,所以会对小仓位的清算积极性不高。由此引入了 dust 机制,如果在清算到健康状态后的剩余质押品价值小于 1000 USD,那么清算者可以选择将该仓位全部清算,获取所有的质押品。

其次也是优化用户体验,避免用户账户中残留的质押品价值太小,即使提取出来也无法覆盖所需要的 gas 费用而被留存在协议中。

image

Oracle

AAVE V4 中 Oracle 与 Spoke 一对一绑定

在 V3 版本中,每个 Pool 对应着一个 Oracle,每种 asset 的价格统一由该 Oracle 获取,Oracle 的地址可以被更新修改。

而在 V4 中,Oracle 与 Spoke 一对一绑定的,在创建 Spoke 和 Oracle 时写入对方的地址,并且不可修改。

image

这就导致了不同的 Spoke 由于预言机配置不同,即使是在同一个 Hub 获得到的资产,也会出现价格不一致的情况。并且要求每个 Oracle 中返回的数据的 decimal 是相同的固定值,防止精度错配导致计算错误。

image

Sweep & Reclaim

Aave v4 引入了再投资机制,允许将闲置流动性投资到外部收益策略中以提高资本效率

reinvestmentController 可以通过 sweep() 函数从 Hub 中提取对应的 asset,用于外部收益策略的投资。

image

投资完成后,reinvestmentController 将之前提取的资产归还到 Hub 中,同时更新 liquidity 和 swept 的值。

image

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询