mt logoMyToken
ETH Gas
عربى

同样一笔坏账,五种认亏时点:DeFi金库损失由谁承担?

يجمعcollect
شاركshare

撰文:@definikos

编译:AididiaoJP,Foresight News

金库损失路由图,不回答「会不会亏」。它只回答亏了之后的事:账面什么时候认,损失先落在哪个余额,中间有什么吸收层,存款人最后看到什么,谁又走不掉。

每个策略分仓,在第一笔存款之前,都该先把这张表填上一行。

同一笔坏账,五种认亏时点

假设有 300 万美元坏账,对应 1 亿美元存款。

在 Morpho 的孤立市场里,最后一批抵押品被清算的那一刻,所有存款人立刻承担 3% 的损失。

在 Aave 按资产统一归集的共享资金池里,存款人的 aToken 余额账面不动。坏账被核销,资金池记上一笔赤字,Umbrella 中的缓冲质押被削减。覆盖之后仍剩下的缺口,由存款人作为剩余资不抵债承担,而不是直接按比例扣减存款余额。注:Umbrella 是 Aave 的坏账缓冲机制:用户质押资产赚取奖励,代价是协议出现坏账时,对应质押会被削减用于填补缺口。

在 Morpho Vault V1.1 的策展金库里,份额价格完全不动,最后跑掉的存款人把损失留给留下的人。

队列式金库靠预言机定期提交的估值报告定价。下一份估值出来之前,账面什么都不会变。如果这次估值跌幅超过预设的可疑区间,报告会被隔离,金库直接冻结。

在带 10% 次级层的分级结构里,300 万美元坏账全部落在 1000 万美元的次级层上,次级层亏损 30%,优先级不受影响。

每次损失金额都一样。变的是损失走哪条路径、什么时候认亏。什么时候认亏,和损失落在哪一层一样,决定最终谁买单。

只要损失已经发生、却还没入账,能以旧价格退出的人,就会把自己那份损失转嫁给留下来的人。

IMG_257

每个结构问五个问题

这张图对每种结构都问同样五件事:

触发:什么事件让损失在账上被确认?

不是「资产实际亏了」就算,而是要等一个链上事件把亏损写进会计。坏账清算、估值报告、减值、治理投票,都可能成为触发点。触发没发生,损失就还挂在账外。

首落:损失最先落在哪个余额上?

亏损确认后,先变的是哪个数字。可能是市场的总存款、资金池的赤字、金库的份额价格,也可能是某个次级层。先落点不同,后面谁承担就完全不同。

吸收层:首落点和存款人之间,还有什么先挡着?

损失不一定直接落到存款人头上。中间可能有抵扣、可罚没的质押、次级层、第一损失层。这些层越厚,存款人看到的损失越小;层用完了,才轮到存款人。

触达:存款人实际看到什么?

账面表现和真实损失可能不是一回事。存款人看到的可能是份额价格下跌,可能是赎回队列被冻结,也可能账面仍按面值显示、但背后的索取权已经受损。

认亏时点:这笔损失什么时候才算数?

是同一区块立刻认,还是等下一次交互、下一份报告、治理投票,甚至永远不认?认亏越晚,越多人有机会按旧价格退出,把损失留给后来留下的人。

只要预言机一直按面值给抵押品报价,系统就看不到抵押品已经贬值,坏账清算也就不会触发。损失不会入账,会一直留在账外,直到有人强行推动清算,或强制更新价格。

借贷市场:损失先落在哪里

孤立市场

Morpho 的孤立市场里,清算人拿走借款人最后一批抵押品后,如果债务还没还完,剩余部分会在同一笔调用里被核销,由该市场全体存款人按比例承担。

坏账公式可以写成:

BD = D − C·p / LIF

其中 D 是债务,C·p 是抵押品价值,LIF 是清算激励。

举例:1000 万美元债务,抵押品价格跌到 730 万美元,LIF 为 1.044、LLTV 为 86%:

10 − 7.3 / 1.044 ≈ 300 万美元,也就是 1 亿美元市场的 3%。

坏账和存款人之间,没有任何储备金或基金先垫着,损失会直接落到这个市场的存款人头上。按理说,认亏时点就是清算发生的同一个区块。但这要同时满足三个条件:

  • 第一,预言机得认定这个仓位已经抵押不足、处于不健康状态;
  • 第二,清算人得觉得最后那点抵押品还值得接手,扣掉清算奖励后不亏;
  • 第三,预言机调用不能报错。

