背景信息

https://docs.usual.money/

Usual 是一个聚合 RWA 的稳定币发行协议,经济模型中存在三种代币:

  1. USD0:Usual 发行的稳定币。
  2. USD0++:USD0++ 是 USD0 的质押版本,为期4年,可获得 USUAL 代币奖励。
  3. USUAL:Usual 协议的治理代币。

事发缘由

https://usual.money/blog/usual-s-next-leap-solidifying-a-4-year-horizon-for-sustainable-growth

20250110,Usual 官方发公告调整 USD0++ 赎回规则,从原先的 USD0++ 可随时 1:1 兑换成 USD0 的退出机制,改为了下面两种带有处罚性质的退出机制:

  1. 有条件退出:1:1 赎回,但需要没收部分 USUAL 收益。
  2. 无条件退出:以底价赎回,目前设定为 0.87:1 ,并随着时间的推移逐渐趋于 1 美元。

这使得 USD0++ 的价格迅速从 1 跌到了 0.9

循环贷坏账风险

USD0++ 价格的下跌进一步影响了 Morpho 上进行循环贷的用户,导致这类用户需要承担高额的借款利息,直到被清算。

为什么要做循环贷

首先需要搞明白为什么会有用户在 Morpho 上进行循环贷:质押 USD0++,借出 USDC,再将 USDC 兑换成 USD0++ 进行质押,继续借出 USDC …

通常认为 USD0++ 作为 USD0 的 LST,需要持有 USD0++ 才能获取到奖励代币。但是 Usual 为了激励 USD0++ 持有者参与到 Morpho 中(可能是为了减少抛售?),如果你将 USD0++ 作为抵押品提供贷 Morpho 市场中,Usual 仍然会向你发放奖励。

在 Morpho 上的 USD0++ / USDC 市场提供了 10.36 USD0++ 作为抵押品。

在 Usual 的页面中显示已经按照 25% 的 APY 进行奖励。

由于这个机制的存在,使得一部分为了最求更高收益率的用户通过循环贷的方式在 Morpho 抵押尽可能多的 USD0++。

Morpho 固定预言机为你的循环贷保驾护航

经常做循环贷的朋友都知道,循环贷就相当于给这笔借贷加上了杠杆,循环的次数越多,杠杆越大,借出来的资金也就越多。在拉高杠杆的同时也需要面临价格波动导致高杆杠更容易被清算的风险。

不过不用担心!体贴的 Usual 项目方已经给你安排好啦!

https://app.morpho.org/market?id=0xb48bb53f0f2690c71e8813f2dc7ed6fca9ac4b0ace3faa37b4a8e5ece38fa1a2&network=mainnet

在 20240724 创建的市场 0xb48b 中,采用的是固定价格预言机,也就是说 USD0++ / USDC 的价格是一个常量 1,不会波动不会变。这下子用户终于可以放心大胆地进行循环贷了!

价格下跌,坏账出现

由于 Morpho 市场 USD0++ 的预言机价格为常量 1 ,清算惩罚为 4.38%,这就意味着如果 USD0++ 的实际价格低于 0.958 时,清算将无法获利,从而形成坏账。

基于 Morpho 市场的参数,清算 1 USDC 将获得 1.0438 USD0++。当 USD0++ 的价格低于 1 / 1.0438 = 0.958 时,清算 1 USDC 所获得的 USD0++ 价值将低于 1 USDC。

由于在 Usual 团队发出公告后 USD0++ 的价格从 1 下跌到最低 0.9,这使得 Morpho USD0++ / USDC 市场的流动性大量撤出。

  1. 贷款方:由于抵押品的价格下跌出现坏账风险,所以紧急撤离。
  2. 借款方:由于贷款方大测出,借贷比例上升,导致借款方需要支付高额的利息(且失去了 USUAL 奖励),所以同样撤出。

由于需要先还款才能撤走借款代币,所以 Supply 的撤出高峰在 Borrow 的撤出高峰之后。

Usual 清算组合拳

USD0++ 币价下跌,Morpho USD0++ / USDC 市场流动性撤出甚至出现坏账,整个晋西北乱成了一锅粥。这时候 Usual 项目方下场了,建立新市场,清算旧坏账。

建立新市场

https://x.com/usualmoney/status/1877870480268390682

Usual 在 11 号发布了一则公告,表示将会建立新的 Morpho 市场, 要求用户尽快将仓位迁移到新市场,旧市场的奖励将被废弃。

