
AAVE清算操作指南
AAVE 是一个 DeFi 去中心化贷款协议,人们可以使用多种加密资产作为抵押,向其申请贷款。目前能够作为抵押资产的加密资产包括 ETH、DAI、USDT、LINK 等十几种。
作为一个贷款协议,系统本身运行健康与否很大程度上取决于使用该协议进行的各种贷款是否健康。当所有的借款人都有足够的抵押品抵押时,整个系统拥有足够的偿还能力,系统是健康的;而一旦有借款人抵押不足时,整个系统就会增加风险,而一旦这样的借款人过多,整个系统的风险将进一步扩大。因此系统中需要清算人这一角色。清算人对不太健康的借贷(健康系数<1)进行清算,并为此获得抵押物总价值5%-15%的奖励。该奖励措施能够鼓励清算人及时清算不健康的贷款,从而保障整个系统的金融安全。
清算人参与清算有三种方式:
-
使用 AAVE 应用程序中的清算模块:
-
https://app.aave.com/liquidations
-
直接调用智能合约中的 liquidationCall() 方法
-
创建自己的自动化系统或者机器人来对贷款进行清算
鉴于方法一较为简单,按照应用内提示进行操作即可,本文重点讨论后两种。其中方法三也使用到了二的方法,即调用了智能合约中的 liquidationCall()。
触发清算的先决条件
在调用 liquidationCall() 方法时,我们需要知道几个条件:
-
健康因素低于1的账户。只有健康因素低于1的账户才会被清算。其中健康因素的计算方式为:
其中:
-
Collateral[i] in ETH: 折合成 ETH 计算的抵押的资产i的值
-
Liquidation Threshold[i]: 清算阈值,最大借出资产/总抵押资产
-
Total Borrows in ETH: 折合成 ETH 的借出的资产额度
-
Total Fees in ETH: 折合成 ETH 计算的所有费用
AAVE 采用的是 Chainlink 的喂价机制。
公式可总结为:健康因子与抵押物总和成正比,与借出物总额成反比。抵押物越多,健康因子越大,借款人偿付能力越强,该笔借贷越健康。反之借出物越多,健康因子分母越大,值越小,则表示借款人偿付能力越低,该笔借贷越不健康。只有健康因子低于1的账户才会被清算。
-
有了低于1的健康因子就可以触发清算条件。要清算某条具体的贷款,还需要知道该笔贷款的借款人地址、贷款金额和资产金额,确保自己有足够的余额帮助贷款人偿还债务。
要被清算的账户
只有健康系数低于1的账户才会被清算。有多种方式可以获到用户的健康系数:
-
使用链上监控
i. 监控 AAVE 协议发出的时间,并在本地保持用户数据的最新状态。每当用户和 AAVE 协议进行交互时(存款、还款、借用等),都会发出时间,这可以在链上监控到;
ii. 监控到用户地址后,就可以使用该用户的地址,在链上调用直接调用查询接口即可查询到 getUserReserveData()。
-
使用项目方的 API 进行查询(稍有延迟)
项目方提供了查询的 API:https://protocol-api.aave.com/liquidations?get=proto
执行清算
查询到要清算的账户后,我们就能计算可以清算的抵押物的数量。执行清算一般有两种方法:
-
编写一个智能合约,在智能合约中直接调用 AAVE 中的 liquidationCall() 执行清算
-
使用 Web3.js 等软件包进行调用
此处以 web3.js 为例:
-
// Import the ABIs,see:https://docs.aave.com/developers/developing-on-aave/deployed-contract-instances
-
import DaiTokenABIfrom "./DAItoken.json"
-
importLendingPoolAddressesProviderABI from"./LendingPoolAddressesProvider.json"
-
importLendingPoolABI from "./LendingPool.json"
-
// ... The rest ofyour code ...
-
// Input variables
-
constcollateralAddress = 'THE_COLLATERAL_ASSET_ADDRESS'
-
constdaiAmountInWei = web3.utils.toWei("1000","ether").toString()
-
const daiAddress ='0x6B175474E89094C44Da98b954EedeAC495271d0F' // mainnet DAI
-
const user ='USER_ACCOUNT'
-
constreceiveATokens = true
-
constlpAddressProviderAddress = '0x24a42fD28C976A61Df5D00D0599C34c4f90748c8' //mainnet
-
const lpAddressProviderContract= new web3.eth.Contract(LendingPoolAddressesProviderABI,lpAddressProviderAddress)
-
// Get the latestLendingPoolCore address
-
const lpCoreAddress= await lpAddressProviderContract.methods
-
.getLendingPoolCore()
-
.call()
-
.catch((e) => {
-
throw Error(`Errorgetting lendingPool address: ${e.message}`)
-
})
-
// Approve theLendingPoolCore address with the DAI contract
-
const daiContract =new web3.eth.Contract(DAITokenABI, daiAddress)
-
awaitdaiContract.methods
-
.approve(
-
lpCoreAddress,
-
daiAmountInWei
-
)
-
.send()
-
.catch((e) => {
-
throw Error(`Errorapproving DAI allowance: ${e.message}`)
-
})
-
// Get the latestLendingPool contract address
-
const lpAddress =await lpAddressProviderContract.methods
-
.getLendingPool()
-
.call()
-
.catch((e) => {
-
throw Error(`Errorgetting lendingPool address: ${e.message}`)
-
})
-
// Make the deposittransaction via LendingPool contract
-
const lpContract =new web3.eth.Contract(LendingPoolABI, lpAddress)
-
awaitlpContract.methods
-
.liquidationCall(
-
collateralAddress,
-
daiAddress,
-
user,
-
daiAmountInWei,
-
receiveATokens,
-
)
-
.send()
-
.catch((e) => {
-
throw Error(`Errorliquidating user with error: ${e.message}`)
-
})
设置一个清算机器人
以上即为清算的逻辑,在设计清算机器人时,按照以下步骤即可:
-
清算前需要计算,确保机器人自己有足够的资金能帮贷款人还清债务,也要计算能够获得足够的资金作为报偿;
-
考虑清算最有利可图的抵押品,不仅要考虑到贷款债务的金额,还需要把 gas 的成本计算在内,以此判断是否有足够的获利能力;
-
确保机器人访问的是最新版本的 AAVE 协议;
-
其他系统故障和资产安全等。
计算收益
-
获取抵押品的详细信息,例如抵押的用户、清算奖励比率等
-
获取抵押品的数量,并从预言机中获取到抵押品当前的总价值
-
最大清算奖励=抵押品总价值*清算奖励比例
-
计算交易需要的 gas 费用
-
最大获利=最大清算奖励减去gas 费用
清算奖励比例根据币种的不同而有所变化,一般来说,稳定币清算奖励相对较低,非稳定币价格则更高:https://docs.aave.com/risk/asset-risk/risk-parameters
来源:HashQuark社区
比推快讯
更多 >>- 以太坊 L2 TVL 回升至 330.8 亿美元,7 日涨幅 2.16%
- Coinbase 研究主管:所谓“史上 ETH 最大空头头寸”系严重夸大
- 说唱歌手 Drake 新歌中提及比特币
- 灰度:相信以太坊能够从美国加密货币友好政策转变中受益
- 下周宏观展望:特朗普关税“终审”倒计时
- 以太坊社区基金:致力于推动 ETH 达到 1 万美元,即将发布后续工作详情
- Sonic 空投第一阶段申领将于 7 月 15 日至 22 日期间随机开放
- 欧央行管委:欧元还未准备好挑战美元的全球储备货币地位
- 加密交易平台 NBX 完成 540 万挪威克朗融资,将用于增持比特币
- 1confirmation 创始人:全力支持 ETH,企业建立 ETH 财库或是好事
- 调查:78%的人表示特朗普的关税将使债务管理变得更加困难
- 柬埔寨与美国达成贸易协议,近期将发布对等关税的联合声明
- Vitalik Buterin:很多机构重视以太坊,以太坊将造福后代
- 众安在线完成 39 亿港元配售,旗下业务或将受益香港稳定币新政
- 疑似 Arthapala 的三个关联地址再次向币安充值 6789 枚 ETH
- 香港财库局长:稳定币储备资产只可放于优质、流动性高的资产
- 分析师:对新入场的公司而言,比特币财库策略的红利期或以结束
- 马斯克是否创建美国党投票已经有超 116 万人参与,65%赞成
- 过去 24 小时 CEX 净流入 5965.36 枚 BTC
- 香港财库局:正筹备发行第三批代币债券并推动贵金属等资产及金融工具代币化
- 徐明星回应账户误冻事件,承认合规系统存在误报问题
- 分析:DOGE 在 0.16 美元关键支撑位企稳
- 稳定币是什么话题登顶抖音热搜榜
- 以太坊上借贷协议的活跃贷款额达 226 亿美元,创历史新高
- 10xResearch:有猜测称休眠 14 年矿工巨鲸与比特币耶稣Roger Ver 有关
- 8 万枚“中本聪时代”比特币发生转移,总价值超 86 亿美元
- 瑞典上市公司 Fragbite Group 设立比特币资金业务部门并完成 48 万美元融资
- Bitdeer 上周比特币持仓新增 41.4 枚,总持仓量达 1527.5 枚
- RootData:Guild of Guardians 代币(GOG)24 小时涨幅达 42.99%
- 萨尔瓦多近 7 日共增持 8 枚 BTC,总持仓达 6228.18 枚
- Fragbite Group 达成 500 万瑞典克朗融资协议,拟支持购买比特币
- 特朗普:伊朗没有同意对其核项目进行检查,也没有同意放弃浓缩铀活动
- 赵长鹏:我进入加密领域的时机还是太晚了
- 黄山市黟县破获机票改签诈骗案,抓获加密货币洗钱团伙
- 特朗普:贸易信函已签署并将于周一发出
- 24 小时现货资金流入/流出榜:BTC 净流出 3.12 亿美元,ETH 净流出 1.5 亿美元
- RootData:G7 将于一周后解锁价值约 151 万美元的代币
- Project Hunt:公正实时的预测市场 Polymarket 为过去 7 天被 Top 人物取关最多的项目
- Bitcoin Treasury Capital:已获准在瑞典 Spotlight 股票市场上市,交易代码为 BTC
- Immutable:END 代币 TGE 已启动,申领已开放
- 某巨鲸地址昨晚或受恐慌情绪影响,将 1550 枚 BTC 转入 Binance
- Fragmetric 联创发文致歉,承认在 TGE 后的整体响应过于缓慢
- 数据:过去 24 小时全网爆仓 2.17 亿美元,多单爆仓 1.78 亿美元,空单爆仓 3920.49 万美元
- 10x Research:比特币 OG 钱包带来的潜在抛压,是比特币过去六个月难以实现显著涨幅的关键原因之一
- DoraHacks 发布黑客马拉松自动化智能体 BUIDL AI 3.0 版本
- 某个 2020 年囤积 WBTC 的巨鲸时隔 6 个月再次卖出 40 枚 WBTC
- 数据:超 30.4%的比特币在 5 年以上的时间里都未被动过
- 加密恐慌指数降至 67,市场贪婪情绪降温
- Binance Alpha 昨日交易量报 4.61 亿美元,BR、KOGE、BULLA 分列前三
- 数据:某巨鲸地址 8 小时前低位买入 1616 枚 ETH,价值约 403.8 万美元
比推专栏
更多 >>观点
比推热门文章
- Coinbase 研究主管:所谓“史上 ETH 最大空头头寸”系严重夸大
- 说唱歌手 Drake 新歌中提及比特币
- 灰度:相信以太坊能够从美国加密货币友好政策转变中受益
- 下周宏观展望:特朗普关税“终审”倒计时
- 以太坊社区基金:致力于推动 ETH 达到 1 万美元,即将发布后续工作详情
- Sonic 空投第一阶段申领将于 7 月 15 日至 22 日期间随机开放
- 欧央行管委:欧元还未准备好挑战美元的全球储备货币地位
- 加密交易平台 NBX 完成 540 万挪威克朗融资,将用于增持比特币
- 1confirmation 创始人:全力支持 ETH,企业建立 ETH 财库或是好事
- 调查:78%的人表示特朗普的关税将使债务管理变得更加困难