mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
交易所 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

一文了解DeFi项目之Aave

收藏
分享

过去的P2P一般指person to person的借贷形式,这种借贷有三种角色借款人、存款人和中介平台。借款人在中介平台上发布借款信息,中介审核信息然后存款人出借资金给借款人。相比传统的在银行存款和借款,P2P一般有以下特点:

  • 借款人无抵押

  • 存款人的资金直接转移给借款人,没有资金池

  • 通过互联网的挂单和吃单形成交易,效率要比银行高的多

由于借款人无抵押(但常常需要中介审核借款人的资产水平,比如房产、汽车等)所以存款人就需要冒很大的风险,而一般的中介平台往往没有能力做到对借款人的尽职调查。Defi中的借贷产品比如Aave和Compound一般都是person to pool,这点跟银行类似,存款人先把钱给银行,然后由银行放贷给借款人。Defi中要借贷必须有足额的抵押,虽然都需要抵押,但是Defi的抵押品的估值成本非常低,而银行往往要找专业机构对抵押人的资产进行估值。

类别 银行 P2P Defi
是否需要抵押 需要 不需要 需要
抵押品范围 广 广 仅限数字资产
是否有资金池 没有
放款速度 较快 瞬时
中介成本 较高
是否有存款利率 没有 没有

在Aave中存款人将币存入Pool中,比如存100个 ETH ,那么这个存款人就有能力从Pool中借走其它的资产。Aave会限定借款的比率,比如存100个ETH最多可以借走其它价值50个ETH的资产。Aave还会设置清算的比率,比如当借走的资产上涨到了80个ETH时就会面临清算的风险。整个流程跟你向银行抵押房产借人民币类似,不同的是银行给房产估值然后再给你放款的时间是较长的,如果房产贬值银行需要拍卖房产变现的时间也是较长的。而在类似Aave这种去中心化借贷的Defi项目中,给抵押品估值和拍卖抵押品一般都是瞬时的,这点既提高了借款人的放款效率,也提高了对存款人的保护。

体系结构

Aave协议如下图所示:

User向LendingPool存入资产会得到对应的aToken,比如存入DAI能得到aDAI。aToken是有息资产,随着时间的增长aToken上的存款收益会增加其净值也会增加。当User在aToken净值为1时存入100个DAI会得到100个aToken,等到aToken的净值增长到1.2赎回100个aToken则会得到120个DAI。User在有足额抵押或者授信之后可以从LendingPool中借出资产,借出资产的同时会收到对应的dToken(Debt token)。跟aToken类似,dToken也有净值,比如在dToken净值为1时借出100个DAI会收到100个dToken,随着时间的增长dToken会累积借款利息,等到dToken的净值增长到1.2时,还款时销毁100个dToken需要向LendingPool偿还120个DAI。

Aave中的资产价格依赖Oracle提供,固定借款利率也由Rate Oracle提供,系统中的一些控制参数比如active、freeze等由Configrator合约设置。

利率

如果你打开Aave的官网,你能看到各种资产的存款和借款利率如下图所示:

在Aave中如果没有借款,则就没有收益也就无从有存款年收益率,这点跟银行不一样,银行即使没有借贷收入也会按照存款利率支付利息。实际上Aave的代码中并没有某个币种存款年收益率这样的变量,只配置了借款年利率(对于可变借款模式来说配置的是基础利率,对于固定借款模式来说依赖Rate Oracle来提供)。存款收益率来源于借款利率,两者之间的利差是利息累积的计算方式的不同产生的。存款收益采用单利(Simple Interest)计算,借款利息采用复利(Compound Interest)计算。

假如从LendingPool中借走100个ETH,借款年利率是10%,借5年,采用单利计算的利息是:

而采用复利计算的利息是:

可以看到复利计算的利息会比单利高,两者之间的利差就是Aave这个产品的收入。

借款利率跟资产利用率正相关,资产利用率越高表示资产的需求越旺盛,因此借款利率应该也要越高。Aave中利率的更新时重新计算得到的利率与资产利用率关系如下图所示:

