原文作者:Perpetual Protocol

编译:LlamaC

一文读懂Euler Finance:支持高风险资产的下一代DeFi借贷协议          (作品集:遥远的未来2016,关于Tomo:eth基金会插画师)

Compound、Aave 等第一代借贷协议现在基本是 DeFi 的常用协议。作为一种去中心化服务,这些协议提供主流代币的借贷,如 ETH、USDC等。

不幸的是,在主流代币之外,这些借贷平台不提供非主流代币的借贷服务。任何新代币都必须通过治理框架投票批准才能上市——换句话说,这个过程不是未经许可的。例如,如果 Alice 创建了一个代币 XYZ 并想将其列在 Compound 上,则必须首先由 COMP 持有者对其进行投票。

然而,借贷长尾加密资产的需求仍然存在。在长尾资产具有用例之前,其持有者可能希望通过将代币存入借贷协议来赚取收益。另一方面,想要做空资产的人可以从协议中借入。这种总需求可能是巨大的,但目前第一代借贷协议无法满足。

Euler 是下一代无需许可的 DeFi 借贷协议。任何人都可以在 Euler 上列出几乎任何代币用于借贷,只要该代币在带有 WETH 交易对的 Uniswap v3 上列出。

一文读懂Euler Finance:支持高风险资产的下一代DeFi借贷协议

未经许可上架任何代币都会带来高风险,但 Euler 提出了一系列风险管理概念和解决方案,我们将在以下部分中介绍。

资产等级

在 Uniswap v3 上与 WETH 有交易对的任何代币未经许可上市都会增加借贷市场的风险。如果代币的价格剧烈波动,清算未能完全偿还借款人的债务,那么不同类型的资产池可能会留下坏账。

为了应对这些挑战,Euler使用基于风险的资产层划分来保护协议及其用户。

隔离层

隔离层资产可用于普通借贷,但不能作为抵押品借入其他资产。它们只能单独借入,不能与使用同一抵押品池的其他资产一起借入。

例如,如果用户有 USDC 和 DAI 作为抵押品,他们想借出一个隔离层资产 ABC,那么该账户只能借出 ABC(而不能借出另一个代币 XYZ)。

隔离层资产没有限制。默认情况下,任何资产都会添加到隔离层。优点是非流动性资产只要在Uniswap V3上有交易对就可以作为借贷市场上市(但不能作为抵押品)。如果资产价格剧烈波动导致爆仓,因为它与其他资产层级隔离,清算时不会影响他人。

想象一下,如果一项资产 XYZ 被借出并增值 1000 倍——在没有隔离的情况下,与 XYZ 共享抵押品的资产 ABC 也将被清算。

一文读懂Euler Finance:支持高风险资产的下一代DeFi借贷协议

跨层

跨层资产可用于普通借贷,不能作为抵押品,但可以与其他资产一起借入。跨层资产允许更大的抵押灵活性,但比隔离层中的资产具有更高的风险,因为其他资产可能会在清算中受到影响。

抵押层级

抵押层资产可用于普通借贷、交叉借款,并可用作抵押品。例如,用户可以存入抵押资产 DAI 和 USDC,并使用它们从一个账户中借入抵押资产 UNI 或 LINK。

在通过治理机制进行投票之前,所有资产都从隔离层开始。Euler Finance原生治理代币(EUL)的持有者可以投票将资产提升到不同的层级以提高资本效率,但会增加平台风险。利益与 EUL 持有人的利益保持一致。

风险调整后的借款能力

所有贷款协议都要求用户确保其抵押品的价值保持高于其负债的价值,使用超额抵押来提高系统的安全性。当抵押品的价值不足以支撑负债时,该头寸将被标记为清算。

Compound 通过在决定借款人可以借多少钱时使用抵押因素来调整借款人的资产价值来实现这一点。例如,用户在1 ETH = 4000 USD时抵押1 ETH借入UNI,当ETH的抵押因子为0.7时,用户可以借入价值2800 USD的UNI。如果抵押物价值下降到一定阈值,或者借入的资产(负债)价值上升到一定阈值,则抵押物不足以支撑其负债,头寸将被标记为清算。此时,清算人可以触发清算程序。

