详解DeFi 借贷系统的技术原理与应用扩展

许超逸
2021-02-19 00:51:16
收藏
初期,DeFi借贷系统的管理员配置主流、流动性较好的加密资产作为抵押物,而随着用户的日益增长,抵押率的类型会逐步交由社区通过投票治理的方式进行调整。

本文系链捕手原创文章,作者为许超逸。

 

在DeFi世界,去中心化借贷系统是一个极其重要的赛道,也是整个DeFi体系里面的基石系统,它能够模拟现实世界里的金融系统,了解不同用户的资金需求,并提供用户间相互资金融通的平台;

它能够无边际成本的支持符合同质化代币标准的所有加密资产之间的借贷,并能够根据市场供需,自动化的计算与调整市场的借贷利率。

它能够以提供存款凭证代币的方式,将同一资产穿梭、重复使用于不同的DeFi协议之中,从而数倍地提升资金在金融市场上的使用效率;它还可以与其它DeFi协议进行灵活组合,从而实现多层、多级、复杂、嵌套金融交易的自动化运行。

那么,DeFi借贷协议究竟是如何运行的?其基础的技术原理是如何?未来又会有哪些更激动人心的应用扩展?本文中,BKFUND创始人许超逸将对以上问题进行详细探讨。

一、基于资金池智能合约的借贷模型

传统的中心化借贷系统是以点对点的方式进行撮合执行的,例如资金富余的用户可以在一些中心化交易所的「理财」页面,将自己的闲置资金以自己想要的利率进行挂单,而资金短缺的用户则可以通过抵押自己其他代币资产并以指定的利率进行借单,像「交易市场」一样,「借入」挂单与「借出」挂单是一比一完全对应的,中心化交易所在其中承担了撮合的角色。

image

去中心化的DeFi借贷系统则有所不同,目前主流项目均普遍采用了「资金池」模型来解决流动性的问题,实现借贷需求的快速撮合,如下图所示,作为「存款人」可以将自己的闲置资产「存入」资金池,并且在需要的时候随时「取回」,而「借款人」可以从资金池里面「借出」一笔资金,并在任意时候进行「偿还」。系统将根据资金池里面的资金进出情况,实时调整动态的「存款利率」与「借款利率」。

image

存借款利率主要依据两个因素来调整,第一是市场的供需,即:当借款需求较为旺盛时,利率上升,而借款需求较为匮乏时,利率下降;第二是资金池里的资金使用率,即U = 借款额/存款额 *100%,存款人的收益(存款利息)来自于借款人所支付的借款利息,因此资金使用率上升时,借款利率下降,而资金使用率下降时,借款利率上升。

与中心化借贷系统的有所区别在于,DeFi借贷系统的资金使用率U并非越高越好,当U = 100%,即所有存入资金全部被借完的时候,若部分存款人从资金池中取回资金,这将发生资金池里面的存款额 < 借款额这一极端情况,这使得资金挤兑、资金池爆仓的风险大幅增加。

因此DeFi借贷系统通常都会设计有最优使用率Uoptimal,当资金使用率超过最优使用率时,借款利率会大幅上升,以抑制更多的借款需求,保障资金池的安全。

由于「存款利率」与「借款利率」的调整均是实时且动态的,对于用户来说,意味着收益与风险的不确定性(特别是对于借款人而言),因此一些类似AAVE这样的新型DeFi借贷系统还提供有「稳定利率」的选择,稳定利率在用户一笔借款周期内一般不会改变,便于用户估算自己的资金成本。

因此提供用户进行「浮动利率」与「稳定利率」进行切换的选项。特别的,当市场资金供需行情出现极大波动之时,也会出现「稳定利率再调整」的情况。

由于加密资产的市场价格波动非常剧烈,当借款人的抵押物价值下降,或者借入资产价值上升,以致于抵押率不足时,需要对借款人的借款执行清算,清算的本质是以低于市场价格的方式出售一部分抵押物,来支付借款人应向资金池归还的本金与利息,从而使得资金池得以持续健康运转。

