KEN:全面解读DeFi借贷:组成、公式、用例_Meta Rewards Token

原文标题:《DeFiLendingConceptsPart1:LendingandBorrowing》

原文作者:Tal

原文编译:Kxp,Blockbeats

这篇文章是三篇系列文章的第一篇,讨论DeFi借贷协议的工作原理——它们的关键组成部分、公式和用例。在这一过程中,我们将强调,尽管协议使用不同和创意的命名方式,但它们倾向于重复、迭代和分享核心概念。其中一篇本博客文章中详细介绍如何使用ERC?20?Token?来代表用户在借贷池中的份额。我们将从分析这些协议的独特元素开始,并提供技术概念来区分它们的工作方式。

借贷池

在传统金融中,借贷由第三方金融机构进行调整。这些金融机构被委托执行两项关键任务:强制借方向贷方支付利息,并评估并防止被认为是不可信的当事方参与这些活动。

相比之下,在去中心化金融中,第三方借款人和贷款人是不值得信任的。这种信任的缺失激发了一个创新的设计,用于在链上促进借贷过程。

借贷池是一个智能合约。DeFi协议用户可以存入资产,目的是使用该合约来借出他们存入的资产。其他用户可以与借贷池进行交互,享受即时贷款,即抵押在池中的资产进行借款。

与传统金融方法相比,借贷池在借贷方面具有一些重大的优点,例如:

·?在DeFi中,贷款不受贷款资金与借款金额1:?1可用性的限制。相反,来自协议所有用户的资金都被存入池中,从而创建了足够大的?Token?库存,以立即满足贷款需求。

·?DeFi不需要还款计划。贷款是根据以前存入的抵押品执行的,用户可以随时选择还款。

此时,你可能会想,「如果我不得不提供同等价值的资产作为抵押品,为什么要在借贷协议上借入资产?难道我不应该出售抵押品并购买所借资产吗?」

实际上,这种DeFi借贷协议似乎只允许完全抵押的贷款,为一个有趣的「交易」方法打开了大门:杠杆。

假设你对WBTC非常看好,非常确定它的价值会飙升!你可以在你最喜欢的借贷协议上存入一些WBTC,然后使用它来借入一些稳定币,然后用这些稳定币在某个交易所上购买更多的WBTC。在这种情况下,你暴露于WBTC的价值为1500美元,而你的初始存款只有1000美元。

但是,如果你把你的500美元的WBTC抵押品存入协议来借入更多的USDC呢?这个过程被称为超额杠杆,你可以一直这样做,直到你超出了你的借款能力,而协议的政策会阻止你这样做。

香港立法会议员提交“三箭三圆”政策倡议:全面推进数字经济及Web3发展:8月31日消息,香港立法会议员(科技创新界)邱达根提交 “三箭三圆”经济及科技发展政策倡议,并提出多项建议,包括由香港投资管理有限公司成立 50 亿元的“天使母基金”,刺激科创产业投资、推出“定额投资引进计划\",目标引进具潜力的成长期科技企业、成立“二级市场配对基金”,盘活二级资本市场、取消或下调股票印花税、发行代币支持新田科技城发展、加快推出零售层面数码港元、推出“港元稳定币“沙盒,以及提供政策诱因,鼓励私营机构发行合规的港元稳定币等等,希望借助市场力量,带动香港经济加速复元,并透过全面推进数字经济及 Web3 发展,为香港创造更多新动能。

邱达根议员表示, “三箭三圆”政策倡议旨在透过政府推出政策和带头应用更多创新科技,向外展示香港推动 Web3 的决心,将有助推动香港 Web3 生态圈发展,并可吸引全球 Web3 业务投资者来港,加速推进香港数字经济及 Web3 的进程。日前亦已将 “三箭三圆”政策倡议书以及另一份有关创新科技政策的建议书递交行政长官及相关官员考虑。[2023/8/31 13:09:18]