但是,这并没有考虑到所借入资产(负债)的风险差异,只是用一个抵押品因子来表示风险。例如,如果我们借出代币 XYZ,而不是使用 1 ETH 作为抵押来借 UNI,则风险要高得多。但如果只考虑抵押品因素,就不能针对不同的资产设置不同的风险指标。

由于 Compound 仅列出主流代币,因此任何借贷资产的风险水平都可能相似;但是,如果可以上架任何代币,则必须考虑借贷风险。

除了 Compound 的抵押因素外,Euler 还考虑了借入因素。这使得 Euler 可以考虑借入资产价格变动的特定资产风险(通过借入因子),以及抵押资产价格变动的风险(通过抵押因子)。

例如,假设用户有价值 1000 美元的 USDC,想借用 UNI。如果 USDC 的抵押因子为 0.9,而 UNI 的借入因子为 0.7,则用户最多可以借入价值 1000 美元 * 0.9 * 0.7 = 630 美元的 UNI。在这个借款水平上,他们抵押品的风险调整后价值为 1000 美元 * 0.9 = 900 美元,他们负债的风险调整后价值为 630 美元 / 0.7 = 900 美元。

假设借入的 UNI 价值为 630 美元,当其价值增加到超过 900 美元时,该头寸将被标记为清算。虽然不太可能发生,但如果 1000 USDC 的价值跌破 900 美元,该头寸也将被标记为清算。从这个意义上说,当抵押资产的波动性很高时,清算更有可能发生。

与仅使用抵押品因子相比,加入借款因子可以更有效地控制借贷风险。

TWAP 预言机

为了能够计算一笔贷款是否被超额抵押,Euler 需要监控用户资产的价值。在 Compound、Maker 和 Aave 上,各种系统用于从链下来源获取价格,并通过预言机将它们放在链上,以便相关智能合约可以访问它们。

这种方法不适合 Euler,因为该协议需要无需人工/中心化干预即可获得定价信息的无许可上市。因此,Euler 依赖 Uniswap v3 的去中心化时间加权平均价格 (TWAP) 预言机来获取定价。这样,只要目标资产在 Uniswap v3 上有针对 WETH 的交易对和流动性,就可以在 Euler 上线。

TWAP

Uniswap TWAP 是使用某个时间间隔内资产的几何平均价格计算的。TWAP 通常是交易价格的平滑指标和滞后指标。

一文读懂Euler Finance:支持高风险资产的下一代DeFi借贷协议          TradingView 上的 TWAP 模块示例

短时间里间隔内的 TWAP 是一个不太平滑的函数,但更新程度更高,而长时间里间隔内的 TWAP 是一个更平滑的函数,但不是最新的。TWAP 非常适合 Euler 的目的有几个原因:

1.抵抗价格操纵攻击:使用 TWAP 时,闪电贷套利的影响会降低;平滑价格曲线可以防止闪电贷从暂时的价格波动中获益。

2.防止不必要的清算:如果交易量很大,Uniswap 的当前价格可能会大幅变动。然而,TWAP 不会立即做出反应,套利机器人可以迅速将其收窄到更广泛的市场价值,而不会导致不必要的清算。

3.减少 MEV 攻击:TWAP 的连续性可用于实施荷兰式清算拍卖,减少矿工捕获的 MEV(参考下文清算部分)。

清算机制

当借款人的风险调整后负债价值即将超过其风险调整后抵押品的价值时,该头寸将被标记为清算。清算人介入执行必要的清算并获得清算资产折扣奖励。起初,借款人仍有足够的抵押品来偿还贷款(由于超额抵押),但被判定有拖欠贷款的风险。因此,它们可能会被清算以限制违约的可能性。

限制MEV