「存入」、「取回」、「借出」、「偿还」、「利率调整」、「清算」这是触发DeFi借贷系统最主要的六项事件。

由于DeFi借贷系统基于去中心化的智能合约来运行,没有一个中心化的数据库来记录用户存入/取回/借出/偿还的时间,因此通常使用以太坊网络区块高度作为时间标记来更新一个资金池的利率指数Index。

当「六项事件」中的任何一个事件触发时,该资金池的Index指数便会随之更新(Indexn = Indexn-1 * r),同时根据算法计算出系统动态的「存款利率」与「借款利率」,并更新相关的用户侧利息数据。

二、从六项事件的视角观察DeFi借贷系统的运作

1)存入

存入加密资产是用户进入DeFi借贷系统的第一步,这一步骤将用户的加密资产从私人账户转移进入智能合约的资金池,同时系统根据实时的存款利率开始为用户计算存款利息。

像用户在银行里面存款一样,用户在DeFi借贷系统中存入加密资产,将会获得一份存款凭证,DeFi借贷系统依据存款凭证而非账户对用户的存款权益进行确权。

这意味着,如果用户的存款凭证丢失或者转让,也将丧失其在DeFi借贷系统相应的存款权益。此外,存款凭证同时也是用户向DeFi系统借款时所需提供的抵押物。

存款凭证通常以同质化代币的方式向DeFi存款用户发放,这里又有两种不同的设计方案,以Compound为代表的DeFi借贷系统发放与存款本息额等值的凭证代币cToken,通过凭证代币与基础存款资产的汇率升值的方式来支付利息。

另一种是以AAVE为代表的DeFi借贷系统发放与存款本息额等量的凭证代币aToken,通过增加凭证代币数量的方式来支付利息。

image

我们认为,这两种技术方案各有优劣,采用存款本息额等值凭证代币cToken的方案,在出现资金池挤兑、爆仓的极限情况下,可以采用降低cToken汇率的方式将资金池损失由全部存款人进行集体分摊,从而降低单个用户的损失金额。

而存款本金息等量凭证aToken的方案,更有利于构建一个在应用生态系统内价值相对稳定的支付代币,同时存款凭证的本金、利息部分可以进行更灵活的分拆发放,衍生出更多的金融应用场景。

2)取回

取回的操作与用户存入的操作是反向的,即用户向合约系统归还存款凭证代币cToken、aToken或其他,并获得原始的存入资产。

需要再次强调的是,DeFi借贷系统以存款凭证代币为存款权益的确权,一旦丧失存款凭证代币,用户将无法取回资产,在过去的项目中,曾出现过DeFi借贷系统的新用户误将存款凭证当作一种系统的空投(AirDrop),以极低价格在市场出售,从而受到重大资金损失的情况。

3)借出

用户通过抵押存款凭证代币,可以向DeFi借贷系统借出目前自己没有但是紧急需要使用的加密资产。并非所有的加密资产都可以用于抵押,通常在初期,DeFi借贷系统的管理员配置主流、流动性较好的加密资产作为抵押物,而随着用户的日益增长,抵押率的类型会逐步交由社区通过投票治理的方式进行调整。

与抵押物类型逐一对应的有最大抵押率与清算阈值两个参数的设置,最大抵押率表示该抵押物价值最大可借出加密资产的比率,而清算阈值表示抵押物面临被清算的门槛比率,通常清算阈值 > 最大抵押率。

例如使用户使用1万美元等值的DAI作为抵押,在最大抵押率75%的情况下,最多可以借出7500美元等值的ETH,但若是ETH价格稍有上涨,从7500美元涨到8000美元,若已达到清算阈值参数80%,用户的1万美元DAI将要面临清算。