https://forum.morpho.org/t/usual-boosted-usdc-vault-whitelisting/686/11

在这篇文章中提到了新市场的一个细节:新市场的 USD0++ / USDC 价格被固定为 0.87!

新创建的 0x1EDA 市场价格,同样是采用固定预言机,只不过这次是把价格固定在了 0.87。

这个操作,使得旧市场中还没形成坏账的仓位从旧市场撤出,为了获取 USUAL 奖励而重新投入到新市场中。

清算旧坏账

未产生坏账的资金已经通过新市场安置好了,旧市场的坏账资金要怎么处理呢?Usual 选择亲自对旧市场的坏账进行清算。

查看其中一笔清算交易:https://app.blocksec.com/explorer/tx/eth/0x6aaae634c41231967681fb39dffc041a4c8e54d0277d4047191df7884601b5e4

项目方用价值 3832000 U 的 USDC 换回来了价值 3621587 U 的 4000000 USD0++,妥妥的清算了一笔坏账。

Usual 清算了这么多坏账,那它亏了吗?从账面上来看无论谁去做这笔清算都只能是认亏了,但是他作为项目方,前面提到的 USD0++ 退出惩罚机制都是针对用户的惩罚机制。作为 USD0 和 USD0++ 的发行方,Usual 完全可以绕过市场汇率限制,将 USDC0++ 换回 USD0。

也就是说,如果 Usual 将清算得到的 USDC0++ 按照 1:1 的比例换回 USD0,这笔清算他将获利 16800 U(4.38%)。

很奇妙吧。

清算后续

https://x.com/usualmoney/status/1878063870394188065

在对旧市场的大户进行了清算以后,Usual 在 X 上发布了新的推文,文中表示所有清算收益将直接流入 DAO 金库,最终使 USUAL 持有者受益。但是,收益分配的事情还没有这么简单。

  1. https://2034998704-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1PZgcBJJQo2ycNcagHTM%2Fuploads%2FP01n3oEDgxUDbfHhPRbH%2F20241127_Usual_Whitepaper.pdf?alt=media&token=7ea18542-1e8b-4f60-bbf0-e6f01ff42fce
  2. USUAL* Recap

在 UsualWhitepaper 的 5.3 中提到了一种称为 USUAL* 的代币,作为协议的创始代币(只分配给投资者、团队、贡献者和顾问),USUAL* 和质押的 USUAL 持有者平分产生的所有费用。也就是说,即使将这次的清算收益通过 DAO 金库分发给 USUAL 持有者,项目方依然可以依靠 USUAL* 代币分得一杯羹。

至此,由 USD0++ 赎回机制调整导致的连锁事件暂告一段落,官方的 X 账号目前也没有新的内容更新。在这个事件中主要遭受损失的用户还是在 Morpho 上抵押 USD0++ 进行循环贷的用户。目前社交账号上对 Usual 的讨论主要以谴责项目方为主。第一次对这类区块链事件进行分享(挺有意思),如果文章存在纰漏或者理解不当的地方,还请多多指教。