三个条件缺一个,这笔损失就不会在当下确认,可能一直挂在账外,变成「永远不认」。

共享资金池

Aave 自 v3.3 起,如果清算后账户抵押品归零、债务还有剩余,会把剩余债务烧掉,并在储备上记一笔赤字。

这笔赤字单独记账,不直接改动 aToken 的兑换比例。所以存款人打开账户,看到的余额还是原来的面值,不会立刻少一块。

接下来由 Umbrella 来补这个窟窿,顺序是:先用 DAO 预先留出的赤字抵扣额度,这部分相当于第一层缓冲;额度用完后还不够,UmbrellaCore 就会自动削减该资产池里用户质押的 aToken,用来填剩下的缺口。

注意,即使质押者已经申请退出、正在 20 天冷却期里等解锁,这部分质押仍然可能被削减。冷却期不等于安全期。

两层之后还剩的,就是剩余资不抵债,只有治理能注资。

每个存款人的未覆盖缺口可以写成:

h = max(0, B − O − Z) / S

B 是坏账,O 是抵扣,Z 是可罚没质押,S 是总存款。

举例:500 万美元坏账、10 万美元抵扣、300 万美元质押、5 亿美元存款:

(5 − 0.1 − 3) / 500 = 0.38%。

0.38% 只是算出来的平均缺口,不会有人账户上被直接扣掉 0.38%。只要池子里还有钱,提款仍按 1:1 兑付,先走的人按面值拿回。窟窿不会消失,只是留给最后还没走的人。谁最后还持有存款头寸,谁承担全部未覆盖损失。

金库会计:同样的坏账,不同的认亏时点

策展金库架在孤立市场之上。市场负责确认损失,金库版本决定份额价格什么时候看到损失。

Vault V1.0:损失当场认,所有人立刻按比例分摊。

坏账清算一发生,份额价格马上被砍。比如 1 亿美元金库亏 400 万美元,份额价格立刻跌 4%。所有当前持有人按比例承担,不管你有没有跑掉。

Vault V1.1:损失记账但不改价,最后走的人承担。

坏账发生时,损失被记进 lostAssets 这个科目,但份额价格不动。先提款的人仍按旧价格拿钱,等于按面值退出。窟窿留在金库里,最后还没走的人承担。除非策展人(curator)自己掏钱补上这个缺口。

Vault V2:等到下一次计息,发现实际资产低于账面资产时才认。

V2 不在坏账清算那一刻记账,而是等到下一次计息周期。届时系统比较适配器的实际资产和金库记录的账面总资产:如果实际资产已经低于账面总额,差额才被记为损失。

递延会把损失变成排队。假设递延了 X,金库资产 A,在确认前按面值提走 W,留下的人承担的损失是:

h = X / (A − W)

举例:1 亿美元金库亏 400 万美元,先提走 6000 万美元:

4 / 40 = 10%,而如果立刻记账只有 4%。

V2 还有自己的版本。在市场确认坏账之前,坏账贷款还在继续计息,把份额价格抬高。新存款人按这个价格进来,早走的人拿走没有对应资产的利息。把 maxRate 设为 0 能停止继续计息,但已经计进去的拿不回来。

赎回要排队的金库:损失等估值报告才认

在有策略权限控制的金库架构上,没有任何场所会直接把损失写进份额价格。损失要到下一份报告才落地:提交方逐项估值时,把仓位价格调低。然后由安全参数决定怎么路由。

  • 波动落在可疑区间内,照常接受。
  • 落在可疑区间与最大偏离之间,报告被隔离,存款、赎回和费用全部冻结,直到独立复核人签字。
  • 超过最大偏离,直接回滚。

任何按尚未包含该损失的报告定价的赎回批次,仍按旧价格支付。

嵌套金库:损失要认两次

母金库把钱投进子金库,子金库再去投底层资产。子金库亏损后,要先在子金库层面认一次;母金库则要等到自己的下一次计息或出报告,才把亏损传上来。等于同一笔损失要认两次,中间隔着一段时间差。

在这段时间里,母金库的份额价格还按旧价显示。能按旧价退出的人,就把损失留给了后来留下的人。

