Aave V3 是一个非托管的、去中心化的流动性协议,允许用户通过智能合约进行加密货币的借贷,无需中介。Aave 本在V2的基础上进行了改进,包括跨链支持、e-mode 效率模式和高级风险管理工具等,旨在提高资本效率,并为用户提供更大的灵活性。文章还提供了在Sepolia测试网上进行实践的代码示例,并探讨了优化策略和收益示例
介绍
Aave V3 于 2022 年 3 月部署,标志着去中心化金融 (DeFi) 借贷协议的一个重要里程碑。作为 Aave 早期版本的演进,V3 提高了资本效率,引入了先进的风险管理工具,并为跨多个区块链的用户提供了更大的灵活性。Aave V3 的总价值锁定 (TVL) 已增长到超过 650 亿美元,支持以太坊、Polygon、Arbitrum、Optimism 和 Avalanche 等网络上的 20 多种资产。最近与 Ethena Labs 的 sUSDe 和 World Liberty Financial 的定制实例等集成,突显了其在成熟的 DeFi 格局中的适应性。
本指南探讨了 Aave V3 的核心架构、e-mode、其工作原理以及相对于 V2 的主要改进。我们将包括实际的代码示例、图表和一个托管流动性合约,以便在 Sepolia 测试网上进行实际操作。与 Compound V3 等协议的比较以及真实世界的用例(例如,收益率 6-10% APY 的稳定币挖矿)将突出其优势。无论你是构建 DeFi 应用程序的开发人员、优化收益的 LP,还是寻求低风险贷款的借款人,本文都将提供可操作的见解。
什么是 Aave V3?
Aave V3 是一种非托管、去中心化的流动性协议,可促进加密货币的借贷。用户可以提供资产以赚取利息或使用抵押品借款,所有这些都由智能合约管理,无需中介。与传统银行不同,Aave 在区块链网络上运行,确保透明度、不变性和全球可访问性。
在你的收件箱中获取 codebyankita 的故事
核心参与者:
- 供应商(贷方):将代币(例如 USDC、ETH)存入流动性池,以从借款人的利息中赚取收益。他们收到 aTokens(例如 aUSDC),随着时间的推移会累积价值。
- 借款人:锁定抵押品以借入资产,支付浮动或固定利率。过度抵押(例如,波动性资产为 150%)可以防止违约。
- 清算人:监控和关闭抵押不足的头寸,赚取奖金(例如 5-10%),以维持协议的健康。
- 治理参与者:AAVE 代币持有者对协议升级、风险参数和资产上市进行投票。
Aave V3 在 V2 的基础上(于 2020 年推出)构建,增加了跨链支持、效率模式和高级风险工具。它支持每个市场超过 20 种资产,TVL 分布为:以太坊(约 250 亿美元)、Polygon(约 150 亿美元)和 L2(合计约 250 亿美元)。与 BlockFi 等中心化贷方(2022 年破产)相比,Aave 的非托管模型消除了交易对手风险,尽管它引入了智能合约漏洞(通过审计缓解)。
Aave V3 协议如何运作
Aave V3 充当一个自动化的货币市场,其中供需动态地设定利率。以下是详细的细分:
- 提供流动性:
- 用户通过 Pool 合约存入资产。
- 该协议铸造 aTokens,代表对存款和应计利息的申索。
- 利息根据资金池利用率计算(例如,借款需求高 = 利率更高)。
2. 借入资产:
- 用户首先提供抵押品,然后根据抵押品借款。
- 智能合约强制执行 LTV 比率(例如,ETH 为 80%)和健康因子(HF = 抵押品价值 / 债务价值,必须 >1)。
- 利率:浮动(市场驱动)或固定(固定,但定期重新平衡)。
3. 偿还和提款:
- 借款人通过 Pool 偿还,解锁抵押品。
- 只要没有借款利用率阻止它,供应商就可以提取 aTokens 以获取基础资产。
4. 清算:
- 如果 HF <1(例如,由于价格下跌),头寸将变得可清算。
- 清算人偿还部分债务并以折扣价扣押抵押品。
5. 闪电贷:
- 用于套利的无抵押贷款;必须在一个 tx 中偿还 +0.09% 的费用。
详细的清算流程图:

