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
) {
}
智能合約設計
模組化和可升級:
- Pool.sol:核心邏輯。
- AToken.sol:供應商代幣。
- DebtToken.sol:借款人債務。
- 優點:用於升級的代理模式;高覆蓋率(792% 測試)。
託管流動性和透明度
- 非託管:用戶控制密鑰;合約持有資金。
- 透明度:透過The Graph 子圖進行鏈上資料。
- 託管範例:請參閱下面的實作。
治理和配置
- AAVE 持有者:透過論壇/Snapshot 提出AIP。
- 角色:PoolAdmin(暫停池),RiskAdmin(調整參數)。
- 跨鏈:投票通過LayerZero 橋接。
- 2025 年範例:sUSDe 整合的AIP。
實施:託管流動性合約
此合約管理Sepolia 上的USDC/ETH 借貸,目標是6-10% 的APY。
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;
address public constant WETH = 0xYOUR_WETH_ADDRESS;
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);
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 成長到3,120 億美元的TVL,Aave 的創新(在2025 年的整合和以太坊升級的支援下)使其能夠繼續保持領先地位。開發人員:在Sepolia 上進行測試,徹底審計。 LP:分散投資並監控HF。借貸的未來是去中心化的、高效的和以用戶為中心的——透過Aave V3 擁抱它。






















