原文链接:
https://medium.com/dragonfly-research/daos-ex-machina-an-in-depth-timeline-of-makers-recent-crisis-66d2ae39dd65
作者:Tom Schmidt
翻译&校对:Cortex(CTXC)运营团队雪花
2020年3月12日,MakerDAO经历了它诞生以来最糟糕的一天。全球范围的货币危机,导致ETH的价格暴跌了50%以上。这场暴跌引发了交易所、DeFi协议在内的金融机构面临了一场全面清算。短时间内的大量交易也瞬间导致以太坊网络严重拥堵。
而MakerDAO系统中大部分抵押品都是ETH,那么MakerDAO面临的任务就显得更为严峻:MakerDAO需要在24小时内清算巨额的债务,这次的数字可能是MakerDAO诞生以来产生过的所有债务总和的10倍。
要了解Maker如何通过这一严峻的考验,我们需要重新复盘一下这一系列事件以及事件中的每一层细节。
﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
太平洋时间3月12日凌晨1:00
(北京时间3月12日下午4:00)
ETH 171美金
清算开始
(随着ETH价格下跌,Maker系统中的抵押物开始被清算)
ETH的价格此时开始逐步下跌,MakerDAO上面的清算工作还算可以照常进行。
除去一些ETH投资者和MKR代币持有者的对于价格下跌的恐慌心理,其实整体上MakerDAO系统中抵押物的价格下跌并产生不了太大影响。因为MakerDAO协议本身的设计就可以承受抵押品价值大幅缩水的情况。实际情况也是如此,2018年ETH整体跌幅超过90%的情况下,MakerDAO仍然存活了下来, DAI的价值也仅仅是从1美元下跌了基本可忽略不计的一点点。能实现到这样的效果,协议的原始设计功不可没。
MakerDAO上的每笔债务都是超额抵押(至少150%),因此清算人本来是有足够的缓冲空间来介入并且扣押、清算这些抵押品,从而保障整个Maker系统的偿付能力。
在此之前我写过关于“清算者”的文章中,非常详细的介绍了MakerDAO系统的运转原理。
(Cortex注:关于作者之前写过的介绍MakerDAO系统中“清算者”的文章,链接如下:https://medium.com/dragonfly-research/liquidators-the-secret-whales-helping-defi-function-acf132fbea5e有兴趣的朋友可以点击查看。)
当然,清算“部分抵押”的债务也不例外。一般情况下,不管是中心化的交易所还是去中心化的交易所,都可以轻松完成这一点。
但问题来了:当抵押物的价值下降得太快以至于抵押物价值不足以抵偿债务的时候,会发生什么情况?换句话说,一旦抵押品的价值比债务的价值低,这时候借方肯定溜之大吉,而贷方就只能面临亏损(因为清算抵押品也不足以偿还债务了)。
中心化的交易所通常通过一些保险基金或者一些面向用户的公关手段来弥补此类损失。但是在去中心化交易协议领域里,这中间会发生什么呢?
像Compound之类的交易协议,从机制上模仿中心化交易所,也设立有链上的保险基金。
而MakerDAO则采用了不同的方法:
一旦系统到了全部抵押物价值不足以偿还全部债务的时候,Maker会通过发行和拍卖新的MKR(MakerDAO系统的治理代币)来进行资本重组。把新发行的MKR出售,买家需要从市场上收回Dai来购买MKR,购买新发行MKR的这些Dai被销毁,直到Maker系统回到抵押物价值大于全部债务的状态。投标人可以尽可能高的报出MKR/Dai价格(当然要在自己的意愿可接受范围内),出价最高的投标人会中标,实现交易,完成偿还系统债务。
Maker的竞价拍卖机制是在提前预见到系统可能出现债务的情况下设计的。不过,这种拍卖过程先天就存在一些假设条件,比如:
竞标者将在合理的市场条件下进行竞标,以相对正常的价格来竞拍MKR,合理地填补系统的债务漏洞。
这听起来不错,但“312”带来的恐慌效应,让这些假设化为泡影。
太平洋时间3月12日凌晨5:00
(北京时间3月12日晚8:00)
ETH 130美金
系统债务出现
(被清算的ETH价格的下跌幅度远超现货市场)
随着ETH价格加速下跌,事情的发展开始偏离预期。ETH的价格越来越逼近清算价格。而ETH却仍然跌不停,没有任何反弹甚至止跌的迹象。许多“幸运”的清算参与者不但以低于抵押品当时现货市场的价格(因为有罚款)向借款人偿还了借款而获得抵押物,甚至还有人以0元的价格竞拍得到了免费的ETH。借款人除了被偿还的Dai之外,没有什么其他的收益。
还有更糟糕的,这些严重折价的清算程序给Maker系统的资产负债表上留下了大漏洞 — — 系统持有的ETH抵押品总价值已经无法完全支撑发行出去的Dai继续维持1美元的价格。对于那些没赶上折价清算抵押物的清算者,后面的清算将基于这个结果进行。
现在,恐慌情绪开始在社区里蔓延。要理解为什么会发生这些0元赢得竞拍的情况,我们需要先回顾一下Maker的历史发展。
对于熟悉原来“单抵押物Dai”规则下Maker系统的人,他可能了解Maker此前对清算要进行13%的罚款这一规则。也就是说,已经被清算了的借款人只能收到他们充值资产的87%。其中3%的罚款会给清算人,10%的罚款会给Maker系统。
不过,这样的系统机制不够灵活,很可能会造成惩罚不足(或者过度)的局面。后来,这种规则在“多抵押物Dai”机制中被抵押物拍卖的规则取代。
这个拍卖过程分两个部分:
一. 触及底价阶段
在拍卖过程中,清算者要为固定数量的ETH用Dai出价来竞标,直到达到一个底价。这些出价要满足:
- 必须在距上一次出价后的一个固定时间窗口内完成出价
- 必须比上一次出价高出固定数量的Dai
- 必须在拍卖结束之前出价
一旦有清算者的出价达到了底价,就开始第二阶段。
二. 价格最大化阶段
在第二个拍卖阶段,清算者是为一定量的Dai用ETH出价。机制与第一阶段类似,ETH出价数量低者可赢得竞标。赢得竞标的清算者会以一定的折扣获得ETH。
从理论上讲,这一系统通过市场竞标来评估清算抵押品的价值,允许其根据市场情况进行调整,这样比固定罚款要更好一些。
不过,正如我一次又一次提到的那样,黑天鹅事件会让市场偏离正常轨道。
312事件就是这样。
即便Maker改成了拍卖的机制,但同样,中标者通常也会以低于市场的价格获得被清算的抵押品(比如ETH)。但是,中标的价格在当天下午开始触底。中标的人以越来越低的价格获得ETH。到最后,黑天鹅黑到极端的时候,清算者开始出价0元就能中标,获得ETH,并带着这些免费的ETH扬长而去。借款人也无法用Dai赎回自己的抵押品。这时候,Maker系统开始出现不良债务,这一缺口一度超过500W美金。
为什么会发生这样的情况?
如果在正常的市场状态下,任何参与清算的竞标者都可以看到0元出价并且中标的机会,于是大家都会试图出一些高一点的价格来争夺这些获利的机会。价格就会被抬高。
但是,有两个关键因素,让这所谓“正常的状态”并没有发生。Maker系统雪上加霜。
1)区块链网络拥堵
区块链网络交易带宽是一种共享资源,它的价格是由供需关系决定的。312下午发生的网络拥堵,导致交易费率飙升到正常交易费率的10倍以上,这导致交易所价格出现波动。而套利交易者无法快速进行套利交易,价格失去匹配性。很多支付低额交易费的交易无法被及时打包确认。在Maker系统中,因为0元的出价已经出现,其他用户尝试去出一个更高一点的价格,却因为网络拥堵,出价的这个交易无法被打包确认。最终导致拍卖就这样以0元成交的结果结束。我们可以看到,在一个时间点,赢得拍卖的清算者,付出的交易费平均达到了1000 gwei/交易。这是正常情况下以太坊网络交易费的100倍。然而此时,普通用户还被困在一些极其难用的应用页面上,一遍又一遍的不断重新提交交易,只是为了能挽救他们的资产。
(危机最严重时,Gas价格飙升到极高水平)
由于无法及时获得Oracle的喂价,这些网络拥堵实际上也拖延了整个清算流程。有趣的是,这可能避免了一些更糟的情况发生,因为它无意中扮演了ETH清算过程中的熔断机制。而不好的结果就是,实际发生的几次清算,都比原本应该发生的时间,晚得多。
2)Dai的清算
只有两种方式可以获得Dai:
a. 其一是通过将ETH抵押到Maker抵押资产库,基于一种债务关系来让Maker系统发行Dai。
b. 其二是直接从一些交易所从拥有Dai的人手中购买Dai。一般情况下,这些都是正常的获得渠道。 — — 你可以在Coinbase上以最小的滑点就可以直接用美元买到Dai,也可以通过Uniswap来购买Dai。然而,在312当天,Dai要么被借贷者通过赎回抵押物(ETH)的方式销毁,要么被清算者以清算(未能及时赎回抵押物的部分)的方式销毁,市场中Dai的资产流动性接近枯竭。此外,由于ETH价格波动随时可能下跌触发清算机制,这时候没有用户愿意继续抵押ETH发行Dai。这样导致的结果就是,Dai的供应急剧减少,变得越来越稀缺。Dai的市场交易价格一度达到了1.12美金。这意味着,即使对于那些愿意参与清算的人,也几乎无法买到足够的Dai来行使清算权。
(Cortex注:滑点是指在进行交易时,客户下达的指定交易点位与实际交易点位存在较大差别的一种现象。也就是说,当实际成交价格与起始报价不一样时,便会产生滑点。)
我们可以看到,竞标流程从312那天下午三点开始冷清和低迷,越来越少的清算者有能力真正参与到清算过程中。到最后,只剩下三个清算者参与竞标。每个人都以0元的价格赢得过拍卖,最终导致Maker系统的抵押物价值比预期的最低阈值还低了530W美金。
太平洋时间3月12日下午6:00
(北京时间3月13日早9:00)
ETH 100美金
启动修复530万美金不良债务
在这个时间点,Maker系统资产负债的漏洞仍然非常明显,并且还在持续增长。Maker开始进入危机模式:Maker团队和社区召开紧急会议,讨论一些可能可行的解决方案。
分为两个议题:
分为两个议题:
- 如何堵住漏洞以防止系统负债继续变大?
- 如何最有效的解决系统负债问题?
堵窟窿
Dai的流动性
导致0元清算事件的最大原因,是Dai的流动性严重不足。Dai的流动性不足的问题让Dai锚定1美元的难度不断加大,而且还让想参与清算程序的清算者很难买到Dai,最终导致实际参与到清算程序的用户大幅减少。
Maker风险团队最终提出了两个方案来解决此问题:
- 将Dai储备率降低到0%,从而减少Dai的需求,降低价格,让价格更接近1美元的挂钩价
- 增加USDC(Coinbase发行的稳定币)作为Maker系统的抵押品,可以在极度缺乏流动性的时候鼓励用户以较低的风险来抵押USDC,铸造发行Dai
对于DeFi的一些极端信仰者来说,执行第二个提案意味着做出巨大的自我牺牲。他们认为在这个时候引入USDC这样一个中心化的稳定币,就等于对“MakerDAO完美去中心化”这一光辉形象的亵渎。这些参与会议的负责人声称,这样的改变将会给Maker敲响丧钟。但事实是,Maker团队早在几个月前就已经预示要将USDC在内的其他数字资产列为抵押物,只不过312事件推动加速了时间表。
(Dai的储存利率降低有助于改善流动性不足的问题)
把USDC引入MakerDAO中可能带来什么样的后果?围绕这个问题的讨论让大家陷入了困惑。USDC并非要成为MakerDAO系统中的核心抵押物,毕竟,几乎没人会想一边抵押美元,一边再借出来美元。相反,USDC想要成为只给那些清算者发行Dai提供帮助的一种实用服务,也能为Dai提供更多流动性来帮助Dai锚定1美元。如果这样,有些精明的交易者可以在Dai价格高的时候抵押USDC借出Dai,并出售。然后当Dai的价格跌下来再次回到1美金的时候再买回,从中获得盈利。为了应对此状况,Maker系统可以在以USDC为抵押物的借贷中设置20%的利率,这比以ETH为抵押物的借贷中0.5%的利率高了40倍。
拍卖机制的稳定性
312导致Maker系统资不抵债的另一个核心问题,是拍卖机制本身。
如果拍卖流程可以持续的时间更长一些或者对一些参数进行调整,那么其他清算人也许就有机会参与竞标,抢购到一些被清算的ETH,这样拍卖的成交价也会高一些。但是,拍卖流程的时间太短了。因为网络堵塞,某些清算人可以在其他清算人参与竞标之前,就赢得了此次拍卖,为了让这些抵押品拍卖流程更具有弹性,可以应付网络拥堵的情况。
Maker风险团队再次提出了两个改进提案:
- 把最后一次出价到拍卖结束的时间,从原来的10分钟增加到6小时,以便在网络拥堵的时候,也能让其他的竞价参与进来
- 把ETH的单次拍卖规模从原来的50ETH增加到500ETH,以减少需要拍卖的轮数,并且让竞标者更集中。现在,清算者无需为了参与更多ETH的竞标,而在10次拍卖中出价,而是只在1次拍卖中出价即可
要想让拍卖机制变得更简单且更稳定,还有大量工作要做。但这两个改变,至少能帮助系统变得效率更高一点且更有竞争性。
填补债务窟窿
这些缓解措施落实到位,接下来面临的问题就是,目前抵押品总价值与发行Dai(如果想挂钩1美金)之间已经产生的530万美金的债务,系统如何解决这个问题?有下面三个选项:
1)紧急关停系统
Maker的“核按钮”一直放在桌面上。一旦启动“紧急关停”按钮,所有的Dai将会被冻结。此时,Dai只能用于赎回Maker系统中的基础抵押物。经过一番讨论后,鉴于当前的债务问题还没有严重到这种程度,这个选项率先被排除在外。
2)由Maker基金会偿还这部分债务
一个最简单直接的方式:Maker基金会把债务对应的ETH(让抵押物ETH的价值总额和已经发行的Dai锚定1美金后的价值保持一致)打到Maker系统中,直接可以抹除这个债务问题。这样确实可以简单粗暴地解决债务问题,但是在某些角度,这有些违反了Maker系统最初设定的一些社会契约。
MKR持有者从Maker系统中获得持续收益,但作为交换,他们有责任让该系统支撑起该有的偿付能力。因此,在这种情况下,应该由MKR持有者来偿还这一部分债务 — — 毕竟,他们会因为承担了这种风险而得到后续长久收益的补偿。如果只是由Maker基金会来简单的支付偿还债务,MKR存在的意义和Maker系统是否真的去中心化,就会被质疑。
3)通过发行、拍卖MKR来偿还债务
不过幸运的是,Maker协议在最初就设计了“发生损失时自我修复”的机制。产生债务的48小时后,系统将自动发行新的MKR,然后通过一系列拍卖流程将其出售为Dai,收回来的Dai将会被销毁。这种拍卖将一直进行,直到填补上所有债务窟窿。拍卖的成交价格不会一直很低,因为那样的话,被发行出来进行拍卖的MKR就会更多,MKR持有者将会面临手里的MKR资产被稀释的情况,就会阻止这种情况出现。
但现实情况是,在当前这个全市场恐慌的局面下,MKR的拍卖不太可能以一个正常(和市场匹配)的价格成交。还有一点,即使有大量的人想要参与拍卖,此时Dai的流动性严重不足,也很难实现这一点。
结果是,有一个修改方案被提出:4.5天后,等市场稳定下来,Dai的流动性不足的问题得到解决后,新发行的MKR再进行拍卖。
太平洋时间3月13日凌晨00:00
(北京时间3月13日下午3:00)
ETH 120美金
开始对提案进行投票
投票开始:召集所有MKR持有者进行投票,最终通过了一系列提议。包括“把USDC作为抵押物”这一提议。
3月13日~3月19日 为拍卖做准备
即便在这全市场范围的恐慌之下,还是有一小部分用户开始着手准备在此次拍卖中参与竞标。竞标者首先要准备好足够的Dai来投标。如果没有“把USDC作为抵押物发行新的Dai”这个提议,既想把Dai的价格重新拉回1美金锚定值,又要能给市场提供足够的流动性来让想参与竞拍的人能买到大量Dai,这一点几乎不可能做到。此外,想参与竞标的人必须要以50000 Dai为单位来参与竞标MKR(意思是竞拍新发行MKR的起步出价就是50000 Dai)。这就造成了资金上的门槛,一些大型基金(如Paradigm)声称自己会拿500W美金来参与竞标,而那些小散户则被排挤出这场竞争。此外,还有一些技术上的门槛:竞标者需要运行一个自己的Maker拍卖代理程序(链下的程序)用于监控拍卖进程和及时出价。
(我们可以看到ETH(绿色)从Maker系统中流出,而USDC(红色)开始流入)
针对这些问题,一个叫“Backstop Syndicate”的去中心化组织声称他们要众筹小规模参与者的资金,一起去竞拍MKR,出价为100美金/MKR。任何人都可以无门槛地参与进来,只需要将Dai存入一个智能合约中,然后依靠一个竞价机器人在拍卖中出价。一呼百应,最终超过350000 Dai被存入了这个合约中。尽管最后没有任何一次竞标成功,但它凸显了众多用户对Maker的支持以及Maker在整个DeFi系统中的群众基础。
Maker基金会也发挥了一些自己的作用,构建了一个定制化、相对便捷的UI界面,来让投资者相对更容易参与竞拍。
太平洋时间3月19日7:30
(北京时间3月19日晚10:30)
ETH 126美金
拍卖开始
经过6天的准备,竞标者终于可以大展身手了:MKR开始发行、被拍卖。我们看到,最终一共36个独立的竞标者参与拍卖,而成交价格也和现货市场价格比较接近。其实,实际参与个体数量应该比36还要多,因为Maker基金会也帮助了一些无法参与竞标的人出价。
拍卖持续进行,截止到发稿,一共有17630枚MKR被发行并拍卖,获得了430万美元(Dai)用于偿还系统债务。给MKR造成的通货膨胀率约为1.7%。
(Cortex注:到此次拍卖结束,一共有20980个MKR被发行并拍卖售出,总进行了106次拍卖,拍卖所得共530万Dai。)
(MKR拍卖的价格接近市场行情)
﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
我们该去向何处?
每一次对危机的复盘,都是学习和改进的机会。那么,Maker将会从这一次危机中学到些什么呢?我们是否应该对它未来的前景继续抱有期待呢?
- 我们需要更好的风险模型和危机分析
312那天发生的很多问题,在最初设计这一体系的时候,并没有立刻凸显。而当系统完全暴露在众多财务激励(赚钱为目的)且匿名的参与者面前,很多创始开发团队意料之外的紧急情况就会出现。对Maker来说,从第一版设计开始,随着时间推移反复迭代,通常没什么问题。但这个系统面临的是数亿美元规模的资产风险,且存在诸多不可预测的外部风险。Maker需要一个更严格的方式来监控整个系统,而不是依赖一个简单的模型。
以Compound为例,使用来自Gauntlet的模拟,他们发现在市场动荡期,去中心化交易所可能没有足够的流动性来盈利性地清算那些有风险的头寸,从而让整个系统置于危险之中。想要收集这些想法形成判断,必须通过一些更复杂的风险模型来实现。
- 我们需要更好的数据和工具
312发生的事情加剧了另一个问题的凸显:Maker系统缺乏透明度。用户要花费太多时间才能清楚得了解系统目前正在发生的事情,甚至还要再花更长的时间才能诊断出发生这些问题的原因。Maker生态系统中的参与者,只能把交易数据和内存池数据整理在一起,来复盘整个事件的时间轴。即便理解了0元拍卖的出价问题,还是存在另一个障碍:众所周知,Maker系统的代码库并不是开源的,因此想要快速部署一个新的拍卖程序是很难做到的。举例说明:MKR拍卖正式开始之前,即使开发团队玩命地开发,前面提到的那个相对便捷的拍卖网站也没能及时上线。因此,众多想要参与竞拍的非技术用户,最终也没能参与进去。
改善Maker的易读性和可访问性可以极大地改善这些问题。Maker如果希望变得更有韧性,就需要更多的参与者。
- 我们需要更好的风险管理工具,包括对冲、保险
除了对Maker系统进行那些重量级的改进之外,还有一个更广泛的问题需要得到关注:我们如何才能让整个数字货币市场更加稳健,尽可能不受极端风险的影响。
一些人呼吁对广义的数字货币市场结构进行改革,但DeFi是一种另类的洪水猛兽,它需要自己的解决方案。可以想像下,如果实现抵押物的多样化、一揽子抵押,或者互相之间相关性较差的多种基础抵押物,可能会部分缓解一些Maker的极端风险压力。或者考虑一下,如果抵押物不仅仅只有一种ETH,而是包含和ETH反向的相关资产(例如以太坊的看跌期权或者sETH),是不是可以建立一个更接近于市场中立的投资组合。在最近的这次抛售中,我们看到所有类别的资产之间的相关性都在收紧,而如果在Maker抵押品中添加相关性差的一些合成资产,理论上可以提高整个系统的安全性。
(Cortex注:sETH是 short ETH的简称,一种做空ETH的资产。)
然后是“有人花0美元清算了抵押品”这个事实 — — 实际上,这相当于他们的抵押品被盗了。尽管这并不是纯粹的技术原因被黑客入侵,但对Maker用户而言,结果肯定是他们成为了某些问题的最终受害者。通过使用正确的保险工具,可以对冲此类风险,从而使用户对系统更有信心。就像众多Compound用户在Opyn上配置一些去中心化的期权来给Compound上充值的资产做保险一样。想像一下,Maker上的抵押资产所有者用一种类似的期权方式,可以以一个和市场相符的价格出售他们拥有的抵押物资产的价值。这样一来,那些想从中赚钱的承销商组成的网络就可以评估Maker以及抵押物价格的风险,并且重新分配这些伴随的风险。与传统的保险产品(如Nexus Mutual)相比,期权具有更大的灵活性,可以在一些模棱两可的情况下进行赔付。而Nexus Mutual从312开始,已经拒绝为Maker进行赔付了……
随着Maker完成了这一轮“英雄之旅”,毫无疑问,再次回归到我们视野的Maker已经在很多方面发生了改进,并且很有希望变得更有韧性。但要警惕,即使Maker再一次巩固了其作为DeFi全球信贷机构的基础地位,它仍然还是有很多空间可以继续提升。
非常感谢Teo Leibowitz, Fredrik Haga和Dune Analytics对于本文提供的数据帮助。同时也感谢Haseeb Qureshi对于撰写本文的帮助。
根据央行等部门发布“关于进一步防范和处置虚拟货币交易炒作风险的通知”,本文内容来自网络,所有内容只做信息分享学习使用,不对任何经营与投资行为进行推广与背书,请读者严格遵守所在地区法律法规,不参与任何非法金融活动。内容不代表牛谈观点,发布者:比特老爹,转载请注明出处:https://niutan.com/24634.html