我们观察到,主流DeFi借贷系统多数都没有将USDT这一交易量最大的稳定币纳入抵押品范围,可能是因为USDT本身过度中心化,以及其主体公司Tether曾接受监管部门调查的原因。

4)偿还

偿还的过程与借出是反向的,用户向DeFi借贷系统归还本金与计息,同时减少自身在DeFi借贷系统中相应的债务。

用户在DeFi借贷系统中的存入、借出目前都是活期的,因此偿还机制也是较为灵活的,用户可以根据自身的实际情况,选择全部偿还或者部分偿还。

5)清算

清算过程涉及到DeFi借贷系统中重要的概念,即账户的健康因子(又称:健康指数),前面有提过到存款权益的确权是基于凭证的,而健康因子则与账户的借款额、抵押物相关,具体用公式表述为:

健康因子 = ∑(抵押物*清算阈值)/(借款额+借款利息)

当健康因子<1时,将触发DeFi借贷系统对该用户账户抵押物的清算,清算个别用户是为了避免系统性金融风险的发生,因此借款人将受到系统的惩罚,而清算人则会获得一定的奖励。

清算有两种常见的方式,一种是直接将借款人的部分抵押物以一定的折价通过合约挂单出售,允许任何用户代替借款人偿还债务后立即转售进行套利,另一种方式是从底价开始,以逐步加价的方式公开将抵押物进行拍卖。

借款人可能会对自己的抵押物受到清算而感到不满,而实际上,清算是对借款人资产的一种保护,当触发清算时,系统强制处置部分抵押物可以使得账户整体的健康指数回升到正常水平,从而避免抵押物被全部清算。如下图所示:

image

6)稳定利率、再平衡与利率切换

如前文所述,当DeFi借贷资金池每一次发生存入、取出、借出、归还、清算之时,其利率指数Index都会随之发生变化,这会影响到相应的「动态利率」,而出于满足部分用户愿意支付利息溢价以降低借款成本不确定性的需求。

类似AAVE这样的新型DeFi借贷系统尝试了「稳定利率」的机制,「稳定利率」机制通过预言机去获得外部系统的借贷利率,结合资金池的动态利率综合计算得出当前的稳定借款利率,并对单个用户在其借款周期内保持相对稳定,不受动态利率变化的影响。

需要说明的是,目前的「稳定利率」并非绝对稳定,仍然有可能经历系统强制调整即称之为「再平衡」的过程,「再平衡」的原因一种是因为「稳定利率」已超过存款的收益,导致用户可以无限制的从系统中借款再存入进行套利,这需要进行稳定利率的「向上再平衡」,另一种是当「稳定利率」与动态利率的差值过大使得用户需要支付的溢价超过一定数值的时候进行「向下再平衡」。

借款用户允许在「动态利率」与「稳定利率」之间进行切换,以获得最优的借款条件,同样这会触发资金池利率指数Index的更新。

三、DeFi借贷系统的应用扩展

以资金池为核心模型的DeFi借贷系统的蓬勃发展,确实满足了部分用户的资金借贷需求,然后,相比于传统金融行业,功能仍显不足,从金融应用发展的角度去思考,我们认为,DeFi借贷系统未来将会有如下多个方向的扩展:

1)固定周期的存借款

固定周期的存借款有利于用户更好地规划自身资金的使用周期,同时资金池也能够更好的预测资金的变动情况。然而,固定周期的存借款模型给现有的利率指数算法的改进带来的的挑战是,既要能够让固定周期利率相比于活期利率更具吸引力,又要适应用户自身违约,提前取款或者提前归还的现实场景。

 2)结构化的理财产品

由于DeFi借贷系统的存款利率本身也是浮动的,当市场需求旺盛时存款利率会大幅上涨,因此可以基于存款利率做一些结构化理财产品的开发,类似传统的分级基金,将资金分为优先级、中间级、劣后级,基金管理人向不同风险偏好的用户募集资金并获得管理收益与业绩奖励。

3)闪电贷