在类似的情况下,假设你对WBTC持悲观态度。你可以采取我们之前场景的相反操作,将USDC作为抵押品存入协议来借入WBTC,然后立即以更多的稳定币换掉它。如果你的预测成为现实,WBTC的价格下降了,你可以在交易所上以更便宜的价格购买相同数量的WBTC,偿还贷款并获得多余的USDC,从而打开WBTC的空头头寸。

份额?Token

与传统金融一样,将资产存入借贷池的用户会受到长期保留资金的激励,并获得存款利息。利息随时间累计,按用户在协议中的存款的百分比计算,并由其相应的存款用户声明。用户在借贷池中保留资产的时间越长,他们获得的利息就越多。

协议如何记录每个用户在池中的份额?当一个用户向池中存入资产时,他们的「份额」会稀释所有用户的份额,协议会相应地反映这一点。然而,协议不会直接跟踪和更新每个用户的池份额,而是仅处理存款人份额的变化,而无需每次提取或存入时主动更新其他用户的份额。

你可能会认为这个协议让你既能拥有蛋糕,又能吃掉蛋糕。但实际上不是这样的:

协议通过铸造和销毁ERC?20Token?来处理利息发放,我们称之为「份额?Token」,它代表了贷款池中一个贷方的份额。这种「份额?Token」设计自动调整其他「股东」的股份稀释,以反映「份额」的铸造和销毁,与他们的基础资产的存款或提取成比例。

数字人民币消费场景构建全面开花:11月12日消息,“试点场景超过350万个、累计开立个人钱包1.23亿个、交易金额约560亿元。”这是截至今年10月上旬,数字人民币试点的成绩单。日前,中国证券报记者在上海多个消费场景调研发现,数字人民币早已伴随各种消费场景飞入寻常百姓家,市场各类参与主体积极在“吃、住、行、游、购、娱、健”等方面搭建数字人民币使用场景,满足用户消费需求。

业内人士表示,随着数字人民币试点的不断推进,未来试点范围有望继续扩容,场景类型进一步丰富,同时数字人民币生态将更加完善,专业化分工与活跃度会得到大幅提升。(中国证券报)[2021/11/12 6:47:56]

下面,我们将提供不同协议如何使用「份额?Token」的实际示例,并讨论它们的相似之处。

aToken:AAVE的「份额?Token」

aToken是AAVE的收益生成?Token,由贷款池在存入和提取资产时铸造和销毁。

aToken是集成到AAVE协议中的类似于ERC?20的?Token,因此用户可以进入的每个不同市场都有一个对应的aToken。

如果我们查看AAVE借贷池合约,我们可以看到当用户向池中存入资产时发生的基本操作:

我们可以看到与用户存入的市场相对应的aToken将被称为「铸造」函数。

我们可以看到,实际要铸造的数量是:

如上图所示,在这个例子中,用户加入了一个已经在之前的存款中赚取了一些利息的市场。上面的方程式帮助我们理解这一点,因为它显示了如何使用全局指数来考虑所有用户的利息累计,这个指数会在各种操作时更新。

当用户提取他们的基础资产时,liquidityIndex将用作乘数来计算交易中所欠的?Token?数量。

以下是来自借贷池合约的相关代码片段:

四川省级“蜀信链”全面接入“星火·链网”国家级区块链基础设施:据官方消息,3月12日在四川成都举办的第二届区块链创新与产业发展峰会上,四川省区块链服务基础设施“蜀信链”全面接入“星火·链网”。中国信息通信研究院总工程师胡坚波出席峰会并致辞表示,中国信息通信研究院作为“星火·链网”的牵头建设单位,将与各方紧密合作,在成都推动“星火·链网”超级节点、骨干节点等落地建设,进一步促进四川省区块链应用创新与产业集聚,为区块链技术研究与应用发展、为推进西部经济高质量发展形成的新格局贡献力量。

