使用Defi协议前需要了解的几个概念
Defi项目在2019年爆炸式增长,仅在2019年度,锁定的总价值就增加了137.23%。现在,每37.12 ETH 中有1个被锁定在Defi协议中。Defi协议有不同类别,例如借贷协议,稳定币,交易所,安全类代币,保险平台等。由于诸如 Compound[1] 之类的借贷协议受到了最多的关注,因此我们将重点关注这些平台以充分理解其概念, 常见模式及其使用风险。请注意,这些概念不仅适用于贷款协议,还适用于其他类别的类似产品,例如期权协议 Opyn[2]。我们将以非技术性方式讨论这些内容,以使其对新用户友好。
什么是借贷协议(Lending Protocol)
借贷协议是以去中心化方式连接贷方(lenders)和借方(borrowers) 的平台。一方面,它允许借款人(borrowers)从平台借出(borrow)加密货币并支付利息,另 一方面它允许贷方(lenders)向平台存入(deposit)加密货币以赚取利息。与银行的储蓄账户相比Defi借贷协议通常可以提供更高的利息,例如本文章撰写时(2020 年 4 月), Compound[3]为DAI放贷者提供年化7.58%的利率,而大部分银行的存款利息非常低,甚至是负利率。
但另一方面,借方(borrowers)需要为其借款支付利息(interest),本文章撰写时,从Compound协议借出DAI(一种稳定币[4])的年化利率是8%,这个是非常高的利率。
所以,基本上是P2P借贷款?
并不是,这些Defi借贷协议通常基于资金池运作。例如,当你将DAI存入Compound时, 资金就进入了一个资金池而不是到特定的借款人(borrower),同样借款人(borrower)是从资金池而非从特定贷方(lender)借款(borrow)。这个设计的优点如下:
•贷方(lenders)不需要等待对手借方(borrower)出现在参与(如获取利息);
•采用资金池能让协议通过不同的激励平衡资金的供给与需求,例如当借款需求较少时,也会可以影响到贷方利率。
•采用资金池可以让协议平衡风险,使得贷方不必与借方完全绑定。
为什么有人会支付这么高利率从借贷协议借款呢?
任何原因都有可能,但常见的一个原因是交易者进行杠杆交易。杠杆(Leverage) 是一个非常简单的概念,基本上就是借钱投资。例如,我有很多BAT代币并且相信它会上涨,但是我还想买一些REP因为觉得REP也会涨,我不想通过卖掉BAT来购买 REP,那么我就可以利用BAT作为抵押(Collateral)从Defi借贷协议借出 一些以太币,然后用以太币来买REP。
这样,我就可以同时持有BAT和REP,而只需要承担以太币借款利息。如果 REP的价格上涨,我就可以卖掉REP换回以太币,以偿还Defi协议的借款, 那么剩下的以太币就是利润。
抵押物(Collateral)
抵押是金融行业中的一个基础概念,它的作用是借钱时担保。如果你不能按约定还款,你的抵押物就会被用来船员债务。一个简单的例子就是按揭贷款,当你从银行贷款买房时,房子就是抵押物,如果你不能偿还贷款,银行就会收走你的房子(通常是拍卖掉)。
在Defi中也是一样的,如果你想从Defi协议中借出一些资产,那么你就需要向协议提供一些资产作为抵押;如果你不能偿还贷款,协议就不会归还抵押物。由于我们讨论的是去中心化金融,因此可接受的抵押物通常都是数字加密资产。
为什么了需要超额抵押?
由于加密货币价格的不稳定,那么使用加密资产作为抵押物就是有风险的, 因为当抵押物价格下跌时,可能都不够偿还借款的价值(loan value)。例如,假设今天BAT和REP的价格都是 1美元,我用1个BAT作为抵押物,从Defi借贷协议借了1个REP。第二天BAT的价格跌到了 0.5美元,但是REP还是1美元,如果现在我不还款,那么Defi协议就会损失 0.5美元,因为Defi借贷协议会试图卖掉我抵押的BAT来偿还1个REP。
这是为什么大多数借贷协议都要求超额抵押贷款,表示你只能借到抵押物价值的一部分(低于100%)。Defi协议通常称之为抵押率,这是控制协议风险的常见要求。现在当你借入资产时,最多只能借到抵押物价值的75%,这给抵押物价格变动留出了15% 的缓冲空间。
由于每种加密资产的价格敏感度不一样,因此通常为不同的资产设置不同的抵押率。例如Compound将抵押率称为抵押因子(Collateral Factor)并且不同的资产设置了不同的值[5]。
协议代币和标的资产(underlying assets)
经常会看到Defi协议发行自己的代币。例如当你向Compound协议存款时,就会得到 cToken代币[6],例如cEther、cDAI等,这些Defi协议代币通常是标准的ERC20代币,它们在Defi协议运作中发挥着重要的作用。在Compound协议中,cEther和cDAI分别用来表示你存入的以太币和DAI,被称为标的资产(underlying assets)。这些cTokens 就像Defi协议开给你的收据,这样你在将来用它赎回存款。另一个作用是跟踪你的存款利息。因此如果你将这些cTokens收据转给别人, 别人就可以赎回你的标的资产了。因此要小心处理。
在Compound中还需要注意一点,当你使用存款作为抵押物来借出其他资产时,你持有的cToken就不可以再转账了。这是可以理解的,既然用作抵押物了,你的标的资产就被锁定,直到债务还清。如果此时cToken还可以转账就有问题了,因为cToken的接收者可能知道赎回资产的时候才知道这些cTokens已经被抵押了。
价格预言机(Price Oracle)
价格预言机是Defi协议中的一个常见概念。当Defi协议处理不同资产时,它经常需要知道这些资产的当前价格,简单的说价格预言机就是用来向Defi协议提供资产价格。在Defi生态中,价格预言机是一个关键的组成部分,但是Defi用户通常并不会注意价格预言机的运行机制,但实际上如果价格预言机没有正确设计的话 可能导致严重的危机,毕竟,如果资产价格被攻击,那么整个Defi协议都将失败。
目前绝大部分Defi协议使用自己的价格预言机,在重仓投资这些协议之前,有必要探究一下这些价格预言机去理解它们是如何处理价格的。不过,Compound已经发布了Open Oracle[7], 其目的是提供一种链上解决方案,该解决方案从受信任的报告者(reporters)那里获取不同的价格,并计算出中间价格作为资产价格。这是行业标准解决方案的一个很好的开始,它可以替换每个Defi协议中的各自的预言机,从而消除了操控这些价格预言机的风险。
利息(Interest)是如何计算的?
Defi中的利息和银行中的概念是一样的。通常有两种类型的利息:单利(Simple Interest) 和复利(Compound Interest)[8]。不过在Defi中利息的计算要更复杂一些,因为以太坊交易需要依赖外部触发,Defi协议通常需要依赖于用户的操作才进行利息的计算。例如Compound是根据每个区块时间来计算利息,但是它并不是自动在后台完成计算的,而是依赖于用户行为(例如存款、贷款、清算等)来触发利息计算。触发后,函数将统计自上次利息计算以来过去了多少个块,并在其之上应用最新的利息。换句话说,如果不采取任何用户动作,则协议将不会计算利息。
清算(Liquidation)
清算的意思是:当你的抵押物价值下跌至接近债务甚至无法支撑债务时,Defi协议就会允许其他人偿还债务(repay debt)以换取你的抵押物。例如,假设1 REP的价格等价1 BAT,你存入1.5 BAT 作为抵押并借出1 REP,那么当BAT价格下跌到 1.3 BAT = 1 REP时,对于Defi协议就有风险了,因为如果BAT继续下跌的话,Defi协议就无法偿债,因此这时Defi协议就会允许其他人以1 REP = 1.3 BAT的价格来兑换你的抵押物。通常来说,Defi协议为了鼓励及时清算都会向清算人提供奖励,这被称为清算奖金(Liquidation Bonus)或Bonus。协议的目的是确保在价格变化太大之前进行清算,否则可能导致协议破产。值得注意的是,一旦抵押物价格跌至债务价格以下,很明显借款人不会偿还其贷款,这将使该协议无力偿还(insolvency)。
是不是可以通过清算挣钱?
是的。Defi协议通常都会为清算贷款提供激励,以保证协议的健康,作为清算人,可以从清算过程中得到好于市场价的交易,因此从技术上来讲,通过监控Defi协议,一旦出现新的清算机会时,及时清算是可以获利的。不过这个过程需要持续监控Defi协议,并与其他清算人(通常是机器人)竞争清算机会 。同时还要了解,你要接手的抵押物资产价格正在下跌,持有这种资产可能仍旧危险。
Defi 的常见风险
Defi之所以炙手可热,是因为它具有很多优势,例如高回报,灵活的进出,去中心化等。但是,这些优势肯定也会伴随风险,值得我们讨论。
资产价格下跌时引起抵押不足而可能导致协议无力偿还(insolvency)
金融产品通常具有内在的风险,抵押借贷是一个常见的例子,当标的资产的价值降至债务价值以下时,它将使协议无力偿还(insolvency)。由于加密资产的高波动性,这对Defi尤其有风险。尽管该协议可以通过限制支持资产类型,设置抵押率以及对贷款进行严格监控并快速清算等方式等机制来尽早限制风险并减少损失,但无法完全消除这些风险。
我们对Compound 的审计报告概述了这种风险[9]。
外部依赖失败
Defi协议通常依赖于某些外部条件运行,他们非常广泛,不管是支持的ERC20代币还是资产价格的获得。协议通常无法控制这些依赖,这意味着如果其中任何一个受到损害,将直接影响与它们一起运行的协议。例如,Opyn依靠Compound价格预言机获取Compound cToken的价格,如果Compound价格预言失败,将导致Opyn无法更新这些资产价格,这可能导致抵押不足的风险。
Compound发布了旨在成为去中心化Defi价格预告片的Open Oracle,这对Defi行业来说是重大的进步,但是我们的审计确实揭示了其中的一些潜在问题[10]。
智能合约漏洞
智能合约的性质意味着代码中常常存在潜在的未被发现的漏洞。这是加密货币领域发生重大历史性黑客入侵的主要原因之一。最重要的是,技术进步可能使本来安全的代码突然变得脆弱。例如,闪电贷的最新发展带来了一个全新的攻击载体,并使许多现有项目面临风险(请参阅我的同事 @ Austin-Williams 关于闪电贷[11]的详细介绍)。
结论
金融产品总是有风险,这既适用于传统金融部门也适用于Defi,我们只需要了解这些风险并做好准备。我相信我们只是Defi爆发的开始,随着近来全球货币体系不确定性的激增[12],Defi可能是一个不错的选择。
*Market Report: 2019 DeFi Year in Review 2[13] by Lucas Campbell
原文链接:Defi 101 - concepts you need to understand before using a Defi protocol[14]
References
[1] Compound: https://compound.finance/
[2] Opyn: https://www.opyn.co/
[3] Compound: https://learnblockchain.cn/tags/Compound
[4] 稳定币: https://learnblockchain.cn/2019/03/19/understand_dai
[5] Compound将抵押率称为抵押因子(Collateral Factor)并且不同的资产设置了不同的值: https://medium.com/compound-finance/faq-1a2636713b69
[6] 你向Compound协议存款时,就会得到 cToken代币: https://compound.finance/ctokens
[7] Open Oracle: https://medium.com/compound-finance/announcing-compound-open-oracle-development-cff36f06aad3
[8] 单利(Simple Interest) 和复利(Compound Interest): https://en.wikipedia.org/wiki/Interest#Types_of_interest
[9] 我们对Compound 的审计报告概述了这种风险: https://blog.openzeppelin.com/compound-audit/
[10] 我们的审计确实揭示了其中的一些潜在问题: https://blog.openzeppelin.com/compound-open-oracle-audit/
[11] 闪电贷: https://forum.openzeppelin.com/t/introduction-to-the-flash-loan-pattern-and-its-security-considerations/2331
[12] 全球货币体系不确定性的激增: https://blogs.imf.org/2020/03/11/monetary-and-financial-stability-during-the-coronavirus-outbreak/
[13] Market Report: 2019 DeFi Year in Review 2: https://defirate.com/market-report-2019/
[14] Defi 101 - concepts you need to understand before using a Defi protocol: https://forum.openzeppelin.com/t/defi-101-concepts-you-need-to-understand-before-using-a-defi-protocol/2577