换算到母金库层面的损失,就是母金库投在子金库里的权重,乘以子金库的亏损。比如母金库有 20% 的资产投在子金库,子金库亏 10%,母金库层面就是 2% 的损失。

你自己写进结构的吸收层

分级结构

有次级层 J 时,损失这样分:

L_J = min(Loss, J),L_S = max(0, Loss − J)

池子 100,次级 10,亏 15:次级全没,优先级承担剩下的 5;优先级本金 90,损失约 5.6%。

但触发权通常不在你手里。Neutrl 在 8 月 13 日暂停 NUSD 铸造和赎回,9 月 17 日以 0.51 的赎回率重开。在 Strata 上,约占结构五分之一的 jrNUSD 被清零,srNUSD 承担剩余。暂停期间,NUSD 的跟踪价格仍在 0.998 附近,所以发行人给出新价格之前,损失分摊的瀑布根本没法启动。

第一损失质押

发起人质押只有在有人真正把它烧掉时,才是次级层。否则它和其他份额一起按比例亏。

举例:2 亿美元金库,循环分仓占 NAV 的 10%、杠杆 4 倍,抵押品打 10% 折扣:

10% × 4 × 10% × 2 亿 = 800 万美元损失。

如果烧掉 300 万美元质押:

(8 − 3) / 197 ≈ 2.5%,由存款人承担。

如果烧质押比减记晚一份报告,那么夹在中间、按旧价定价的那批人先吃损失,烧质押补偿的是留下的人。

别人决定的损失

循环分仓

杠杆分仓会先放大损失,再路由。近似关系是:

ΔE/E ≈ L·w

4 倍杠杆、10% 抵押品折扣,分仓权益直接损失 40%,还要加上清算奖励和解仓滑点。金库要到下一份报告才看见。

抵押品发行人

跨链 LRT、合成美元、RWA 基金,损失多大由发行人、管理人或投票决定,常常比事件本身晚几周。

当跨链桥铸出无背书代币时,发行人决定是全体持有人分摊缺口,还是让某条链的包装资产独自承担。Aave 的 rsETH 事件报告算了统一分摊的情形:

112,204 / (629,689 + 112,204) ≈ 15.1%。

合成美元靠储备基金吸收两类亏损:一是负资金费,二是底层抵押品不足以支撑负债时的背书缺口。但储备基金不是无限的,文档通常只写它用来覆盖亏损,不写耗尽之后怎么办。

Neutrl 给出的实际答案,是下调赎回率。NUSD 在 8 月 13 日暂停铸造和赎回,9 月 17 日重开时,赎回率定为 0.51。也就是说,1 NUSD 不再按 1 美元兑付,只能拿回 0.51 美元。储备基金补不上的部分,通过赎回率一次性转给持有人。

这说明合成美元的「1 美元」不是保证,而是一个目标。储备基金厚的时候,锚定看起来稳;储备基金耗尽后,损失怎么分,取决于发行人怎么定赎回率。文档不写,不等于风险不存在,只等于规则由发行人临场决定。

私人信贷

私人信贷的路径相反。Maple 上,在减值期间提款的出借人,把减值后的价值变成永久损失;之后任何回收,按比例分给留下来的出借人。

100 万美元、10% 减值,走的人拿 90 万美元。如果借款人后来还了,留下的人恢复到 100 万美元,走的人把损失锁死。

这里,早走锁定损失,留下的人才能拿到回收款。

损失路由地图

IMG_258

小结

同样一笔坏账,落在哪个余额、中间有几层缓冲、存款人看到的是份额价格下跌还是账面不动、什么时候认亏,决定了最后谁买单。

第一笔存款之前,每个策略分仓都该把五个问题写清楚:什么事件触发损失、损失先打在哪、中间有什么吸收层、存款人实际看到什么、这笔损失什么时候认。

五个问题没填清楚,你以为买的是收益,实际买的是别人按旧价格跑掉后留下的排队位置。

إخلاء المسؤولية: تعود حقوق نشر هذه المقالة إلى المؤلف الأصلي ولا تمثل MyToken(www.mytokencap.com)الآراء والمواقف ؛ يرجى الاتصال بنا إذا كانت لديك أسئلة حول المحتوى وحقوق التأليف والنشر وما إلى ذلك.
community_x_prefix
X(https://x.com/MyTokencap)
community_tg_prefixcommunity_tg_name
(https://t.me/mytokenGroup)
القراءة ذات الصلة