# DAI的隐秘角落：论GUNIV3-DAI/USDC VAULT的本质

By [observerdq](https://paragraph.com/@observerdq) · 2022-07-16

---

稳定币的世界，存在一些不为多数人所知的奇妙的机制。这些机制往往都有比较大的影响，能够大量地“虚增”TVL和发行量，背后往往还涉及多个协议之间的绑定。之前写过一篇关于Frax Curve AMO的[文章](https://mirror.xyz/0xFD7C418AA08bF9062A21fc2ffFA284B6b7Ae177A/7pTU4cS4Tl6PtbzLeH7yPKu7BX_8tgqHMjabrd4WPRA)，即为此类机制之一。本文聚焦在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抵押物一览](https://storage.googleapis.com/papyrus_images/5fa83fde9371e006d51cc95fc4e6adeb0d020d79ad72e197b2c08dcf12502dd9.png)

DAI抵押物一览

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

1\. 抵押物里也有DAI，这就出现了用DAI back DAI的现象，给理解带来了一些困难。本文不就此展开，可参考MakerDAO论坛历史上的一则[讨论](https://forum.makerdao.com/t/uni-v1-uniswap-liquidity-tokens-as-collateral/711)。

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

[Oasis.app](https://oasis.app/earn)（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背后的交易盘口](https://storage.googleapis.com/papyrus_images/5e3f1044f3e02fca7e871577c5709aaab70570471495df3d2a4541398e5b5b76.png)

PSM背后的交易盘口

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

![Uni V3背后的交易盘口](https://storage.googleapis.com/papyrus_images/c15e3e54c2f686d85ece5e694e792407f5eadcc21893ceb6daeae1b51156178d.png)

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的资本效率（可围观一下戏剧性的一则[推特](https://twitter.com/haydenzadams/status/1544063544739635200?s=20&t=vTD_qGcARRWBh8pse1kbfw)）。

多说一句，其实Curve那头也存在差不多的操作，Frax把核心的兑换阵地放在了Curve，具体机理可参考我的另一篇[小文](https://mirror.xyz/0xFD7C418AA08bF9062A21fc2ffFA284B6b7Ae177A/7pTU4cS4Tl6PtbzLeH7yPKu7BX_8tgqHMjabrd4WPRA)。Frax和Curve的绑定，给Frax带来了实在的利益，而MakerDAO和Uniswap的绑定渊源，就有待进一步的八卦考古了。

---

*Originally published on [observerdq](https://paragraph.com/@observerdq/dai-guniv3-dai-usdc-vault)*