“星火·链网”是区块链新型基础设施。此次,中国信息通信研究院工业互联网与物联网研究所、中国电子科技网络信息安全有限公司、四川省区块链行业协会、中关村区块链产业联盟将签署四方合作协议,推进“蜀信链”与“星火·链网”的共同发展。[2021/3/12 18:38:46]

在这里,aToken合约的balanceOf函数有点奇怪。毕竟,我们刚刚确定铸造的aToken数量与存入的基础资产数量不同。调用IAToken(aToken).balanceOf(address(user))如何产生用户即将提取的基础资产数量?原因如下:

·?当用户提取他们的资产时,他们的aToken将被销毁。这些已销毁的aToken保持其他用户所拥有的aToken的总量与他们的份额成比例,这些份额是在用户资产提取之后的。

·?用户提取资金的市场利率会随着每次提取而更新。

正如我们先前所述,aToken是类似于ERC?20的?Token。我们强调它们是「类似」ERC?20Token,因为它们的balanceOf函数具有独特的属性。在常规的ERC?20Token?中,balanceOf函数返回一个地址拥有的?Token?数量。

由于aToken代表池的份额,而不是直接的价值,因此aToken的balanceOf函数返回协议欠用户的基础?Token?的数量,以对其存款进行补偿。

公告 | BitMax全面升级交易API:BitMax.io(BTMX.com)平台上线全新交易API:

1. API界面全面优化,用户使用更方便。

2. 新增发送同步下单请求,用户可在下单请求中直接获取订单状态。

3. 同一websocket连接中可同时订阅多个币种,用户还可以选择订阅/取消订阅每个币种下的多种数据。

4. 更低延迟、更高稳定性。[2019/12/28]

在此,该balanceOf函数覆盖了继承的aToken合约中的balanceOf函数。结果,该示例逻辑中的balanceOf逻辑被执行,而不是用户?Token?数量的常规映射查找。

上述提到的?Token?数量然后乘以getReserveNormalizedIncome的结果,该函数执行以下逻辑:

我们可以识别此处的分支:

·?如果在该块中已经更新了保留数据:返回该市场的liquidityIndex值,因为它已经更新。

·?否则:我们需要看看calculateLinearInterest中发生了什么才能找出下一个流程。

当前市场的ReserveData对象中的currentLiquidityRate和lastUpdateTimestamp被传递到此函数中,函数的结果为:

让我们分解此方程式的组件,以更好地理解linearInterest值的要点:?

·?currentLiquidityRate:可以将其视为我们所在市场的年利率

·?block_{timestamp}-lastUpdatedTimestamp:自上次更新以来经过的时间

注意:由于我们在getNormalizedIncome中选择了第二个分支,因此在此时保证该值为正值。

因此,我们可以将此利息应计机制视为一个简单的利息复合机制,它在每个区块中进行复合。现在,我们已经确定了要为用户累计的利息金额,我们只需要将该值乘以流动性指数,然后在balanceOf函数中进行用户的规范化收入乘法:

声音 | 福建省委书记:大力发展区块链等新产业新业态,全面提升产业竞争力:据台海网消息,3月29日,福建省委书记于伟国在与在闽企业家、专家代表的交流座谈会上表示,创新创业创造对产业发展的引领推动作用日益显著。要通过激发创新创业创造动能,深入开展新一轮技改专项行动,进一步加快传统产业转型升级,大力发展大数据、物联网、人工智能、工业互联网、5G商用、区块链和光通信等新产业新业态,全面提升产业竞争力。[2019/3/30]

现在我们了解了aToken背后的逻辑,但我们仍然需要解决liquidityIndex的工作原理之谜。

在下面的示例中,liquidityIndex可以定义为一定时间内储备积累的利息:

回顾之前提到的liquidityRate变量-现在我们将讨论它在计算liquidityIndex中的使用。只有当liquidityRate大于0时,才会积累利息-换句话说,只有该市场中有任何APY时才会积累利息。这是有意义的。