当资产利用率超过一个阈值Uo时,利率增长的速度会更加快,因此实际的利率曲线是两段曲线,随着U的变大其斜率也会越来越大,以可变借款利率为例,如图所示:

在Aave的首页上我们可以发现DAI的存款利率为9.45%,可变借款利率为17.97%,两者之间差8个百分点,难道Aave的收入如此之高?实际上不是的,在Aave中存款的收益率=借款利率*资产利用率,比如说存100个DAI,其中50个DAI借出去了,这50个DAI的借款利率是10%,但这部分借款的利息是归所有存款的,因此存款的收益率也就只有5%,实际上Aave的收益率不会有这么高。

净值

净值这个概念常用于基金中,比如基金净值为1时,花100块钱就能得到100份,当基金净值为2时花100块钱只能得到50份,如果净值又下降到1.5,那么50份基金只值75块钱。在Aave中每种资产都有两个净值,分别是aToken的净值和variableDebtToken的净值。通过净值就可以很方便的计算出用户存款的收益和可变利率借款需要支付的利息。当aDAI的净值为1时存入100个DAI能得到100个aDAI,等到aDAI的净值上涨到1.2时,销毁100个aDAI能得到120个DAI。类似的当varaibleDebtDAI的净值为1时借100个DAI能得到100个varaibleDebtDAI,等到varaibleDebtDAI上涨到1.2时,需要还120个DAI才能销毁100个varaibleDebtDAI。

前文提到过aToken的净值累积按照单利计算,varaibleDebtToken的净值累积按照复利计算。假定aToken当前的净值是LI(t-1),当前每秒的存款收益率为r,则经过一段时间dt(从t-1时刻到t时刻)之后新的LI(t)为:

假定varaibleDebtToken当前的净值为VI(t-1),当前每秒的可变借款利率为r,则经过一段时间dt(从t-1时刻到t时刻)之后新的NI(t)为:

aToken

aToken是存款凭证,用户在存款时LendingPool会给用户发放资产对应的aToken,持有aToken可以获得借贷产生的利息收入。有借才有借款利息,然后才有存款收益,借的越多资产收益率就越高。在取款时用户将aToken交给LendingPool进行销毁,然后按照aToken净值*aToken的数量转给用户对应的资产。LendingPool会检测用户是否能销毁aToken,如果用户没有借款当然可以取款,如果用户有借款并且在取款之后用户依然有足额的抵押品来担保债务则也可以取款。

如果取款时恰好池子中的资产没有那么多怎么办呢?这个没有办法,如果取款数量超过池子中拥有的资产数量则取款会失败。但是利率会随着借贷数量的增加而越来越高,这会迫使借款人及时还款,否则将会面临被清算的风险。

将存款代币化的好处是可以流通,比如aToken可以去其它的项目进行流动性挖矿或者质押,能给用户带来更多的收益。虽然aToken可以自由转移,但是一定要注意转移之后自己的债务是否有足额的资产进行担保,否则债务会被清算掉。

用户有了抵押品之后可以自己去借贷,也可以把借贷额度给其它用户,这个过程叫授信,被授信的用户就可以从Aave中进行无抵押借贷了。比如下面的场景都可以用到授信无抵押借贷:

  • 使用冷钱包进行存款,然后授信给热钱包由热钱包进行借款和还款,冷钱包就无需再频繁的触网。

  • 金融机构可以开展信用借贷,比如用户在支付宝上的信用很好,支付宝就可以授信给用户,用户能直接从aave上借钱。

dToken

dToken有两种分别是stableDebtToken和variableDebtToken,对应着固定利率借款和可变利率借款。可变利率借款的好处是当市场借贷需求较低时利率会比较低,不过缺点是随着借贷需求的增加所有借款人的借贷利率都会增加。比如用户在DAI的可变利率为1%时借了100个DAI,等过了1个星期DAI的借款利率上涨到了5%,则用户只有在这7天内的利息是按照1%计算的,之后的利息就会按照5%计算。

对于打算长期借贷的用户来说,可变利率将使得他们的资金成本不可控,因此固定利率借款的优势就体现出来了。Aave的固定利率由Rate Oracle提供的基准固定利率和当前的资金利用率决定。用户可以持有多笔固定利率借贷,多笔借贷的利息按照加权平均利率计算,比如:


