如何进一步优化Uniswap V3?

背景    

Uniswap近期发布的V3意义是重大的,其中最具创新的点既不是二层、也不是新的预言机方案,而是提供了灵活的做市头寸管理机制。V3引入了做市商的差异化头寸管理能力,允许做市商针对不同价格区间配置不同做市资金:当成交价落在事先约定的价格区间时,做市商对应的资金头寸参与做市,成交价落在价格区间外,则不参与做市。

这是一个很有力的创新,其价值和实现有很多细节,这里不做展开。我们本文针对其中最核心的问题进行讨论,并基于我们原创的资产标准vNFT提出优化的建议。

众所周知,Uniswap V2的LP,也就是用户的做市凭证是一种ERC-20,由于V2中并没有区间化的头寸管理,所以 V2 的LP Token实际上代表做市商被动选择了全价格范围的头寸管理。同时,由于头寸没有差异化,Uniswap V2的资金池可以做到与凭证合二为一,形成了一体化的管理模式(即一个凭证代表一个资金池),这也是目前大部分DEFI项目的资金池管理模式。

由于ERC-20模型限制了差异化头寸管理的能力,如果非要实现V3的功能,就需要针对每个头寸选择创建一个ERC-20合约,不仅代价难以承受,而且ERC-20资产的流动性特征也没有获得充分利用,得不偿失。同时,由于差异化头寸又要汇聚成统一的资金池,因此原有的LP与资金池合二为一的模式也不是那么显而易见了。

综合上述问题,Uniswap V3迈出了重要的一步:将头寸管理的凭证改为ERC-721,从而实现资金池形成一个单独的合约。在提供更丰富金融功能的同时,消除流动性碎片的问题。

底层资产Token化

(tokenization of underlying assets)的价值

那么,Uniswap V3的头寸管理解决方案是最优的吗?要讨论清楚这个问题,我们首先要回顾一下目前DEFI平台主要采用的“底层资产token化”这一模式的价值。

所谓底层资产token化,就是指用户将资产存入DEFI平台的资金池合约时,资金池合约本身就是一个token合约,合约发行对应的token代表用户在资金池里的资金。

这种模式之所以一直是主流DEFI平台的首选方案,主要是因为其创造了一种“双层资产”的模型,将底层资产与发行出来的token化资产(凭证)分离,从而带来了两个核心价值:

首先,token化形成一种新的衍生资产,很大程度上释放了底层资产的流动性。比如Compound的cToken、Uniswap V2的LP Token,它们代表用户在资金池存储的底层资产,具有实际内在价值,且价格可以计算,现在已有大量平台支持这类凭证资产的交易、质押,显著提升了用户资产的流动性。

其次,双层资产的处理相互独立,互不影响,为协议带来了简化资产管理和提升底层资产稳定性的价值。例如:用户需要将资产出售、质押或转移到另一个地址进行管理时,只需要针对LP Token这种标准的token协议操作即可,而无需由资金池协议开发任何额外的管理功能。同时,通过LP Token的转移实现底层资产所有权的变更,使得用户无需将底层资产取出再存入的动作,保障了资金池规模的稳定性。

整个DEFI世界的乐高积木模型,在很大程度上是因为上述两个能力才得以发挥最大的价值,因此任何一个DEFI协议的底层资产管理架构,也就是其token化、凭证化的实现手段,应该以最大限度提供上述两个能力为前提,为这一目标寻找对应解决方案的努力都是值得的。

Uniswap V3 position LP的问题

回过头来看Uniswap V3的LP解决方案,会发现一个明显的问题,那就是基于标准ERC-721协议实现的头寸管理,虽然支持了差异化的特性,但却丧失了前述的两个价值。为什么会这样?我们用两个场景做示例来进行讨论:

头寸变更

Uniswap V3提供了头寸变更的能力,允许用户修改做市价格第二次区间,这很显然是一个必备功能。但用户可能不满足于单纯的修改价格区间,例如:一个用户投入了100万美元在1500-2000这个区间的ETH-USDC交易对上,根据市场情况他希望将其中30万美元转移到1000-1200这个价格区间,以应对可能出现的下跌。在现有Uniswap V3的实现中,用户唯一能做的就是从现有价格区间的头寸中取出30万美元,另外创建一个对应新价格区间的做市头寸。这显然没有达到我们上面讨论过的尽可能避免用户取出底层资产,从而保持资金池稳定性的目标。

资产流动性

