本文为开发者提供Aave V3 DeFi集成的建议,包括流动性管理、E-mode、孤立借贷模式等方面的安全注意事项,以及相关的资源链接,旨在帮助开发者更安全地进行Aave V3集成。还包括清算、供应、隔离模式、借贷等方面的建议。
AAVE V3 DeFi 集成提示
军官博客
我们将继续我们的指导文章系列,为使用 Aave V3 DeFi 集成 的开发者提供一些 特别 的建议!
blog.pessimistic.io\ \ blog.pessimistic.io
blog.pessimistic.io\ \ blog.pessimistic.io
在本文中,我们将介绍我们在审计此类集成过程中 多年来 获得的经验技巧 over the years。
你还将找到一个用于自学的工具和研究列表,我们强烈建议你单独阅读它,以便更好地理解!
blog.pessimistic.io\ \ blog.pessimistic.io
顺便说一句,这里有一些空缺,所以如果你的项目需要审计——请随时 write 给我们,访问我们的公共报告页面 here!
请务必阅读本系列的其他文章:
看看这个月永无止境的黑客攻击 month’s never-ending hacks,人们不禁想知道为什么它们如此 frequently 发生。
审计公司实际上在他们所做的事情上 gotten worse 了吗?
我们认为情况 并非 如此; 然而,这个话题相当棘手,因为在某些方面,你可以降低自己和项目的风险! 顺便说一句,我们正在团队中 working on such a solution,并希望尽快 it 交付:
blog.pessimistic.io\ \ blog.pessimistic.io
我们相信没有人会怀疑任何安全集成的基础都是编写代码的特殊方法。 因此,本文将只关注那些对使你的代码安全可靠真正有用的方面。
因此,下面你将看到的不是一篇典型的文章,而是一种知识系统化 ( SoK),其中我将依赖于我自己在这个问题上信任的作者,当然还有我们的 pessimistic.io 审计员!
这就是我们将在本文中介绍的关于在你的项目中使用 Aave V3 的内容!
由于其去中心化的性质,Aave 向那些原本没有资格获得贷款的用户提供贷款。 如前所述,Aave 用于创建 非托管流动性市场,以赚取供应和借贷资产的利息,利率可以是浮动或固定。
Aave 协议概述\ \ 浏览我们的开发者文档以开始使用。\ \ docs.aave.com
该协议旨在轻松集成到你的产品和服务中!
此外,Aave 专门使用超额抵押的想法,该想法指出 只允许用户借入不超过他们提供的抵押品价值的金额。
主要链接:
Aave V3 特有:
考虑到加密货币价格的不可预测性以及 Aave 在发放贷款时对抵押品价值的特别关注,这种设计决策是有意义的!
Aave 的工作原理是允许 点对池 贷款,其中存款人将其资产放入流动性池 (LP) 中,然后借款人可以从这些池中借款。
当将资金存入 LP 时,你会收到“ aTokens” 作为回报,用户可以使用它来获得从 LP 和 闪电贷 中获得的利息的一部分,并且可以随时兑换你的抵押品。
\
\
Aave V3 介绍\
\
简介 2019 年,第一个版本的 Aave 协议智能合约(“Aave 协议”)被部署到 Ethereu…\
\
governance.aave.com
简而言之,V3 市场提供更高的资本效率、更高的安全性以及跨链功能,同时促进协议的去中心化程度提高。 Aave V3 也带来了新功能!
在 V2 中,LP 由许多不同的底层代币组成,而 V3 中,“ E-Mode” 通过对价格相关的资产进行分组来最大化效率,而 “ 隔离模式” 将允许 Aave 风险管理员添加新资产,而不会将一般 LP 暴露于资产的风险中。
\
\
Aave 概述\
\
AAVE 允许任何以无需信任、无需许可、非托管的方式贷款/借用加密货币。 与 TradFi 系统不同,在 TradFi 系统中…\
\
mirror.xyz
贷款价值比、流动性阈值和健康因子 是决定 Aave 风险的三个主要值。
Aave 协议 V2 | Consensys Diligence\ \ 概要 本报告介绍了我们与 Aave 合作审核 Aave 协议版本 2 的结果。 审核…\ \ consensys.net
LTV 和 清算阈值 之间的差异充当借款人的安全缓冲,用于计算用户的健康因子。
如果用户的健康因子降至 1 以下,清算人可以偿还最多 50%(V3 中为 100%) 的借款金额并获得清算奖励。
\
\
AAVE-V3 错误代码解释\
\
如果你正在使用 Aave-v3,你可能会从智能合约中收到一些神秘的错误代码。 如果 …\
\
mirror.xyz
重要的是要提到 Aave 协议使用 Chainlink Aggregator 作为默认价格预言机来获取价格信息,并允许自定义将其他价格预言机设置为回退预言机。
blog.blockmagnates.com\ \ blog.blockmagnates.com
用户还可以使用 闪电贷,这使他们可以在不提供任何抵押品的情况下借款,只要在交易(或区块)结束时返还原始金额加上额外的 0.09% 的费用。
在 V3 中,AAVE 还启用了 Portal,它允许资产通过 approved bridges 在不同网络上的市场之间流动。
Aave 协议在以太坊区块链以及其他 EVM 兼容链(如 Avalanche、Polygon、Arbitrum、Fantom、Harmony 和 Optimism)上参与超额抵押的 Defi 借贷市场。
让我们开始我们自己的技巧吧! 我们希望你觉得今天的文章内容翔实且有帮助!
遵循以下提示可以显着提高项目集成的安全性!
blog.pessimistic.io\ \ blog.pessimistic.io
1. 根据用户的健康因子,你可以在 Aave V2 中清算 高达 50% 的债务,但在 V3 中可以清算高达 100% 的债务:
如果 HF <= 0.95,你可以清算高达 100%。
如果 HF > 0.95,则只能清算高达 50% 的债务。
2. 要获取用户的健康因子数据,请使用 Pool.getUserAccountData(address user)
3. 清算接口:以太坊使用 Pool.liquidationCall(),Optimism、Polygon 等使用 L2Pool.liquidationCall()。 debtToCover 参数定义了清算人想要覆盖的代币数量( debtAsset)。 你可以传递 uint(-1) 来清算所有可用债务。
4. 链接到包含清算的 Dune 仪表板。 这是 Aave V2 VS Aave V3 的链接 仪表板。
5. 还有一个 subgraph 服务来定义他们希望 The Graph 从区块链中索引哪些数据以及数据将如何存储。
6. Aave V3 错误代码
当抵押品和借入资产的价格相关时,E-mode 功能可最大化资本效率。
例如,DAI、USDC 和 USDT 都是与美元Hook的稳定币。 这些稳定币都在同一个 E-mode 类别中。 因此,在 E-mode 中提供 DAI 的用户在借入 USDC 或 USDT 等资产时将拥有更高的抵押品实力。
以下提示可以帮助你显着提高项目集成的安全性:
1. id=0 的类别是 默认 类别,它表示 e-mode 已被禁用!
2. Pool.setUserEMode(uint8 _id) — 用于将用户的效率模式设置为 id=_id 的类别。 当发生以下情况之一时,该函数将被恢复:
用户欠该类别中未列出的代币之一。
更改 e-mode 会将用户的健康因子转移到清算区(即 HF < 1)
此功能允许将 可能被操纵的预言机(例如,非流动性 Uni V3 交易对)的资产作为单一借贷资产列在 Aave 上,这意味着如果用户借入孤立资产,他们将无法借入任何其他资产。 这有助于降低与此类资产相关的风险,而不会影响协议的整体偿付能力。
下面提供的建议可以显着提高项目集成的安全性:
1. AaveProtocolDataProvider.getSiloedBorrowing(address asset) — 用于找出资产是否处于孤立借贷模式。
1. Pool.supply(address asset, uint256 amount, address onBehalfOf, uint16 referralCode) — 用于供应资产。 另请记住:
a-tokens 将被铸造到 onBehalfOf 地址。
在 referralCode 中,你必须输入 0,因为推荐代码功能目前处于非活动状态。
在调用时,Pool 合约必须具有来自 msg.sender 的代币数量的批准。
2. Pool.supplyWithPermit(asset, amount, onBehalfOf, referralCode, deadline, V, R, S) — 你必须记住执行 supply,具有 erc-2612 permit 签名。
3. 要将资产设置为抵押品,请调用 Pool.setUserUseReserveAsCollateral(asset, true).
4. Pool.withdraw(asset, amount, to) 用于提取用户的底层资产,其数量应使其健康因子不低于 1(最大值 — amount)。 它还会返回实际提取的代币数量(<= amount)。
1. 你可以通过 AaveProtocolDataProvider.getReserveData(asset) 获取所需资产的 借款利率。 调用将返回 tuple,其中 索引 7 和 8 将分别包含 可变 和 稳定 借款利率。 (缩放到 10²⁷)
2. Pool.borrow() — 如果不需要进行 信用委托,你必须将 msg.sender 发送到 onBehalfOf。
3. 要偿还所需数量的债务代币的贷款,请调用 Pool.repay(asset, amount, rateMode, onBehalfOf),其中 asset 是底层资产地址,rateMode 对于稳定利率等于 1,对于可变利率等于 2。 onBehalfOf 地址的债务代币被销毁,msg.sender 自行承担债务。 如果你支付自己的债务(永远不要发送空/零地址!),则必须传递 onBehalfOf=msg.sender。
4. AaveProtocolDataProvider.getReserveTokensAddresses(asset) 输出 a-token、稳定债务代币 和 可变债务代币地址。 债务代币地址对于信用委托非常有用!
信用委托使存款人可以将资金存入协议以赚取利息,并将借款能力(即他们的信用)委托给其他用户。
存款人和借款人就贷款条款达成一致,这可以通过法律协议在链下完成,也可以通过智能合约在链上完成。
请记住:
1. 要批准用户的贷款,请从相应的债务代币中调用 .approveDelegation(address delegatee, uint amount)。 然后,delegatee 可以使用 Pool.borrow() 委托金额的贷款。
隔离模式 允许 Aave 治理将新资产列为隔离资产,这些资产具有特定的债务上限。 只有某些资产可以在隔离模式下借用 — 具体来说,是经过批准的稳定币。
资产经过 AAVE 代币 持有者通过 Aave 治理论坛 投票后才能获得借贷批准。 隔离资产的债务上限表示为可以使用用户的抵押品借入的美元的最大金额,精确到小数点后两位。
请遵循以下准则,以确保你的项目与 Aave V3 的 DeFi 集成尽可能安全:
1. 虽然没有外部方法可以知道资产是否处于 隔离模式,但你可以获取 Pool.getConfiguration(asset) 返回的值 — 它是 uint256 — 然后从中读取 位 212-251,其中存储了 隔离模式 的 债务上限。 请记住,如果它大于零,则资产处于隔离模式。
用户可能不知道,你只需传递额外的第 4 个参数(用于调用的字节数组),即可将具有巨大流动性的 Uni-V2 稳定币对用作闪电贷来源。
Aave v3 contracts with The3D | Solidity Fridays - YouTube
Solidity Fridays
3.28K 订阅者
Aave v3 contracts with The3D | Solidity Fridays
Solidity Fridays
如果播放没有立即开始,请尝试重新启动设备。
分享
包含播放列表
检索分享信息时出错。 请稍后再试。
0:00
0:00 / 1:35:33 •
Aave V3 发布:更高的借款能力、跨链交易和改进的风险管理 - YouTube
The Defiant - DeFi、Web3 & NFT Insights 的照片
The Defiant - DeFi、Web3 & NFT Insights
131K 订阅者
Aave V3 发布:更高的借款能力、跨链交易和改进的风险管理
The Defiant - DeFi、Web3 & NFT Insights
如果播放没有立即开始,请尝试重新启动设备。
你已退出
你观看的视频可能会添加到电视的观看历史记录中,并影响电视推荐。 为了避免这种情况,请取消并在你的计算机上登录 YouTube。
分享
包含播放列表
检索分享信息时出错。 请稍后再试。
0:00
0:00 / 12:58 •
Aave 🛠 Aave 协议 V3 - YouTube
ETHGlobal
30.1K 订阅者
ETHGlobal
如果播放没有立即开始,请尝试重新启动设备。
你已退出
你观看的视频可能会添加到电视的观看历史记录中,并影响电视推荐。 为了避免这种情况,请取消并在你的计算机上登录 YouTube。
分享
包含播放列表
检索分享信息时出错。 请稍后再试。
0:00
0:00 / 24:39 •
Aave Developers Guide to the Aave Protocol - YouTube
ETHGlobal
30.1K 订阅者
Aave Developers Guide to the Aave Protocol
ETHGlobal
如果播放没有立即开始,请尝试重新启动设备。
你已退出
你观看的视频可能会添加到电视的观看历史记录中,并影响电视推荐。 为了避免这种情况,请取消并在你的计算机上登录 YouTube。
分享
包含播放列表
检索分享信息时出错。 请稍后再试。
0:00
0:00 / 28:46 •
我们希望本文对你有所帮助! 感谢你的阅读!
blog.pessimistic.io\ \ blog.pessimistic.io
支持对我来说非常重要,有了它,我才能做我喜欢做的事情——教育用户!
如果你想支持我的工作,你可以向我捐款到以下地址:
0xB25C5E8fA1E53eEb9bE3421C59F6A66B786ED77A 或 officercia.eth — ETH, BSC, Polygon, Optimism, Zk, Fantom 等
4AhpUrDtfVSWZMJcRMJkZoPwDSdVG6puYBE3ajQABQo6T533cVvx5vJRc5fX7sktJe67mXu1CcDmr7orn1CrGrqsT3ptfds — Monero XMR
- 原文链接: officercia.mirror.xyz/Dq...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!