借贷次数 系统固定利率 用户借贷数量 用户借贷平均利率
第一次 2% 100 2%
第二次 5% 200 4%=(200*5%+100*2%)/300


固定利率借款时的额度不能超过资产剩余可借额度的25%,而可变利率借款没有这个限制。因为可变利率借款随着使用率的增加借贷利率会急速上升,借款人把所有的资产借空的代价很高。一般情况下固定借贷的利率>可变借贷的利率>存款利率,如果固定利率借贷不受限制,则可以将剩余资产以固定利率借走很大一部分。此时由于资产利用率上升会导致可变借贷利率和存款利率都上升,甚至可能会出现可变借贷的利率>存款利率>固定借贷的利率的情况。然后用户可以将固定利率借出来的资产再存进去产生套利,而损失则由可变利率借贷的用户承担。

用户可以将自己的可变利率借贷和固定借贷利率进行互换,比如将可变利率换成固定利率就是牺牲借贷利率的稳定性获得借贷成本的降低,反过来则是提升借贷成本获得借贷利率的稳定性。如果Aave出现固定借贷利率低于可变借贷利率的情况,理性的用户都应该将可变利率借贷换成固定利率借贷。

固定借贷的利率有可能会被Aave强制性的重新调整,比如刚开始在固定借贷利率较低时有用户借了很多固定利率的资产,后来这种资产的需求增加使得可变借贷利率上升,但是由于大量的资产以较低固定利率借走了导致存款收益率并不是很高,这样会伤害存款用户的利益。当资产的利用率超过95%,并且存款利率不及可变借贷利率最大值的40%时,用户的固定借贷利率会被重新调整到最新值。

dToken虽然也是一种ERC20代币,但是并不能进行transfer,approve等操作,也就说债务并不能在不同的用户间转移。

闪电贷

可以通过Aave进行闪电贷,可以同时借出多种资产,只需要付出0.09%的手续费。闪电贷的流程如下:

上述流程只描述了闪电贷的常用模式:借了之后立即还款。Aave还支持借了之后不用立即还的模式,也就是像普通的借贷一样,只要抵押品足够就行。通过闪电贷可以做如下的操作:

  • 套利。资产在不同的去中心化交易所中的价格随时会存在价差,比如LINK在Uniswap中的价格是100DAI,而在Bancor中的价格是105DAI,那么可以通过闪电贷借1个LINK给receiver合约。在receiver合约中将LINK在Bancor中卖掉得到105DAI,然后在Uniswap中买入1个LINK还给Aave,最后能得到5个DAI的收益(不考虑网络交易手续费和各个去中心化交易所的交易费用)。

  • 抵押资产交易。假如Alice在LendingPool中存入了100个LINK和20个UNI,现在她想把LINK和UNI都换成AAVE。常规做法是先把LINK和UNI从Pool中取出来,然后去Uniswap这样的去中心化交易所兑换成AAVE,然后再存到Pool中。上述操作需要多个交易才能完成,而使用闪电贷可以一个交易就完成。Alice通过闪电贷先借100个LINK和20个UNI发送给receiver合约,在recevier合约中将LINK和UNI换成AAVE后存到Pool中。Alice会在闪电贷的参数中增加approve签名,这样receiver合约就能将Alice的aLINK和aUNI赎回成LINK和UNI,最后偿还闪电贷借出来的LINK和UNI。

  • 使用抵押资产来偿还债务。假如Alice在LendingPool中存入了LINK,Alice后来从Pool中借了UNI,如果要还UNI正常的流程是需要将UNI转给Pool。假如现在Alice手中的UNI都亏掉了,没有UNI可以偿还贷款,Alice可以使用闪电贷先借出LINK给receive合约,然后在receive合约中去Uniswap上卖掉换成UNI,得到UNI之后转到Pool来偿还债务。Alice会在闪电贷的参数中增加approve签名,这样receiver合约就能将Alice的aLINK赎回成LINK偿还闪电贷借出来的LINK。

清算