在 Compound 和 Aave 上,通过以固定百分比折扣(通常在 5-10% 之间)向清算人提供借款人的抵押品来激励清算。这种策略的一个问题是,潜在的清算人通常别无选择,只能进行优先天然气拍卖 (PGA) 以进行有利可图的清算。但由于矿工可提取价值(MEV),交易可以提前进行,也可能会失败。这种方法的另一个问题是,固定折扣可能对大规模清算具有惩罚性,因此会阻碍大借款人,同时不足以支付成本和激励较小额的清算。

为了解决这些问题,Euler使用了不同的方法。它不是固定的折扣百分比,而是允许折扣根据头寸的水下程度而增加,使其成为荷兰式拍卖的一种。随着折扣缓慢增加,每个潜在的清算人必须决定是否以当前的折扣出价进行清算。由于每个清算人对奖励的期望不同,他们会选择不同的时间执行清算。Euler 的 TWAP 价格平滑功能提供了连续的清算机会,这进一步有助于限制 MEV的问题产生。

一文读懂Euler Finance:支持高风险资产的下一代DeFi借贷协议

如上图所示,在典型的清算例子中,当资产价格突破清算价格(红点)时,所有清算人都希望通过设置最高 gas limit 在这里清算以获得固定的 5-10% 的奖励。相比之下,Euler 提供基于 TWAP 平滑价格的可变奖励,允许每个清算人根据他们的成本和期望的利润选择何时清算。清算人的这种分散进入减轻了 MEV 效应。

然而,这个过程仍然不能完全阻止 MEV,因为矿工和领跑者仍然可以窃取清算人的交易。为了限制这种形式的 MEV,Euler通过给流动性提供者一个“折扣助推器”来激励流动性提供者也成为清算人,这使他们能够在荷兰式拍卖中比矿工和领跑者(没有助推器)获利,这反过来劝阻领先者不要参与。

利率

Compound 和 Aave 都使用静态线性(或分段线性)利率模型来指导其协议的借贷成本。从广义上讲,随着从池中借款的需求增加或池中流动性供应减少,利率上升,而当供应增加或借款需求减少时,利率下降。

如果提前对静态模型进行适当的参数化,静态模型可以很好地工作,但如果参数化不正确,则可能会出现问题。例如,如果静态线性函数的斜率太小,可能会导致借贷成本被低估,贷款人无法撤回资产,因为资金池已被过度利用。另一方面,如果静态线性函数的斜率太陡,会导致借贷成本过高,扼杀借贷,导致资本效率低下。

反应性利率

为了避免必须为每个借贷市场选择正确参数的问题,Euler使用控制理论来帮助其自主指导借贷成本。具体来说,Euler 使用 PID 控制器来确保:

  • 当资产利用率高于目标时,放大利率
  • 当资产利用率低于目标时,收缩利率

这会产生反应性利率,实时适应标的资产的市场条件,而无需持续的治理干预。

子账户

资产层级有助于隔离 Euler 上的风险,但它们会带来新的用户体验问题。一旦一个帐户在隔离层中借入了一项资产,它将被锁定,无法借入其他资产。

因此,Euler 使每个以太坊账户都可以创建多达 256 个子账户(包括主账户),这些子账户可用于同时经济高效地管理多个头寸。用户只需批准Euler对代币的一次访问权限,即可充值至任意子账户。这允许用户根据他们的需要轻松地分离不同的账户策略。

总结

为了实现无许可借贷,Euler 使用各种概念设计使其平台以实现这一目标:

  • 隔离:通过资产层隔离风险,
  • 风险指数:为抵押资产和借入资产设置风险指数,允许对不同风险水平的资产进行不同的处理,
  • 荷兰式拍卖清算:利用 TWAP 价格平滑进行连续折扣清算,
  • 反应性利率:根据市场反馈机动性的调整利率。

这些改进的方法,促使Euler未来或许会,成为一种允许无许可上市的下一代借贷协议,这符合去中心化的精神。由于 Euler在以太坊主网上推出的时间不长,需要更多时间(以及团队的持续改进)将证明这些措施是否能够在无需许可的世界中有效地管理借贷风险。