【事件分析】20250112-Usual 赎回机制调整事件的更多相关文章

  1. Android中Touch事件分析--解决HorizontalScrollView滑动和按钮事件触发问题

    之前写过关于HorizontalScrollView滑动和按钮事件触发问题,但是不能所有的情况,最近几天一直在想这个问题,今天有一个比较好的解决思路,最终应用在项目里面效果也很好,首先说明一下功能: ...

  2. DBA_Oracle Event等待事件分析(概念)

    2014-12-18 Created By BaoXinjian

  3. jQuery-1.9.1源码分析系列(十) 事件系统——事件体系结构

    又是一个重磅功能点. 在分析源码之前分析一下体系结构,有助于源码理解.实际上在jQuery出现之前,Dean Edwards的跨浏览器AddEvent()设计做的已经比较优秀了:而且jQuery事件系 ...

  4. jQuery源码解读-事件分析

    最原始的事件注册 addEventListener方法大家应该都很熟悉,它是Html元素注册事件最原始的方法.先看下addEventListener方法签名: element.addEventList ...

  5. 关于JAVA中事件分发和监听机制实现的代码实例-绝对原创实用

    http://blog.csdn.net/5iasp/article/details/37054171 文章标题:关于JAVA中事件分发和监听机制实现的代码实例 文章地址: http://blog.c ...

  6. cocos2d-x游戏引擎核心(3.x)----事件分发机制之事件从(android,ios,desktop)系统传到cocos2dx的过程浅析

    (一) Android平台下: cocos2dx 版本3.2,先导入一个android工程,然后看下AndroidManifest.xml <application android:label= ...

  7. QT源码之Qt信号槽机制与事件机制的联系

    QT源码之Qt信号槽机制与事件机制的联系是本文要介绍的内容,通过解决一个问题,从中分析出的理论,先来看内容. 本文就是来解决一个问题,就是当signal和slot的连接为Qt::QueuedConne ...

  8. Android 框架学习2:源码分析 EventBus 3.0 如何实现事件总线

    Go beyond yourself rather than beyond others. 上篇文章 深入理解 EventBus 3.0 之使用篇 我们了解了 EventBus 的特性以及如何使用,这 ...

  9. 08 (OC)* 事件的传递和响应机制

    前言:苹果的官方文档<Event Handling Guide for iOS>对事件处理做了非常详尽清晰的解释,建议大家仔细研读 1. iOS中的事件介绍 2. 事件的产生和传递 3. ...

  10. react第五单元(事件系统-原生事件-react中的合成事件-详解事件的冒泡和捕获机制)

    第五单元(事件系统-原生事件-react中的合成事件-详解事件的冒泡和捕获机制) 课程目标 深入理解和掌握事件的冒泡及捕获机制 理解react中的合成事件的本质 在react组件中合理的使用原生事件 ...

随机推荐

  1. 使用 FastGPT 实现最佳 AI 翻译工作流:全世界最信达雅的翻译

    想让AI翻译既准确又地道?本文将教你如何利用 FastGPT 打造一个革命性的翻译工作流. 它不仅支持文本翻译,还能直接处理文档,更能通过自定义术语表确保专业术语的翻译准确性,堪称翻译神器! 直接看效 ...

  2. AOT使用经验总结

    一.引言 站长接触 AOT 已有 3 个月之久,此前在<好消息:NET 9 X86 AOT的突破 - 支持老旧Win7与XP环境>一文中就有所提及.在这段时间里,站长使用 Avalonia ...

  3. 动态避障-图扑自动寻路 3D 可视化

    自动寻路是机器人导航的核心技术,其原理主要涉及机器人与环境之间的复杂信息交互与处理.在自动寻路过程中,机器人依靠先进的传感器系统,如高清摄像头.精密激光雷达和灵敏超声波装置,全方位感知周围环境.这些传 ...

  4. 3.21 Linux PATH环境变量及作用(初学者必读)

    在讲解 PATH 环境变量之前,首先介绍一下 which 命令,它用于查找某个命令所在的绝对路径.例如: [root@localhost ~]# which rm /bin/rm [root@loca ...

  5. 通过wget命令扒站仿站

    在Linux下,通过一个命令就可以把整个站相关的文件全部下载下来. wget -r -p -k -np [网址] 参数说明: -r : 递归下载 -p : 下载所有用于显示 HTML 页面的图片之类的 ...

  6. Python爬虫基本库

    3 基本库的使用 1)使用 urllib 是python内置的HTTP请求库,包含request.error.parse.robotparser urlopen() urllib.request.ur ...

  7. 移动端元素定位辅助神器-WEditor

    WEditor可以做什么? 编辑器能够提供辅助编写脚本,查看组件信息,调试代码等功能. 移动端除了用 Appium 来 做元素定位外,还可以通过 WEditor 来完成. 前置环境依赖按照 以 win ...

  8. meta-analysis初学--笔记摘抄

    meta-analysis的定义 Meta-analysis是指对研究的研究,可以翻译为元分析.后设分析.整合分析.荟萃分析等.最常用的翻译是荟萃分析.Meta-analysis是用统计的概念与方法, ...

  9. 玩转AI工作流:一步步搭建灵活的自动化流程

    我们之前搭建了许多不同类型的智能体,其中最受欢迎的就是在智能体中搭建各种工作流--这也是我最喜欢探索和玩的领域.那么,究竟什么是工作流?如何在后端实现一个工作流呢?今天我们就先简单了解下. 什么是工作 ...

  10. 基于 JUnit 的全局单元测试程序

    在 Java 程序中,JUnit 是备受开发人员喜爱的单元测试工具.通常,程序员会对每个程序的每个模块写单元测试.对于小型程序来说,程序员只需要手工执行这些单元测试程序就可以,工作量并不大,但是对于中 ...