让我们快速回顾一下calculateLinearInterest的实际操作:

上述逻辑可以转化为以下方程式:

正如我们可以在DefaultReserveInterestRateStrategy.sol合约中看到的那样,liquidityRate是通过以下方式定义的:

因此,可以写为:

整体借款利率在此定义为:

我们可以将其写成:

利用率可以定义为:

在定义利用率时,我们更容易考虑储备中流动性与市场中总流动性之间的比率,这可以简化为:

现在我们可以使用这两个定义来编写流动性指数的方程式:

由于totalBorrows在分子和分母中都存在,因此我们可以写成:

关于流动性指数的方程式,现在已经说得够多了,我们以后会再来讨论这个定义。

cToken:Compound的「份额?Token」

让我们继续我们下一个借贷协议示例,Compound。

Compound使用称为cToken的「份额?Token」来处理借款和放贷。这个?Token?为Compound协议中所有可用于用户借贷的资产进行记账。

与我们在AAVEV2中讨论的类似,Compound的「份额?Token」被铸造并用于赎回基础资产。

Compound使用的汇率类似于AAVEV2的流动性指数,以确定应铸造多少cToken。这个汇率是一个这样的函数:

让我来解释这里的关键术语:

·totalCash:cToken账户拥有的ERC?20基础?Token?的数量。?

·?totalBorrows:借款者借出市场上的ERC?20基础?Token?的数量。?

·?totalReserves:保留的一定数量的ERC?20基础?Token,可通过治理方式进行提取或转移。?

·?totalSupply:返回cToken的总供应量的ERC?20函数。

有了这个背景,我们可以写出Compound的汇率方程式:

当用户存入ERC?20Token?时,汇率决定了将铸造多少cToken作为回报:

要铸造的cToken数量由以下方程式定义:

eToken:Euler的「份额?Token」

为了进一步巩固这些协议之间的相似性,让我们再分析另一个借贷协议Euler,看看它如何处理借贷。

在下面的示例中,deposit函数允许用户存入ERC?20Token?以换取eToken。

正如我们所见,internalAmount是为此转移铸造的eToken数量。

与Compound的名字和函数exchangeRate又一次直接重叠。

让我来解释一下用于计算汇率的关键参数:

·?poolSize:使用基础资产的ERC?20合约中,以池合约地址调用balanceOf函数的结果。

·?totalBorrows:借出的ERC?20基础?Token?的总量,目前不在池中。

·?totalBalances:所有eToken持有者的总余额。

因此,方程式将是:

总结

我们已经涵盖了3个借贷协议:?

·?AAVEV2?

·?Compound?

·?Euler

我们已经检查了「份额?Token」的铸造方式,以及它们如何通过借贷池交换存款资产。

我们提出的三个方程式可以归纳为一个简单的方程式:

请记住,汇率可以按照协议定义的任何方式进行定义。这些任意的汇率可以增加铸造的?Token?数量,如果大于1则会减少数量。

在AAVEV2和Compound中,我们已经看到了someRate变量的一些相似之处。在Compound中,someRate是:

而对于AAVEV2,someRate的定义如下:

流动性指数的定义为:

虽然我们不能将每个协议的汇率归纳为一个式子,但对于AAVE?2和Compound,我们知道汇率是市场中总流动性的函数。回到我们的方程式,给定totalLiquidity是市场中ERC?20基础?Token?的总量,那么在exchangeRate表达式的分子中和liquidityRate的分母中的分子是功能上相同的。

简而言之:这些协议在本质上是相似的。虽然它们有时可能使用不同的术语,但当将它们分解为方程式时,每个组件在实现中都具有类似的目的。我们邀请读者随机选择一个借贷协议,并检查我们在此处讨论的归纳是否也适用于该协议。如果适用的话,请随时告诉我们。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-5:958ms