跨链门户机制(分步):
- Aave V3 的门户功能可以使用 LayerZero 或 CCIP 等桥梁在网络之间(例如,以太坊到 Polygon)实现无缝资产转移。
- 发起转移:用户在源链上调用 bridgeCredit,销毁债务代币。
- 桥执行:协议使用桥(例如 CCIP)来发送消息和跨链资产。
- 目标铸造:在目标链上,铸造新的债务代币并记入用户。
- 结算:治理强制执行债务上限;L2 上的费用约为 0.10 美元。
- 风险控制:预言机同步价格;如果桥失败,则紧急暂停。
代码(简化的门户调用):
function bridgeCredit(
address asset,
uint256 amount,
uint16 destinationChainId
) external {
require(isBridgeEnabled(destinationChainId), "Invalid chain");
pool.burnCredit(asset, amount, msg.sender);
bridgeAdapter.bridge(asset, amount, destinationChainId, msg.sender);
}
这实现了高效的多链策略,例如在以太坊上提供并在 Optimism 上借款以获得更低的 gas 费用(0.0088 美元/tx)。
Aave V3 的主要改进
虚拟会计
V3 的虚拟层将内部跟踪与链上余额分开,防止因外部转移而导致的错误。
- 工作原理:使用用于供应的 rebasing aTokens 和用于借款的债务代币。
- 代码示例:
struct ReserveData {
uint256 liquidityIndex;
uint256 variableBorrowIndex;
}
function getNormalizedIncome(address asset) external view returns (uint256) {
return reserves[asset].liquidityIndex;
}
- 优点:节省 20-25% 的 gas 费用;处理空投而不影响收益。
E-Mode(效率模式)
适用于相关资产(例如,稳定币)。
- 类别:最多 255 个(例如,稳定币:DAI/USDC/USDT)。
- 改进:LTV 高达 97%(vs. 75%),清算阈值为 98%。
- 代码示例:
struct EModeCategory {
uint16 ltv;
uint16 liquidationThreshold;
}
function setUserEMode(uint8 categoryId) external {
userConfig[msg.sender].eModeCategory = categoryId;
}
- 用例:借入 970 美元的 USDC 以对抗 1000 美元的 DAI;非常适合杠杆循环(6-8% APY)。
隔离模式
适用于风险资产。
- 工作原理:将借款限制为具有债务上限的稳定币。
- 代码示例:
struct ReserveConfiguration {
bool isIsolated;
uint256 debtCeiling;
}
function setReserveIsolation(address asset, bool enabled) external onlyRiskAdmin {
reserves[asset].configuration.isIsolated = enabled;
}
- 优点:安全的资产入职;例如,新代币的上限为 100 万美元。
利率改进
用于动态利率的有状态策略。
- 模型:具有上限的基于利用率的曲线。
- 代码示例:
function calculateInterestRates(
uint256 utilizationRate
) external view returns (uint256 liquidityRate, uint256 borrowRate) {
liquidityRate = baseRate + (slope1 * utilizationRate);
borrowRate = liquidityRate + premium;
}
- 优点:防止 100%+ 的利率飙升;治理可以更新曲线。
风险管理和安全
- 上限:供应/借款限制(例如,WBTC 为 1000 万美元)。
- 清算:如果 HF <0.95 则清算全部头寸;奖金 5-10%。
- 预言机哨兵:L2 停机期间的 30 分钟宽限期。
- 孤立借款:限制为每个头寸一项资产。
- 代码示例(健康因子):
function getUserAccountData(address user) external view returns (
uint256 totalCollateral,
uint256 totalDebt,
uint256 healthFactor
) {
// Calculations based on oracles
}
智能合约设计
模块化和可升级:
- Pool.sol:核心逻辑。
- AToken.sol:供应商代币。
- DebtToken.sol:借款人债务。
- 优点:用于升级的代理模式;高覆盖率(792% 测试)。
托管流动性和透明度
- 非托管:用户控制密钥;合约持有资金。
- 透明度:通过 The Graph 子图进行链上数据。
- 托管示例:请参阅下面的实现。
治理和配置
- AAVE 持有者:通过论坛/Snapshot 提出 AIP。
- 角色:PoolAdmin(暂停池),RiskAdmin(调整参数)。
- 跨链:投票通过 LayerZero 桥接。
- 2025 年示例:sUSDe 集成的 AIP。
实施:托管流动性合约
此合约管理 Sepolia 上的 USDC/ETH 借贷,目标是 6-10% 的 APY。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@aave/core-v3/contracts/interfaces/IPool.sol";
import "@aave/core-v3/contracts/interfaces/IAToken.sol";
contract AaveV3LiquidityManager is ReentrancyGuard {
address public constant USDC = 0xYOUR_USDC_ADDRESS; // Sepolia USDC
address public constant WETH = 0xYOUR_WETH_ADDRESS; // Sepolia WETH
IPool public immutable pool;
struct Position {
address owner;
uint256 amountSupplied;
uint256 amountBorrowed;
uint256 healthFactor;
}
mapping(address => Position) public positions;
constructor(address _pool) {
pool = IPool(_pool);
}
function supplyLiquidity(address asset, uint256 amount) external nonReentrant {
require(amount > 0, "Invalid amount");
IERC20(asset).transferFrom(msg.sender, address(this), amount);
IERC20(asset).approve(address(pool), amount);
pool.supply(asset, amount, msg.sender, 0);
positions[msg.sender].amountSupplied += amount;
positions[msg.sender].healthFactor = pool.getUserAccountData(msg.sender).healthFactor;
}
function borrowAsset(address asset, uint256 amount) external nonReentrant {
require(positions[msg.sender].amountSupplied > 0, "No collateral");
pool.borrow(asset, amount, 2, 0, msg.sender); // Variable rate
positions[msg.sender].amountBorrowed += amount;
positions[msg.sender].healthFactor = pool.getUserAccountData(msg.sender).healthFactor;
}
function repayLoan(address asset, uint256 amount) external nonReentrant {
IERC20(asset).transferFrom(msg.sender, address(this), amount);
IERC20(asset).approve(address(pool), amount);
pool.repay(asset, amount, 2, msg.sender);
positions[msg.sender].amountBorrowed -= amount;
positions[msg.sender].healthFactor = pool.getUserAccountData(msg.sender).healthFactor;
}
function withdrawLiquidity(address asset, uint256 amount) external nonReentrant {
require(positions[msg.sender].amountSupplied >= amount, "Insufficient balance");
pool.withdraw(asset, amount, msg.sender);
positions[msg.sender].amountSupplied -= amount;
positions[msg.sender].healthFactor = pool.getUserAccountData(msg.sender).healthFactor;
}
}
在 Sepolia 上部署:
- 从 GitHub 导入 Aave V3 核心。
- 使用 Pool 地址(Aave Sepolia 测试网)进行部署。
- 测试:提供 1000 USDC,借入 800 USDC(E-Mode),监控 HF。
优化策略和收益示例
- 稳定币挖矿:供应 USDC(4% 收益率),在 E-Mode 中借入 DAI,质押以获得 6-8% APY。
- 杠杆循环:借入提供的 ETH,重新供应以获得 8-10%(风险 IL)。
- 跨链:在 Polygon 上供应(0.0075 gas),在 Arbitrum 上借入。
- 监控脚本(Python):
from web3 import Web3
w3 = Web3(Web3.HTTPProvider('https://eth-sepolia.g.alchemy.com/v2/KEY'))
pool = w3.eth.contract(address='POOL_ADDRESS', abi=POOL_ABI)
def get_health_factor(user):
data = pool.functions.getUserAccountData(user).call()
return data[5] / 1e18
print(get_health_factor('USER_ADDRESS'))
- 2025 年收益率:稳定币 4-6%,ETH 6-10%(Fusaka gas 降低后)。
安全注意事项和审计
- 重入/闪电贷:受到保护;闪电贷费用 0.09%。
- 预言机操纵:多个预言机(Chainlink、自定义);Sentinel 用于停机。
- 审计:由 OpenZeppelin(2022 年)、PeckShield(2024 年);1000 万美元的漏洞赏金。
- 风险:HF 因波动而下降;使用 >1.5 的缓冲来缓解。
- 工具:使用 Slither 进行静态分析,使用 Foundry 进行测试。
最新进展和未来展望(2025 年)
- Ethena Labs:sUSDe 集成提高了稳定收益率(5-7%)。
- World Liberty Financial:自定义 Aave 实例与 DAO 分享 20% 的费用。
- Fusaka 升级:以太坊 2025 年 11 月的更新将费用降低 70%,使 Aave 受益。
- V4 预览:Hub-and-Spoke 统一流动性;用于自定义利率的风险溢价。
- 预测:到 2026 年 TVL 将达到 1000 亿美元;专注于 RWA 和 AI 驱动的风险模型。
与其他协议的比较

Aave 在多链和风险工具方面表现出色;Compound 在简单性方面表现出色;Morpho 在自定义方面表现出色。
结论
Aave V3 以其高效、安全和灵活的设计树立了 DeFi 借贷的标准。E-Mode、隔离模式和虚拟会计等改进可实现更高的收益率(6-10% APY),同时最大限度地降低风险。托管合约简化了管理,使其对所有用户都可访问。随着 DeFi 增长到 3120 亿美元的 TVL,Aave 的创新(在 2025 年的集成和以太坊升级的支持下)使其能够继续保持领先地位。开发人员:在 Sepolia 上进行测试,彻底审计。LP:分散投资并监控 HF。借贷的未来是去中心化的、高效的和以用户为中心的——通过 Aave V3 拥抱它。






