闪电贷是加密货币领域当中最令人兴奋的原生应用之一!这项技术可以让用户以无任何抵押、且极低的交易成本(AAVE为0.09%)使用资金池内无限制的资金量,只要用户在同一笔交易内偿还相应数量的资金即可。

而闪电贷的开发技术门槛初期比较高,后续随着类似FuruCombo这样的平台的出现与发展,闪电贷编程开发的门槛将不断降低,交易员只需要专注于策略本身的研究与实现,就可以获得在各个不同的DeFi协议之间套利赚钱的交易机会,闪电贷交易策略未来可能会成为加密经济里面最有价值的交易策略!

下图是一个简单的FuruComb工具使用示例:

  • 用户从AAVE协议里面通过闪电贷借出200 DAI

  • 通过1inch平台将200DAI兑换为206.4727 yCrv

  • 在Curve平台移除流动性的方式,将206.4727yCrv退出为223.25033 DAI

  • 向AAVE协议归还闪电贷及交易费用合计 200.18 DAI

  • 本交易策略盈利  23.07033 DAI

image

4)机构专属的私有资金池

DeFi借贷系统多数仅支持主流加密资产的相互借贷,然而对于一些小型的加密货币,虽然流动性要远远弱于主流加密资产,其机构成员、社区成员之间亦有相互短期拆借的应用需求。较好的做法是,由机构担保开发、运营私有借贷资金池,以供作小币种的借贷及抵押需求,这样即使出现因流动性不足而爆仓的问题,也不会影响到公用资金池的安全性。

5)第三方用户担保借款

这是一个经常被标榜为「无抵押借款」的应用,实际上这个功能是由DeFi借贷系统的一个机构用户或大客户以其在资金池内的抵押物作为担保,向另一借款人提供借款的场景,机构客户通常与借款人有线下的信用担保或实物担保关系,使得机构客户愿意以自己的抵押物为他人提供借款。

这里的主要问题是机构客户应有从中获利的可能,即当借款人按期还款时,其所支付的利息应高于系统利息,其中的差额作为对机构客户的奖励。

6)第三方协议担保借款

这是由DeFi借贷向一些主流DeFi协议授信,以供他们的用户从借贷协议应用中进行杠杆借款,Cream所开发的Iran Bank便是第三方协议担保借款的典型应用之一,然而前几天,Iran Bank因受到黑客攻击,资金池被「借走」约3750万美元的加密资产,成为目前损失额最大的一笔DeFi安全攻击。

7)账户信用借款

真正的「无抵押借款」场景应该是指类似我们在「借呗」等APP一样,通过账户地址历史积累的DeFi交易记录获得一定程度的授信,从而向DeFi协议进行短期借款。

这里有一个值得讨论的问题是,区块链网络账户地址本身可以无限制的生成,且创建成本接近于零,频繁的DeFi交易记录是否具有特别的价值?

我们认为随着DeFi的进一步繁荣发展,这个答案应当是肯定的。频繁DeFi交易的账户地址,其拥有者的资金体量、DeFi应用经验、抗风险能力要远远超过普通的用户,未来一些新型的DeFi协议在内测阶段将可能会筛选优质的DeFi老用户进行体验并空投代币作为测试激励,减少项目方被机器人批量薅羊毛的损失,若地址未按期归还借款,该地址将被所有的DeFi协议列入黑名单,不再拥有相应的内测激励机会。

四、总结

DeFi借贷系统的资金池模型、闪电贷等技术创新带领了一股新的创新浪潮,在开发者与社区用户的共同努力下,DeFi借贷系统及其生态产品将进一步发展,并不断的与主流金融、主流资产进行融合、创新,开启未来新的金融秩序。

链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 站内所有内容仅系市场信息或相关方观点,不构成任何形式投资建议。如发现站内内容含敏感信息,可点击“举报”,我们会及时处理。
ChainCatcher 与创新者共建Web3世界