DeFi中的借贷是通过清算来支持的,但这些往往感觉像是一门黑暗的艺术。与传统金融不同,去中心化清算是频繁、即时的,并且通常由匿名运营商执行。
在 DeFi 早期,清算人利润极高,并推动了闪电贷和内存池竞争等创新。与此同时,去中心化金融贷款机构经历了市场动荡,这可能会导致传统金融公司消失。
然而,尽管涉及的资金量很大,工作也很繁重,但关于如何建立清算机制的信息却是碎片化和分散的。这是一个新兴领域,新的贷方尝试不同的机制来解决现有或想象的问题。
在这篇文章中,我们将带您从基础到最高级地了解清算机制。我们将解释清算机制涉及哪些因素,以便您了解现有的清算机制,甚至设计自己的清算机制。
作为传统贷款人,您希望借款人偿还从您那里获得的贷款。如果他们不这样做,您就会积累坏账并可能破产。您可以采取的确保借款人偿还贷款的措施是要求他们借给您一些有价值的东西作为回报。
这称为抵押品。
如果借款人不偿还贷款,或者贷款人认为贷款不太可能偿还,贷款人将出售抵押物并强制偿还贷款,这称为清算。传统贷方将聘请受信任方来清算无力偿债的贷款,并在必要时诉诸法律程序以避免损失。
在去中心化金融中,不偿还贷款没有法律追索权,坏账永远无法收回。另一方面,可以随时知道抵押品的确切价值。由于这些原因,去中心化金融中的无力偿债贷款如果无力偿债,就会立即清算,而不是等待在给定日期偿还。
人们很容易将无法偿还贷款的客户视为不良客户,并且很少考虑他们的福祉。然而,贷方希望保护这些客户,并使清算过程尽可能轻松,因为这些客户可能是回头客。
传统金融和去中心化金融之间的清算还有一个区别,那就是 DeFi 清算人是匿名方,通常不涉及审查。我们将看到如何制定激励措施,以便匿名清算人保护贷方免受坏账影响。
所有清算流程都是在激励清算人和保护用户之间进行权衡。
为了使贷款具有偿付能力,抵押品价值必须始终高于债务价值。两种资产的相对价值随波动性而变化,原本有偿债能力的贷款可能会在以后变得无力偿债。
如果贷款无力偿债,借款人没有动力偿还债务,因为他们收回的抵押品的价值低于他们偿还的债务的价值。贷款人的资本损失可能会迅速累积,导致破产。
为了避免这种结果,贷款人将允许清算无力偿债的贷款,将抵押品出售给清算人,作为交换偿还债务。
为了使贷方保持偿付能力,可以按如下方式实施基本清算:
value(collateral) == value(debt)
所述清算过程的主要缺陷是,只有当抵押品的市场价值低于偿还债务所需资产的市场价值时,贷款才能被清算。这是一个问题,因为我们需要说服匿名方清算贷款,如果没有利润,他们就不会这样做。
为了确保清算人获利,我们需要解释抵押比率并使贷款超额抵押。
上一节中描述的基本清算机制不适用于匿名清算人,因为他们不会从中获利。
解决这个问题的一个简单方法是在贷款无力偿债之前清算贷款。如果借款人被要求提供的抵押品多于偿还债务价值所需的抵押品,清算人在价格下跌时有时间清算贷款以获取利润。
贷款的抵押率定义为抵押品价值除以债务价值的比率。上述场景是超额抵押贷款的一种情况,其中抵押比率要求高于 1.0。
ratio = value(collateral) / value(debt)
考虑到抵押率,我们现在有一个不同的公式来判断贷款是否健康且不会被清算。不良贷款仍有偿付能力,但有资格进行清算。
value(collateral) < value(debt) * ratio
超过 1.0 的抵押率可以激励清算人偿还有破产危险的贷款,从而保护贷方。然而,抵押比率是由债务和抵押资产之间的预期波动性决定的。预期波动性越高,抵押品比率必须越大,以便给清算人采取行动的时间。
对于借款人来说,清算高抵押率贷款的成本可能非常高。因此,这种清算模型仅在概念验证中实现,例如Yield v1和 MakerDAO 前身Sai 。
为了安全起见,贷款人最终可能会过度激励清算人。我们接下来会解决这个问题。
现在,由于清算人为了个人利益而偿还高风险贷款的自私行为,贷款人可以免受坏账的影响。
然而,贷款人需要在自身有偿付能力和吸引借款人之间保持平衡。抵押比例越高,贷款人就越安全,但用户在清算时将承担更高的成本。
为了管理清算人利润、用户损失规模和贷方偿付能力之间的权衡, 至少从Compound v1开始就应用了清算奖金。当使用清算奖金时,清算人通常会以可配置的系数(通常远低于抵押比率)为其偿还的债务获得额外的抵押品。
当然,清算奖金本身可以是以下任意一项的函数:
债务总额或已偿还债务
抵押品或清算抵押品总额
其他一些因素
想象一下一笔贷款,其中 150 单位的抵押品用于借入 100 单位的债务,抵押率为 1.5。抵押品与债务的相对价值下降,清算人介入偿还 100 单位的债务。如果没有清算奖金,清算人将收到 150 单位的抵押品,可能会获得近 50% 的即时利润。
如果清算奖金为 5%,清算人将偿还 100 单位债务,并获得 105 单位抵押品,利润高达 5%。借款人的债务将被消除,并且能够提取剩余的 45 单位抵押品,最多仅损失 5%。
当我们在清算过程中添加额外因素时,错误配置的风险就会增加。
有了清算赠金,我们需要保证最低抵押比例高于清算赠金。否则,要么清算奖金永远无法全额支付,要么贷款人将破产。
如果清算奖金是清算贷款规模的一个因素,那么大借款人在清算时将比小借款人支付更多。为了解决这个问题,贷方通常只会清算部分贷款。
如果一笔有偿债能力但不健康的贷款被分成两等份,其中一份被清算,借款人将获得一半的贷款,加上清算后一半的抵押品(未作为清算奖金)。这意味着仍然存在的一半贷款比以前有更多的抵押品。
接近因素决定了应清算多少比例的贷款,以使清算规模尽可能小,同时将减少的贷款恢复到健康状态。通常,它在即时清算机制中被定义为静态值(例如50%)。
考虑一个例子:
请注意,在此示例中,ETH 抵押系数定义为 75% - 如果您存入价值 1000 美元的 ETH,则最多可以承担价值 750 美元的债务。
在较低的抵押品价格下,抵押率仍高于 1.0,用户和贷方都有偿付能力。清算人获得了 20 美元的抵押品,我们希望这足以支付他的成本并实现利润。
我们不能总是执行部分清算。在某些情况下,退还给借款人的抵押品可能不足以使其余贷款足够健康。它可能仍然不健康并立即被清算,或者它可能是健康的,但很快就会因为波动而被清算。在这些情况下,贷方可能会选择忽略关闭因素并清算整个贷款。
如今,清算与多种市场机制紧密结合。清算人通常会以闪电贷款的形式获得资产来偿还债务,这可能会付出一定的代价。闪电贷通常通过交换在去中心化交易所收到的部分抵押品来偿还,这将产生额外成本,例如交换费用和滑点。只有扣除费用后剩余的抵押品才算作利润。
清算人还必须支付天然气来执行清算交易。清算通常发生在价格波动较大、区块空间竞争激烈且 Gas 价格高于平时的情况下。
清算人会产生其他成本,例如开发和维护软件,该软件必须检查区块链中的所有新区块,以便与其他清算人竞争来清算贷款。
闪电贷和交易成本会侵蚀清算奖金因素,而开发和维护成本是不变的。清算奖金系数需要高于估计的闪电贷和交易系数,这样贷款规模越大,利润就越高。
请注意,我们假设该图中的清算成本是线性的 - 这在实践中可能会发生变化。
考虑市场机制时要考虑的另一个因素是市场流动性。
清算后,贷款抵押品通常会立即出售;除非清算人热衷于持有正在贬值的资产。但这不太可能。因此,这引发了此类销售的可用市场流动性的担忧。
有些人持有的特定资产多于其可用流动性; CRV就是最近臭名昭著的例子。如果允许贷款以不易交易的金额作为抵押,那么这些贷款实际上是不可清算的。
解决方案是对每笔贷款允许的抵押品设置硬性限制,以便单次清算永远不会超过抵押品的可交易数量。即使借款人以最高抵押品发放多笔贷款,这些贷款也将是单独的清算,市场将有机会一一处理它们。
一个不同的解决方案是动态关闭因子,以便将大额贷款分成较小的部分进行清算,从而达到类似的效果。
这些解决方案都不是完美的,因为市场流动性无法提前一致预测。只有贷款人和交易所之间的整合才能允许不仅由价格变化而且由流动性变化触发清算。
一旦我们考虑到天然气成本,较小的贷款将变得无利可图,因为清算它们所需的天然气比贷方授予的奖金更昂贵。
MakerDAO 引入了一个dust
因素,禁止抵押品数量低于估计使贷款有利可图的阈值的贷款。
这种方法是有问题的,因为它取决于未知和不可预测的因素,例如天然气价格和相对于以太坊价格的抵押品价值。主要贷款机构拒绝实施dust
阈值,并且经过多年的运营后,大规模的漏洞尚不为人所知。
考虑到实施dust
阈值的操作开销和攻击面,我们会回避它们。
到目前为止,我们一直在讨论单笔交易中发生的即时清算。一笔贷款变得不健康,并在同一时刻被清算以获得可预测的利润。利润也与贷款规模成正比。
这意味着大额贷款对于清算人来说利润更高,而对于借款人来说风险更大。
贷款人不想惩罚他们最大的客户,拍卖是有时使用的一种工具。在拍卖中清算贷款时,目标是让清算人竞争,并将清算权交给接受以最小利润执行的清算人。
清算拍卖的最初实施可能是 Sai 的实施,它采用了英式拍卖,其中清算人托管资金以偿还债务,同时引用相当于在一定时期内减少清算奖金的价格。清算人托管资金,阻止他们使用闪电贷,这使得这种方法现在无法使用。
MakerDAO 中引入了荷兰式拍卖。在荷兰式拍卖中,支付给清算人的奖金随着拍卖期间的时间而增加。如果清算人等待,它有可能获得更高的利润,但也有被其他清算人乘机的风险。在竞争环境中,结果通常是清算人一旦超过其盈利阈值就结束拍卖。
如果荷兰式拍卖设置为拍卖开始时提供的清算奖金高于 0%,则效果可能是即时拍卖,然后在找不到清算人的情况下逐步增加清算奖金。这是Yield v2使用的方法。
对于实施清算拍卖的贷方和希望获得利润的清算人来说,清算拍卖比即时清算更为复杂。动态债务定价的好处必须与增加的攻击面和清算人的进入门槛进行权衡。
在上述任何一种情况下,都必须考虑实施拍卖清算的额外复杂性。在即时清算中,只有一个参与者,即清算人,也只有一笔交易,即清算。在拍卖中,我们将有一名拍卖师和一名清算人,他们通常会在不同的时间提交一笔交易,并且必须为此获得奖励。攻击面大大增加,激励计划也更加复杂,这可能并不总是更有效的清算定价的合理权衡。
无法清算的贷款统称为坏账。有时它们会合并成一个易于使用的单一值,例如 MakerDAO 中的sin
。
坏账是危险的,因为它表明贷方无法履行其所有承诺,无论是返还其委托的抵押品,还是向向贷方提供流动性的用户提供利润。由于这可能是最后放弃贷方的用户承担所有损失的情况,因此这通常是一场退出竞赛,并带来灾难性的结果。
通常,资产负债表中的这个漏洞是由那些从金库管理贷方的人来填补的。然而,在所有或部分协议用户之间立即社会化坏账似乎是一个更好的主意。这避免了自我强化循环。
我最近读到了 Instadapp 构建Fluid 的一种完全不同的方法。该代码尚不可用,但暗示与 Uniswap v3 风格的 DEX 集成,并且他们关于清算的声明使我们能够推断出可能的设计。
在 Uniswap v3 中,流动性提供者相当于某个价格范围内的期权交易者。当交易池中的价格跨越其提供流动性的范围时,其资产就会被交易。让我们将这个想法延伸到贷款领域,但要有所不同。
当借款人提供抵押品时,该抵押品将在相关 DEX 中用作流动性,在抵押品与用户借入的资产进行交易的池中。债务不是由抵押品本身提供抵押,而是由提供流动性的头寸提供抵押。
如果抵押品相对于借入资产的价值下降,价格将通过 DEX 中的相关流动性头寸变动。结果是抵押品立即以市场价格换取借入资产。
从贷款人的角度来看,贷款总是有抵押的。从用户的角度来看,他们的抵押品的价值取决于市场,如果市场走势对他们不利,他们获得的抵押品可能会少于他们存入的抵押品。
这种方法需要与 Uniswap v3 风格的功能 DEX 深度集成,但它具有不可否认的优势:
清算机制对于 DeFi 借贷至关重要,但人们很少理解它们。用户感兴趣的是他们的投资回报率,而不是贷方的稳定性。没有人认为自己会被清算,所以他们只关心清算时损失了多少。
另一方面,贷款人的设计者应该知道,设计不当的清算机制将是一个根本问题。即使避免了彻底的灾难,不满的清算用户也会发出他们的声音。
最好的清算机制是以用户可能的最低成本将坏账风险降至最低的机制。然而,被清算的用户必须付出一定的成本才能说服清算人清算他们。
在本文中,我们讨论了偿付能力和健康状况。我们已经讨论了抵押率、清算奖金、平仓因子、清算成本和市场限制。我们已经讨论了拍卖作为实现最佳清算的途径。最后,我们还暗示了市场一体化,这可能会使当前的清算机制变得过时。
现在轮到您获取所有这些信息并应用它。祝您清算愉快。
本文由与Calnix联合撰写