Aave中给每个资产都设置了两条线:ltv(loan to value)和liquidityThreshold,ltv<liquidityThreshold。ltv是指资产的借贷能力,liquidityThreshold是指资产对债务的担保能力。比如存款价值100个eth,ltv是30%,liquidityThreshold是60%,则最多只能借出价值30个eth的债务,假如债务随着价格的变动增长了,那么当债务的价值达到60个eth时这种资产的存款就会被清算。

用户可以在Aave中存入多种资产,也可以借多种资产,存入的资产可以选择是否作为债务的担保,如果不做担保,则即使债务被清算时也不会波及到,这样做相当于给存款做了一个保护。只有当总债务跟总担保资产的比超过清算线时债务才可以被清算,每次清算只能清算一种担保的存款资产。

清算时的最多能清算掉债务人50%的债务,优先清算可变利率的贷款,然后再清算固定利率贷款。清算能得到一定的奖励,Aave中每种资产都有一个liquidationBonus属性,比如liquidationBonus=105%,清算价值100个ETH的债务将能得到价值105个ETH的抵押品资产,清算收益为5%。

安全问题

每个Defi项目都会面临各种各样的安全问题,对于Aave的业务来说有一些特定的安全问题需要考虑:

  • 能否存进去低价值借出高价值的资产?低价值就跟Oracle的报价有关,比如链外市场上UNI的价格是100DAI,而Aave中如果Oracle给的报价是1000DAI,则存入UNI就能借出比实际价值高很多的资产。这种报价风险是有的,不过Aave对报价采用了双重保险机制,首先报价由Chainlink提供,如果Chainlink的报价有问题,价格会由Aave自己提供的oracle提供。

  • 能否存进去低流动性的资产?如果可以的话就可以随便拉升某个垃圾币种的价格,然后存入这种垃圾币,把流动性好的资产借出来。在Aave中能够被作为存款的资产并不是开放式的,Aave的治理组织会控制哪种资产能进入LendingPool。不同资产的ltv也不一样,高流动性的资产ltv才高。

  • 能否控制利率,使自己借某种资产的利率极低?借款利率跟资产利用率有关,资产利用率越低借款利率就越低,要人为的压低资产利用率就必须要存入大笔的资产。比如DAI这个资产当前的存款量是1000个DAI,由Alice存入,市场上公允的借贷利率是5%。此时如果Bob存入100万个DAI,然后借走1000个DAI,则由于资产利用率极低(为0.1%)导致借贷利率就会很低,那么Bob就可以用远低于5%的资金成本使用这1000个DAI,这会损害前面存款人(Alice)的利益。Aave中考虑到了这种大户侵害小户利益的问题,处理的办法是Bob可以借DAI,但是Bob必须借出超过他存款的DAI,也就是要么不借,要么借的量要超过100万DAI。

  • 是否会出现借款利率比存款利率低的问题?是有可能出现的,固定利率是随行就市的,每次新产生的固定利率贷款都能反映当前市场上资产借贷利率的公允值。但是如果早期的固定利率比较低,后来资产的借贷需求高了导致存款利率上升,就可能出现当下的存款利率高于早期的固定借贷利率。一般情况下这是允许的,毕竟借贷利率是固定的,不可能随随便便就把用户的固定利率贷款变更利率。只有当资产的利用率超过95%,并且存款利率不及可变借贷利率最大值的40%时,早期那些低利率的借贷才会被重新调整固定借贷利率,这也是Aave对存款人利益的一种保护。

  • 能否抬升可变借贷利率使可变借贷利率贷款的担保不足,然后通过清算债务获利?理论上是可以的,尤其是资产收益率在超过Uo之后的增长速度会快很多,不过债务要达到清算线需要累积利息,而这是需要时间的。抬升利率依然也需要付出利息,而清算债务的收益并不是特别高,所以实施这种攻击需要对特定的高负债率用户才有效。

结束语

Aave给市场提供了一种无固定期限的抵押借贷产品,资产准入制度给存款方提供了较高的安全保证,同时能进入Aave的资产也是一种实力的证明,无论是市值、流动性和持仓分散程度来说都是市面上的佼佼者,给币圈投资提供了一种非常有价值的参考。

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。