当前位置: 首页 > news >正文

AAVE V4 新特性简介:更细致地管理流动性与用户仓位

项目背景

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

http://www.jsqmd.com/news/145038/

相关文章:

  • AI CRM如何让你的销售流程自己跑起来,用AI激活销售漏斗
  • 面向 K8s 1.33 的 Linux 服务器深度运维实战(CentOS/RedHat/Ubuntu 通用)
  • mtr
  • 基于SpringBoot+Vue的图书馆选座平台设计与实现毕设源码
  • [省选联考 2021 A 卷] 矩阵游戏
  • 深入解析:《学习JavaScript数据结构与算法》核心知识点梳理
  • 如何复现论文中的大模型方法并解决实际问题
  • 基于微信小程序的维修服务平台的设计与实现
  • 腾讯游戏开局第一课课程笔记
  • 以茶叶取小名,萌到想贴贴[特殊字符]
  • springboot城镇保障性住房管理系统(11594)
  • 记录一下自己不会的单词,我一定会整明白你们的
  • cs50-linked list笔记
  • Claude-Mem:编程时的持久记忆压缩系统
  • springboot基于java的教学辅助平台(11595)
  • OpenAI 格式 API 通用接入说明(含 Cherry Studio 配置教程)
  • 7款免费AI写论文工具实测:知网维普查重一把过,不留AIGC痕迹! - 麟书学长
  • 大数据领域Kappa架构:全面解析与应用场景
  • Post-training with Tinker:定制语言模型的最佳解决方案
  • 告别“卡顿”与“依赖”,国产数据库文档兼容版:国产化替代的性能王者来了!
  • java计算机毕业设计校园车辆门禁管理系统 高校智能车行闸机云平台的设计与实现 基于SpringBoot的校园车辆出入与收费一体化系统
  • 百亿量化私募高薪急招C++,应届,社招都看春招/秋招/校招/社招,23/24/25/26届都可base北上杭深现招岗位:C++量化系统开发工程师年base40-80万+bonus通
  • 基于SpringBoot的房屋交易平台的设计与实现毕业论文+PPT(附源代码+演示视频)
  • 操作系统核心考点与解题模板全解析
  • 第三章 遗传物质的分子基础
  • 2025 四款 AI 平台推荐,谁最高效
  • 第四章 孟德尔遗传
  • 第九章 基因工程和基因组学
  • 2026游戏圈首战打响!谁能成为开年第一个爆款?
  • 第五章 连锁遗传和性连锁