如前所述,Uniswap V2的LP已经成为被广泛认可的资产,相信V3的LP也不例外,因此针对这种资产的质押、交易和各种处理会成为普遍需求,但由于ERC-721的限制,无法在这类场景中提供灵活的方案。例如:有两个平台提供V3 LP的质押服务,用户暂时无法判断哪个平台收益更好,最简单的办法就是分别质押50%的资产,这在ERC-20时代是简便易行的,而现在却无法完成,用户甚至需要为此创建价格区间完全一样的两个NFT凭证去实现这一目标吗?

Uniswap给出的答案是由进一步的外围合约或者第三方来提供(基于ERC-20的)re-fungible的方案,但这显然不能令人满意。一方面,如果针对每一个ERC-721 ID发行一个ERC-20合约,会形成灾难性的合约碎片问题,让接收LP资产的平台很难处理。反过来,如果采用打包机制将若干ID的token进行整合,不仅增加用户资产管理的难度,还要面临复杂的价格确定机制的问题。对于NFT领域内re-fungible方案比较熟悉的人会了解,这种模式并不能有效应对做市凭证这种高度复杂性的金融资产。

总体而言,基于标准ERC-721协议的LP Token,基本上很难实现此前ERC-20LP的管理能力与流动性模式,而这些特征实际上是LP类token资产的不可或缺的。如果Uniswap V3仅仅采用这种方式来实现LP token,对于方兴未艾的LP市场可能造成直接的打击。

解决方案    

我们之所以能够对上述问题作出快速而深入的分析,是因为我们在设计借贷市场中的定期借贷产品、投资市场中的定期解锁产品时,都遇到过相同的问题,并且给出了比标准ERC-721更好的方案。我们也因此相信,这个方案同样适用于Uniswap V3的做市凭证,使其具备更好的流动性和管理能力。

答案就是一种新型的资产协议,我们称之为vNFT,这实际上是一组协议的统称,包含多种类型的接口,具体细节会在未来逐步介绍。简单讲,vNFT是一种支持数量描述的NFT,在此基础上可进行拆分、合并和部分转让。同时,为了更好地支持“双层资产”模型,vNFT还在协议层增加了底层资产描述能力,从而支持和规范这种模式的实现。此外,为了有效与现有的DEFI世界基础设施进行交互,vNFT在实现层面与ERC-721保持兼容,从而任何支持标准ERC-721的协议都能够将vNFT的token当做ERC-721的token来处理。

从技术层面描述,这个协议会包含以下接口(仅列出部分):

其中,Units表示一个NFT中所包含的数量。

资产管理灵活性

由于增加了数量属性以及拆分、合并和部分转让的能力,上述Uniswap V3 LP的问题都能够获得很好地解决。举例而言,当你希望将一部分头寸转移到另一个价格区间时,只需要将现有头寸对应的LP token按照金额拆分成两部分,然后对其中一部分进行价格区间变更。而无需被迫先取款,再重新生成一个新的做市头寸。对于转让、交易、质押等操作,也可以进行类似的处理,并且由于LP Token的数量与底层资产存在对应关系,这个资产的价格也清晰易见,不需要再采用其他外围协议或者打包成ERC20,使得用户和其他DEFI协议都能够获得接近于ERC-20 LP的处理能力。

LP与pool一体化

不仅如此,由于vNFT在协议层增加了底层资产的描述能力,使得token与底层资产的映射关系与ERC-20同等灵活,可以使Uniswap V3很容易地实现LP token与资金池的一体化,回到V2以及目前大部分DEFI协议所采用的简单而清晰的“双层资产”模型。

从Uniswap作为DEX的实现角度看,LP token与资金池的一体化并不是必须的,V3的文档中还特别说明LP token与pool合约拆分,是有意为之。但在我们看来,一体化模式所带来的双层资产处理方式的一致性,在提升LP资产的流动性、降低信任摩擦方面具有重要作用,仍然应该采用这种模式。

当然,实现一体化模型还有很多其他因素需要考虑,比如是否由于ERC-721基础合约较大,导致超过EIP-170限制问题等等,这也都是我们在实践中处理过的问题,这些在技术层面都能够解决。

结 论    

总体上说,我们的结论是:现阶段DEFI已经进入了更复杂、更多维度的金融产品设计与实现的阶段,类似于差异化头寸管理的模式会层出不穷。在这一趋势下,要保持LP类资产的流动性和管理便捷性,寻求一种新型的资产协议是必须并且值得的,vNFT就是我们Solv为DeFi与NFT市场给出的解决方案。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。