DeFi安全之抵押借贷
熊市就像一块试金石,Defi的各核心业态,哪些能够穿越周期,更好的发展?在周期中又暴露了哪些问题,值得后来者借鉴?SharkTeam合约安全系列课程之【DeFi安全】和您一起讨论和深入。这一课我们聊聊【Defi 借贷 】。
1.什么是DeFi借贷
借贷是金融体系中最重要的组成部分之一。无论是中心化金融(CeFi)还是去中心化金融(DeFi),从本质上讲,一方提供货币资产,以换取另一方货币资产,这些资产可能是法定货币或数字货币。在CeFi中,这笔交易是由银行等金融机构推动的。在DeFi中,却有所不同。DeFi的去中心化按照程度可以分为:集中式、部分去中心化。
因此,借贷有两种方式:
-
集中式:BlockFi、Celsius等;
-
部分去中心化:MakerDAO、Aave等;
在去中心化应用程序(DApps)中,DeFi的借贷增长率最高。DeFi借贷协议的锁仓量(TVL)排名仅次于Dexes,如图1.1所示。
图1.1 协议分类TVL Top12(图来源于Defi Llama)
目前市面的借贷产品主要有4种模式:
-
流动池借贷模式:如Compound通过算法平衡借贷双方,设置利率。利用流动池聚集贷方资金,并且可以将资金借给借方。
-
稳定币抵押贷模式:如MakerDAO,抵押某数字资产,借出DAI。
-
P2P撮合模式:如Dharma 撮合借方和贷方的点对点协议,协议的贷款和借款数量是相等的。
-
闪电贷模式:如Aave利用智能合约的可编译性将借款、使用、偿还等所有步骤全部编程在一笔交易中,智能合约可以保证所有这些步骤都在一笔交易的时间内完成,如果还款失败,整个交易不会执行。
2. 工作原理
DeFi 借贷是通过智能合约的方式在借方和贷方之间形成一个借贷关系。借方需要抵押自身持有的、贷方所认可的Token,贷方会按照智能合约中所规定的借贷条件将贷方的Token贷给借方。在正常的情况下,借方按照实现约定的条件通过智能合约将利息和本金归还给出贷方,然后贷方将借方抵押的 Token 归还给借方。贷方不仅可以从他们的Token上赚取利息,还可以获得治理代币或DAI作为额外的激励措施:Compound奖励COMP,Aave生成AAVE,Maker发行DAI。如果借方未能归还本金和利息,那么智能合约将会出售抵押的Token,贷方获得对应的Token收益。
3. 系统构成
DeFi借贷系统最主要的事件:存入、取回、借出、偿还、清算、利率调整。
-
存入
存入是DeFi借贷系统的第一步。用户将数字资产存入借贷池,可以得到相应的代币凭证,该凭证是用户的权益证明,代币凭证如果丢失,用户就无法取回对应的数字资产。同时,借贷系统根据实时的存款利率开始为用户计算存款利息。
-
取回
取回,相对存入操作是相反的。当用户想从资金池中取出数字资产时,就要向借贷池提供用户的代币凭证,这样才可以得到当初存入的数字资产和利息收益。
-
借出
用户可以通过抵押代币凭证(上面所存入数字资产得到的代币凭证),来借出同类或其他类型的代币。这里的代币并不是所有代币都可以借出,而是相关协议平台规定的代币对。不同类型的代币、会受价值和流动性的影响,产生不同的清算阈值和最大抵押率,通常清算阈值大于最大抵押率。
o 清算阈值:抵押物面临被清算的门槛比率。当抵押物价值下跌,或借出代币价值上涨,导致抵押率超过清算阈值,就会触发清算机制。
o 最大抵押率:最大可借出资产 / 抵押物价值。
例如:在Compound 和 Aave 上,ETH的最大抵押率是75%,用户存入100ETH作为抵押,可以借出75ETH等值的同类或其他代币。如果清算阈值是80%时,价格不断上涨或者急剧下跌,抵押率大于80%,用户的100ETH就会面临着清算。
-
偿还
偿还,相对借出操作是相反的。用户需要支付用户当时借出的代币,并支付相应利息,就可以取回用户当时质押的凭证代币,最后取回用户当时的抵押资产。用户可以根据实际情况,可以部分偿还或全部偿还。
-
清算
在DeFi借贷中,清算过程涉及账户的健康因子(又称:健康指数)。健康因子是和账户的抵押物、借款金额有关。
如果健康因子的值达到临界阈值(等于或小于1),则贷款抵押不足。它将被清算,用户将损失全部抵押资产。
由于市场波动,健康因子可以用两种不同的方式表现:
o 存入资产的价值增加,相应的抵押物价值增加,健康因子的数值表现相同(也增加),高于临界值 1。
o 存入资产的价值下降,相应的抵押物价值下降,健康因子的数值以相同的方式表现(也下降),使贷款头寸风险更大,因为数值接近临界值 1。如果低于临界阈值,则贷款抵押不足并将被清算。
如何增加健康因子?
用户可以通过存入更多资产作为抵押品来增加健康因子,从而保持贷款头寸更安全。这样做,一方面为了避免头寸被强平的风险,另一方面允许用户借的更多。
清算有两种常见的方式:
o 代还款清算模式:直接将借款人的部分抵押物以一定的折价通过合约挂单出售,允许任何用户代替借款人偿还债务后立即转售进行套利;
o 拍卖清算模式:从底价开始,以逐步加价的方式公开将抵押物进行拍卖;
接下来用一个例子阐述清算过程:
o 首先,借款人抵押 10000等值的DAI凭证并借出 7500等值的ETH(借款利息 = 0)
o ETH市场价格上涨6.7%,此时
因为健康因子<1,故触发清算,清算奖金比例为5%。
o 清算人向DeFi系统偿还4001.25$(借出资产ETH总价值的50%),获得DAI凭证(包含清算奖励)
o 借款人(清算罚金比例为 5%,抵押物为 DAI,债务为 ETH)
-
利率调整
当 DeFi 借贷资金池每一次发生存入、取出、借出、归还、清算之时,其利率指数Index都会随之发生变化,这会影响到相应的浮动利率,而出于满足部分用户愿意支付利息溢价以降低借款成本不确定性的需求。类似Aave这样的新型DeFi借贷系统尝试了固定利率的机制。
o 浮动利率:资金池的利率动态变化。
o 固定利率:通过预言机去获得外部系统的借贷利率,结合资金池的浮动利率综合计算得出当前的稳定借款利率,并对单个用户在其借款周期内保持相对稳定,不受浮动利率变化的影响。
固定利率并非绝对固定,会通过系统的再平衡进行稳定调整。再平衡有向上再平衡、向下再平衡:
o 向上再平衡:固定利率超过存款的收益时候,用户可以无限制的从系统中借款再存入进行套利,此时系统要对其进行稳定调整。
o 向下再平衡:固定利率与浮动利率的差值过大使得用户需要支付的溢价超过一定数值,此时系统要对其进行稳定调整。
借款用户为了获得最优的借款条件,会在浮动利率和固定利率两者之间切换,同样这会触发资金池利率指数Index的更新。
4. DeFi借贷三大协议分析
4.1 Compound
Compound是一个基于以太坊的开源货币市场协议,允许用户赚取利息或借出抵押品资产。任何人都可以向Compound的流动性池提供资产,并赚取持续的复利,利率根据供求情况自动调整。提供的资产余额由cTokens表示,赚取利息作为抵押品的基础资产表示。用户可以借出高达cTokens价值的50-75%,具体取决于相应资产的价值。用户可以随时增加或取回资金,但如果他们的抵押物对应价值变低,会被清算。清算资产的5%可作为清算人的激励。Compound协议将利息的10%作为准备金,其余的交给供应商。
2020年5月,Compound已过渡到社区治理。COMP令牌持有者及其代表就Compound的所有更改进行辩论,提议和投票。截至2021年4月1日,Compound平台上支持9种不同的代币:
-
0x (ZRX)
-
Basic Attention Token (BAT)
-
Compound (COMP)
-
Dai (DAI)
-
Ether (ETH)
-
USD Coin (USDC)
-
Tether (USDT)
-
Uniswap (UNI)
-
Wrapped Bitcoin (WBTC)
4.2 MakerDAO
MakerDAO 是运行在以太坊上集超额抵押稳定币、借贷、存储、用户共同治理和发展的 DeFi 项目,同时也是目前以太坊上 TVL 最多的 DeFi 项目。MakerDAO 的核心是 Maker 协议,可以抵押加密资产铸造与美元挂钩的去中心化稳定币 DAI,DAI 通过超额抵押以及 DSR(DAI Savings Rate)存款利率的调整来维持价格稳定。当用户铸造的 DAI 的价值高于 Maker 协议规定抵押率的抵押物价值就会面临清算拍卖并支付一笔清算罚款,若拍卖金额足以还债则进入第二阶段拍卖以保障被清算人可以拿回更多的抵押物,若资不抵债则由 Maker 协议承担未尝债务。
MKR 是 Maker 协议的治理 Token 同时也是资本重组来源,持有 MKR 可以参与 MakerDAO 治理,Maker 协议资不抵债时通过超发 MKR 拍卖获取资金抵债, Maker 协议金库资金达到一定金额时也会拍卖DAI回购 MKR 进行销毁。
截止至2022年8月02日,MakerDAO TVL为 $8.33b 稳坐 DeFi 王者宝座,如图所示:
图4.2 锁仓量(TVL) Top10 来源DeFi Llama
用户可以借出DAI,最高可达其抵押品价值的66%(150%抵押率)。低于该费率的保险箱(Vault)将受到13%的罚款和清算(任何人),以使保险箱(Vault)退出违约状态。已平仓抵押品在公开市场上以3%的折扣出售。
MKR持有者也是黑天鹅事件中的最后一道防线。在黑天鹅事件中,由于 ETH 的价格出现了暴跌,Maker 协议中大量的抵押物价值跌破清算门槛,从而触发了拍卖程序,但由于以太坊网络在短时间内链上事务数量剧增导致 GAS 费暴涨,清算机器人的清算交易请求由于 GAS 费设置过低无法被及时处理,导致某一清算人在没有其他拍卖竞争者的情况下以 0 DAI 的出价赢得了拍卖,MakerDAO 因清算机制失灵而零价拍出的 ETH 抵押品价值高达 832 万美元,且 Maker 协议系统内出现了 567 万 DAI 的无担保坏账,缓冲池中的 DAI 被掏空,为了填补产生的 567万 DAI 无担保坏账,MakerDAO 启动了首次 MKR 拍卖以填补漏洞,筹集更多的抵押品,从而稀释MKR持有者,后续又对协议机制进行了改进以防止类似事件再次发生。Maker有一个DAI Savings Rate(DSR)的功能,DAI持有者可以将其DAI锁定到Maker的DSR合约中,并在DAI中获得浮动利率,这是由稳定费用产生的。
-
如果 DAI 的市场价格超过 1 美元,MKR 持有者可以选择逐渐降低 DSR ,以此减少需求量,进而将 DAI 的市场价格降至 1 美元的目标价格。
-
如果 DAI 的市场价格低于 1 美元,MKR 持有者可以选择逐渐增加 DSR ,以此刺激需求量上升,进而将 DAI 的市场价格增至 1 美元的目标价格。
4.3 Aave
Aave 是一种去中心化的非托管流动性协议,用户可以作为存款人或借款人参与其中。存款人向市场提供流动性以赚取被动收入,而借款人能够以超额抵押(永久)或抵押不足(单一流动性)的方式借款。Aave 最初被称为“ETHLend”,但在 2020 年更名为 Aave,成为借贷领域的重要竞争对手。
Aave的借贷业务是超额抵押性质,借款方需要在存入足够的抵押品后即可以从流动池借出资金,借贷利率将跟随市场供需自动调节,如果可借出的资产变少,这时借款利率就会自动上升,在Aave V2中支持借款人选择浮动利率和固定利率两个选项。
利率是用于平衡借和贷的调节器,它一般与资金池中的资金使用率有关。当资金充裕时,低利率鼓励借贷;当资本稀缺时,高利率来鼓励偿还债务和额外供应。特别之处在于,Aave具有独特设计的斜度借贷利率函数,它取决于Aave的流动性池中某项资产被借走的比例,也就是该项资产的利用率。Aave认为当某项资产的利用率不断升高时,其资金池也面临流动性风险,所以它基于不同类型的资产在利用率较高时采用高斜度利率函数来调节借贷需求。
Aave 拥有 210 亿美元的 TVL,使其成为最大的 DeFi 应用程序之一。Aave 生态系统的原生代币是 AAVE,Aave 代币用于对协议进行治理,以对 Aave 改进提案 (AIP) 进行投票。Aave 最新的 V3 版本从以太坊扩展到包括其他原生区块链,例如 Avalanche ( AVAX )、Harmony ( ONE ) 和 Fantom ( FTM )。Aave 还支持具有较低 Gas 费用的以太坊 layer2,例如 Polygon ( MATIC )、Arbitrum和Optimism。用户可以为每个网络存入稳定币和加密代币,并接收每秒自动更新的年化收益率 (APY)。
Aave 的独特之处在于,用户可以借出任何数量的资产,而无需通过 Flash Loans 提供任何抵押品。Aave Flash Loan 流程发生在单个以太坊交易中,并且依赖于以太坊上的交易可以恢复的事实,因此如果未偿还借出的资金,则所有命令均无效。如果借出了价值 1000 万美元的代币,但不满足贷款条件,用户可以依靠以太坊网络的底层技术架构使交易作废。Aave Flash Loans有一个简单的条件:在交易完成之前偿还初始投资资金。如果不满足该条件,则贷款无效,并且与本金进行的所有交易也默认无效。
可以通过三个简单的步骤来解释 Aave Flash Loan:
-
用户从 Aave 的借贷池之一借出代币
-
在以太坊区块链上执行贷款相应的参数
-
用户必须偿还借款金额加上 Aave 的贷款服务费
如果满足最后一个条件,则整个交易都会通过并被永久添加到以太坊的分类帐中。如果最后一个条件不满足,则整个交易被拒绝,所有网络命令都作废(包括用户从 Aave 借钱的第一步),就好像没有交易发生一样。
5. DeFi借贷和传统借贷相比有何优势
传统金融体系提供借贷、现货交易、保证金交易等服务。DeFi 生态系统已经适应并可以提供与传统系统相同的服务和金融产品。
传统借贷和 DeFi 之间的主要区别:
-
传统银行业务需要对客户状态进行耗时且繁重的检查。使用 DeFi,只要个人满足抵押要求,贷款的发放速度就会更快。
-
智能合约负责大部分审查过程,使贷方和借方都更容易。与传统借贷市场甚至股权相比,DeFi 贷款通常还提供更好的回报。虽然具体利率差异很大,但贷款通常比其他资产高 10% 或更高。
与传统系统相比,DeFi 借贷有以下几种优势:
-
允许DeFi借贷是具有一致性的,所有 DeFi 费率和规则都明确规定,几乎没有人会留下错误的地方。
-
区块链是一种公共分布式账本,可以按需提供所有 DeFi 借贷的记录以及允许借贷的规则和政策。允许 DeFi 借贷时,公共分布式账本可作为所有金融交易的证明。
-
DeFi借贷得到快速处理,贷款获得批准后立即可用。快速处理是由云服务提供对 DeFi 借贷平台的支持,这有助于识别任何欺诈企图以及其他风险。
-
拥有完全数字化的借贷流程有助于监控和评估借贷市场。这些借贷分析对于那些希望优化资金的人来说是非常有用的。它还可以帮助DeFi 借贷平台获得贷款来源的监测,这可以进一步帮助他们提高借贷效率。
同时,DeFi借贷也有以下几种不同类型的缺点:
-
无常损失
-
闪电贷攻击
-
DeFi rug pulls
6. DeFi借贷在熊市中暴露哪些问题
在当前行情下,DeFi借贷受到很大的影响,面临清算。在DeFi协议中暴露很多问题:
-
抵押品流动性差,波动性大
根据Token Terminal分析,各种借贷协议的锁仓量(TVL)呈现持续下跌趋势。TVL 对于希望以最高回报支持 DeFi 平台的投资者来说是一个特别有用的指标。它是锁定在 DeFi 借贷协议中的总价值,代表流动性提供者存入的资产数量。这种数量减少情形会产生流动性低,波动大,容易加剧坏账,增加清算难度。
图6.1 365天借贷协议TVL分析
-
预言机喂价异常
预言机的功能就是将外界信息写入到区块链内,完成区块链与现实世界的数据互通。它允许确定的智能合约对不确定的外部世界作出反应,是智能合约与外部进行数据交互的唯一途径,也是区块链与现实世界进行数据交互的接口。
对于借贷协议来说,他们需要预言机的价格来确定借贷能力和抵押要求,以及用于需要计算账户价值的的所有功能,从而判定要不要对这个账户的资产进行清算从而满足抵押需求。当预言机故障,预言机不能准时的报价,会导致相应的借贷协议没有及时反应清算,造成经济损失。这就意味着,DeFi协议可以选择多个预言机作为报价源,有效避免单点故障。
关于我们: SharkTeam 的愿景是全面保护Web3世界的安全。团队成员分布在北京、南京、苏州、硅谷,由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约的底层理论,提供包括智能合约审计、链上分析、应急响应等服务。已与区块链生态系统各个领域的关键参与者,如Huobi Global、OKC、polygon、Polkadot、imToken、ChainIDE等建立长期合作关系。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum