DAI 和 Frax,发行机制里都有着十分花哨且值得玩味的所在。仔细探究一番,不由感慨,TVL 很大程度上是一个数字游戏。 之前写过 Frax,Frax 很大一部分的发行量在我看来属于虚拟的存在。而 Uni V3 DAI/USDC pool 里的 DAI,有很相似的味道。这一切,都源于稳定币协议和头部 AMM 的结合。

作者:observerdq

封面:Photo by Martin Adams on Unsplash

稳定币的世界,存在一些不为多数人所知的奇妙的机制。这些机制往往都有比较大的影响,能够大量地 “虚增”TVL 和发行量,背后往往还涉及多个协议之间的绑定。之前写过一篇关于 Frax Curve AMO 的文章,即为此类机制之一。本文聚焦在 DAI 的 GUNIV3-DAI/USDC VAULT 上,也是很奇妙、值得把玩的一个机制。

GUNIV3-DAI/USDC VAULT 概览

所有的 DAI 都基于 CDP 产生。按抵押物类型排序,第二大和第三大都是 UNIV3 LP,分别是 GUNIV3-DAI/USDC 0.01% 和 GUNIV3-DAI/USDC 0.05%,两个 LP 的 TVL 达到了 644M、530M 之多。

DAI 抵押物一览

这两种抵押物和其他抵押物相比,有一些特别之处。

1. 抵押物里也有 DAI,这就出现了用 DAI back DAI 的现象,给理解带来了一些困难。本文不就此展开,可参考 MakerDAO 论坛历史上的一则讨论

2. 这两种抵押物,几乎都是加了近 50 倍杠杆后生成的,因此,这些 CDP 的所有者实际投入的资金总计大约只有 20M 左右。

Oasis.app(MakerDAO 的一个前端网站)组合了 MakerDAO 的两个合约模块,提供了这种杠杆功能。这个功能仔细琢磨一下,挺有意思,有丰富的内涵。下文一一展开。

GUNIV3-DAI/USDC VAULT 的工作机理

Oasis.app 主要用到了 MakerDAO 的 flash mint 模块以及基于 GUNIV3-DAI/USDC 开 CDP 的模块。Flash mint 模块大体可以类比为闪电贷去理解。

用户开这个 CDP 背后的工作原理大致如下,其中部分数字为概数。

  1. 用户提供一部分基础 DAI,就以 10 万 DAI 为例;
  2. Flash mint 450 万 DAI,那么此刻一共就有了 460 万 DAI;
  3. 将 230 万 DAI 通过 1inch 换成 USDC,这么大金额的话通常底层路由会走 PSM,换成了 230 万 USDC;
  4. 将 230 万 DAI、230 万 USDC 存入 UNI V3,因为用了 gelato,所以拿到了 ERC20 的 GUNIV3 LP token;
  5. 使用 4 里的 GUNIV3 LP token,开了一个 CDP,铸造了 450 万 DAI;
  6. 归还 flash mint 的 450 万 DAI。

和常规的 CDP 不一样的是,用户开完 CDP 后,手里并没有 DAI。

用户关 CDP 时,顺序如下。

  1. Flash mint 450 万 DAI;
  2. 关闭 CDP,释放出抵押物,即 GUNIV3 LP token;
  3. 提取 LP token 背后的资产,即 230 万 DAI、230 万 USDC;
  4. 将 230 万 USDC 通过 1inch 换成 DAI,同样走 PSM,换成了 230 万 DAI,此时一共有 460 万 DAI;
  5. 归还 flash mint 的 450 万 DAI;
  6. 用户拿回自己初始投入的 10 万 DAI。

以上出于简练地讲清工作机理的目的,做了很多简化。比如最重要的一点,做 LP 可以吃到手续费,关 CDP 时拿回的 DAI 的数量会发生变化,这被我略去了。吃手续费应该是用户开这一类 CDP 的核心动力。

GUNIV3-DAI/USDC VAULT 的本质

我尝试把 GUNIV3-DAI/USDC VAULT 调整了一下,设想了一个 UNIV3-DAI/USDC minting module。为何要讨论一个虚构的 module?为了提炼最核心的点。实际运行的 GUNIV3-DAI/USDC VAULT,有若干不太重要的设计要素会干扰到我们的讨论,比如 102% 的 Collateralization Ratio。在我看来,这些设计不过是为了复用 DAI 整体的 CDP 架构,但其实会干扰我们对本质的理解,不需要搞这么复杂。

设想的 UNIV3-DAI/USDC minting module 工作机理如下。

协议可以自由地从 PSM 中取出一定数量的 USDC,并 “凭空” 印出相应数量的 DAI,组 UNIV3-DAI/USDC LP。LP 范围可以设定得很窄,这里不展开讨论。这些 DAI 虽是 “凭空” 印出,但不会影响 DAI 的抵押物基础和锚定。下面展开讲下为何。

这个 LP 是有限定条件的 LP。如果从 UNIV3 撤出 LP,其中的 DAI 需立即销毁,USDC 则需返还到 PSM 中。

场景 1: 当用户在 UNIV3 中,使用 USDC 换出 DAI 时,LP 中的 USDC 变多,DAI 变少。这个过程和用户使用 PSM 铸造 DAI 本质无差别。

场景 2: 当用户在 UNIV3 中,使用 DAI 换出 USDC 时,LP 中的 DAI 变多,USDC 变少。这个过程和用户使用 PSM 换出 USDC 无异。

那么回到一开始这些 “凭空” 印出的 DAI。这些 DAI 真正进入流通的唯一方式,就是有用户拿 USDC 过来换。其中能够进入流通的 DAI,都是有足额 USDC 支撑的。这种特殊的 “凭空” 印 DAI 的机制并不会影响 DAI 的价值基础和锚定。

从 market maker 的角度解析 DAI 的 PSM 以及 GUNIV3-DAI/USDC Vault

PSM,可以看作 MakerDAO 协议内定制的一个交易市场,有 DAI/USDC、DAI/USDP 等交易对。协议方是 market maker,挂了买单和卖单,盘口如下图所示。其中挂单的卖盘是 “隐式” 的,我做了淡化字体。PSM 的用户天然都是 taker,taker 的买单来了之后,现场即时生成相应数量的 DAI,完成交易(铸造)。

PSM 背后的交易盘口

GUNIV3-DAI/USDC Vault,基于 UNIV3 交易市场。AMM 模式,LP 需要提前把流动性存入。这是 “显式” 卖盘,必须有已经存在的 DAI 放在特定的 tick 内。UNIV3-DAI/USDC 0.01% 这个池子,如果用交易盘口的形式进行呈现,如下图所示。其中挂单的卖盘 2.7 亿 DAI,是已经真实存在的 DAI。

Uni V3 背后的交易盘口

从本质来讲,两者并无区别。GUNIV3-DAI/USDC Vault 模式下,用户使用 USDC 换成 DAI,和用户通过 PSM 将 USDC 换成 DAI,对 MakerDAO 协议来说是一样的效果。即,协议 treasury 里多了一些 USDC,并产生了相应数量的流通出去的 DAI。

UNIV3 属于通用化的 AMM,MakerDAO 如果希望借由 UNIV3 实现 DAI 的新增流通(投放),自然需要 “显式” 卖盘,那么 “凭空” 印一些 DAI 纯粹做卖盘挂单之用,也是很自然的。

但如果单纯去统计 DAI ERC20 合约发行的币的总数量,就会包含这一部分特殊的存在。

结语:数字游戏与币圈帮派

1. DAI 的发行量、UNIV3 TVL 中的 “泡沫”

如上一节所讲,GUNIV3-DAI/USDC Vault 里的 DAI,是特殊的存在,是 “凭空” 印出的。但这部分 DAI 计入了 DAI 的总发行量,因此我可以说 DAI 的发行量被 “虚增” 了五六个亿。

注:有另外一个细节,这里简要一提。makerburn.com、daistats.com 这两个 DAI 数据站因为统计口径的缘故,额外又多统计了五个亿。比如今日这两个网站显示 DAI 总计 69.8 亿,但 ethscan 里 DAI 合约显示只有 65.4 亿。背后原因是因为这两个数据站是基于所有 CDP 进行统计,但 GUNIV3-DAI/USDC Vault 铸造出来的 DAI 用于归还 flash mint、已经销毁了。

“虚增” 五六个亿,相对于 DAI 65 亿的总盘子,或许不算是什么大问题。但这 “虚增”,还帮到了 Uniswap。这两个 Vault 总计给 Uniswap V3 贡献了 11.5 亿 TVL,占了 Uniswap 以太链 TVL 的 1/5 多。

2. 币圈的帮派

从 MakerDAO 的角度看,已经有了 PSM 这种 0 滑点的 DAI/USDC 兑换池,为何还要这么折腾在 Uni V3 里安排这样的 Vault?按我的理解,PSM 做兑换消耗的 gas 较高,MakerDAO 需要一个针对散户的兑换阵地。主流选择有两个,Uni V3 以及 Curve,那么问题来了,选哪个?

我不确定 MakerDAO 出于何种考虑,现实的局面是 MakerDAO 选择了 Uni V3,把 Uniswap 的以太链 TVL 拉高了 25%。Hayden 顺道还可以显摆一下 Uni V3 的资本效率(可围观一下戏剧性的一则推特)。

多说一句,其实 Curve 那头也存在差不多的操作,Frax 把核心的兑换阵地放在了 Curve,具体机理可参考我的另一篇小文。Frax 和 Curve 的绑定,给 Frax 带来了实在的利益,而 MakerDAO 和 Uniswap 的绑定渊源,就有待进一步的八卦考古了。

免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。