Uniswap 的优势是简单易用,Curve 专注于稳定币兑换手续费更低,Balancer 则支持多资产和自定义费率。

推荐阅读:《链闻精选好文丨读懂 DeFi 热门赛道「自动化做市商 AMM」

原文标题:《CFMM 自动做市商项目对比,DEX 找到正确的打开方式》
撰文: 贺延

Do not go gentle into that good night.

不要踏入静谧的良夜。

——Dylan Thomas, 1914 - 1953

DeFi 不仅是加密世界的重要尝试,更是可能引导当前世界的变革。经过 2019 年的蓄力,2020 年初步打开了局面,不管是借贷,还是 DEX 或衍生品领域,在锁定资产量、借贷量、交易量、用户量等方面都有了很大的提升。而在 DeFi 领域,和中心化交易做市商机制不同,CFMM 模式大行其道。本文来探究对比 CFMM 的各类产品。

传统做市商的在 DeFi 的痛点

在传统交易所的工作流中,做市商需要根据当前市场的情况下创建订单,订单要在链上挂出。受制于在当前公链(比如以太坊)的打包效率上,某些订单可能得等上好一段时间才会被打包,或者一直等待,这样大大制约了做市商的资金使用效率。同时市场瞬息万变,可能刚才的价格还未能打包,就需要撤单重新挂单。所以像 0x 这样的协议就采用链下撮合的方式来解决这个问题。

第二个就是交易手续费,传统做市商对手续费非常敏感,高昂的手续费不仅影响策略的选择,还影响套利空间,从而可能因为无法赚钱而直接放弃。

当然,这里也不意味着传统做市商在 DeFi 上就完全不行,而是受制于这些因素,导致其赚钱效应不如中心化的市场。

什么是 CFMM?

首先,自动化做市商(Automated Market Maker) 并不是在区块链上首创,AMM 这个概念在学术界已有 10 年的深入研究,研究主要集中在信息汇总的设计,以及如何应用于某些市场,在这些市场,回报依赖于世界的某些未来状况,例如预测市场。

人气最高的 AMM 是「对数市场评价法则」( Logarithmic Market Scoring Rule,LMSR),该法则于 2002 年提出,被用于大多数预测市场(例如 Augur V1 和 Gnosis)。AMM 的信息汇总还有其他策略,例如贝叶斯做市商(在二元市场表现不俗)和动态同注分彩做市商( dynamic pari-mutuel market makers)(常用于赛马)。

但在区块链领域,赋予 AMM 新的应用场景,可以把这一类 AMM 称为「常数函数做市商」,即 CFMM。

CFMM 是专门用于真实金融市场的第一批 AMM。加密社区设计出 CFMM,使用 CFMM 来让用户可以自动的交换数字资产,来构建去中心化的数字资产交易所,它建立在一种函数之上,即依据两个或多个资产的可用数量来建立一种预先定义的价格组合。与基于订单簿的传统交易所不同,交易者是与一个资产池、而不是与某个特定的对手方交易。CFMM 不需要中心化的机构介入,将用户的资产汇集成资金池,根据资金池的资产配置,通过智能合约一定的算法来自动报价,成交用户的买卖单,从而达到了资产交换的目的。

值得注意的是,和传统做市商不同,CFMM 需要一定的用户资金来提供流动性,资金越多,流动性越好,当然 CFMM 也会将所有的交易手续费回馈给提供流动性的用户,从而鼓励更多的用户加入。从提供流动性的用户来看,这类似于一个理财产品。但是 CFMM 并不能保证用户一定有正收益,在币价大幅波动时,可能会引起损失。

CFMM 的优势

体验好

上面说过传统的做市商痛点。而采用 CFMM 的模式,只要流动池汇集足够多的资产,合约自动根据当前资金池的资产配备给出当前的报价,用户能立即成交(当然滑点问题后面会讲),其速度和体验都相当好。

更易获取流动性

在基于订单簿的交易所,引导流动性是一个特别费力、成本极高的过程。通常情况下,交易所需要找到做市商,让他们编写用于定价和发布订单的客制代码,并经常直接提供帐户和资金,以便于交易。由于 CFMM 鼓励被动的市场参与者将其资产借给资金池,因此它们使流动性的提供的便利度有数量级的提升。

用户参与

传统交易所对做市商有较高的资金要求,或者给予高额的配资,否则面临大额吃单容易资金短缺,造成流动性枯竭,从而造成大的价格波动。

而 AMM 需要聚集用户的资金来提供流动性,虽然单个用户的资金可能不多,但在于数量多,可以聚集起更多的资金,让小资金也有机会提供流动性,从而提升用户的参与感。

价格发现

CFMM 提供了一种能力,即无需使用中心化的第三方即可衡量某个资产的价格,从而解决了所谓的「预言机问题」。因此,采用 AMM 机制的去中心化交易所一个良好的价格发现能力,其他智能合约可以将之作为一个真实信息的来源。

当然当前采用 CFMM 机制的去中心化交易所的价格跟去中心的有偏差,但随着资产和用户增长,其和真实价格会越来越接近。

现行的 CFMM 的项目

现行的依托于 CFMM 来进行的 DeFi 项目主要在以太坊上,当然观察到其他的一些公链也在逐步根据自身的特色来完善相应的 CFMM 机制。从最初的 Bancor,算是一个开拓者,然后是 Uniswap,当前已经成长为最大的使用 CFMM 来进行做市的项目,以及稳定币版本 Curve,主打低滑点,和支持多资产储备池的项目 Balancer,以及最新的的 Shell Protocol。尚未能看到 BTC 上(包括 BCH 也没有)相应的尝试,主要受制于智能合约的缺陷,在 UTXO 的生态上,看到有比原链的 MOV 在进行尝试,其最新推出的超导兑换,也是一种稳定币兑换的方案。

CFMM 项目对比的维度

在项目对比之前,需要谈论,针对不同的 CFMM 其到底需要关心什么,以及新的 CFMM 项目出现,到底有哪些创新点

  1. 核心公式
  2. 抵御外部价格波动性与抗损失
  3. 流动性提供者(LP)收益
  4. 兑换资产类型
  5. 滑点保护机制
  6. 产品体验

Uniswap

Uniswap 可谓是炙手可热,当初也只是一个实验性的产品,却一跃成为了明星级别的项目。Uniswap 实施的恒定乘积做市商策略,满足如下等式:

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

R(α) 和 R(β) 分别是某种资产的储备量,γ 是交易费。交易任何数量的某种资产,当改变其储备量时,必须保证:当交易费为 0,乘积 R(α)R(β) 一直要等于常数 k。这常被简化为 xy=k, x 和 y 分别是两种资产的储备量。在实践中,由于 Uniswap 收取 0.3% 的交易费,并将其投入储备,所以每笔交易 k 会增大。

转换为图形,即为一条曲线:

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

Uniswap 的优势是非常的简单,但缺点显而易见,就是滑点较大。

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

当在 Uniswap 中购买的数量大于流动池的 2% 时,购买该资产就会特别昂贵。

Uniswap 为此设置了 0.5% 的滑点保护,当你一次购买数量超过流动池的 0.5% 就会被触发,从而无法成功交易。滑点保护除了保护交易者也保护了流动性提供者,防止过大的无常损失

无常损失:这是由于 LP 在投入资产后,在没有手续费收入时,面对市场波动和汇率变化,会被套利者不断套取资产,导致自己所占有的池中资产总价值比刚投入时变少了,但是等汇率又回到投入时的汇率时,这部分损失又消失了。

Uniswap 当前仅支持两种资产之间的兑换,但可以开通任意 ERC20 交易对之间的储备池,从而形成一定的长尾效应。这是一个非常酷的功能。

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

Uniswap 整体风格非常暖色和简约风,功能上也非常简洁。链接到 Metamask 即可使用,对于以太坊的老用户来说体验非常不错。除了加入一个流动性池,也可以自己创建,这对于小的项目方来说提供了一个新的流动性场所,也衍生出 IUO 的模式。

Curve.fi

Curve.fi 更专注于稳定币之间的互换。所以其更像一个专为稳定币交易而定制的 Uniswap。但是近期会发现 Curve 上架了 renBTC 和 wBTC,看起来当前它也不满足于稳定币的交易市场了。但两个资产价值是 1:1 锚定,以后是要拓展稳定汇率资产交换了。

Curve.fi 的创新主要在低滑点,优化了大额交易造成大的滑点损失问题

Curve 使用的汇率公式如下:

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

和 Uniswap 相比,其更能咬合贴近直线,从而在较大的区间范围内能够保证更低的滑点,同时在两端也能同时保持无限流动性。

在测试中,Curve 的滑点不输中心化交易所。以 Coinbase 中稳定币之间的交易对 DAI/USDC 为例,将 10 万美元级别的订单推入交易系统,Curve 略优于 Coinbase,而且 Coinbase 的手续费要比 Curve 多 460 美元。

和 Uniswap 相比,Curve 收取更低的手续费 0.04%,这意味着对交易用户的吸引力更大,虽然会对流动性提供者单次收益造成下降,但如果交易用户越多,那么其实收益也会更高的。

除了 Curve 本身的交易手续费,还联合其他的 DeFi 产品推出更多的组合收益,Curve 结合了另一个新的 DeFi 协议 iearn 之后,收益最高曾达到年化 30%。其核心就是寻找其他的借贷平台获取稳定币来获取该借贷平台的额外收益。

在产品上,Curve 采用了更复古的极客风格,类似于早期的 Dos 系统界面,当然这可能受技术极客的欢迎,但可能造成大众审美分歧。

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

在兑换资产类别上,Curve 专注于稳定币的兑换,不要小看这个市场,现行中心化或者去中心化的稳定币不少,需求也是巨大的。

MOV

近期由比原链团队打造的超导协议,也算是第一个非以太坊链上的 CFMM 的项目了,也是一个稳定币兑换的项目,开始探究一下其优势。

MOV 意图构建更为灵活的适用于稳定币间兑换市场的 CFMM 函数以及关键参数,MOV 将二维函数模型拓展到可灵活调整到多维几何空间,即支持一个储备池中存在多个币种间互相兑换,并解决存入单一资产问题。MOV 依然以低滑点作为其优势,同时进行全面风控指导,尤其是外部市场波动风险,包括 LP 的无常损失(Impermanent Loss)、滑点保护机制、被套利问题等。

MOV 的核心公式:

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

在图形显示如下所示(蓝色表示恒定乘积曲面,绿色表示恒定之和曲面,中间是核心公式在三维空间下的形态)

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

这里要特别指明所谓的多维仅仅是核心表达式可以兼容多种变量,即多个币种,但在同一时空下存在的仅仅是两两间互兑,不存在三者及以上兑换,否则将会升维到真正的多维空间。实际交易场景中也是两两兑换居多。

在滑点上,根据研发团队的实验数据,在 50 万量级流动性下,一次性大额交易 20 万美元的滑点为 0.29%(千三),相比于几大中心化交易所也具备充分的竞争力。

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

另外 MOV 也在 5%~10% 范围内设置滑点保护档位,给予一次性大额交易充分的滑点保护,避免给交易者带来过大损失。另外一档保护为,如果上链时发现与用户提交时汇率不同,可以允许有 0.01% 的偏差,超过则回退资产。

MOV 同时针对 LP (流动性提供者)进行滑点保护,滑点保护机制会检测 LP 的范围超出,在微小范围内允许 LP 继续存,否则回退操作。在极端被大量套利的情况下,官方套利者及时接受过度套利空间,之后将利润返还给 LP。

除此之外,MOV 公布了年化计息模型,这是 Curve 所没有的:

(1)如果没有流动性大小的任何变化,不论流动池中两种币的比例如何变化,甲的百分比不变,依然是自己持有的 ctoken 数量除以当前总发行的 ctoken 数量;

(2)当流动性大小改变后(add liquidity/withdraw liquidity/fee from swap),计算出新的 D 值 D1,然后此时总发行的 ctoken 数量是之前的 D1/D0 倍,如果此时甲提取自己的资产,百分比为甲持有的 ctoken 除以此时总发行的 ctoken 的数量(重要注意:不论是新 LP 投入资产还是交易手续费回填流动性池,我们统一抽象为流动性大小改变,这是唯一影响份额计算的因素,但只有在新 LP 加入资产时才全局计算一次总的 ctoken 发行量,包括给予该 LP 的新增发的 ctoken 数量,上一个 LP 加入时刻到此时刻,这期间所有的手续费回填也都包含在了新总 ctoken 数量计算过程中)。

在产品上,MOV 主要以移动端为主,其超导相关的功能分为理财和兑换两个板块

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

可以将两个币种投入,并能够获取当前的利率情况,还是非常清晰的

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

兑换类似于一键兑换,只要流动池内数量足够,可以很快的进行兑换。

移动端的优势是使用非常方便,但 MOV 是直接集成在钱包内的,对于非钱包用户可能使用不太方便,这是需要完善的地方,可以考虑作出 H5,即可以移动端访问也可以页面访问更好。

Balancer

Balancer 简单理解为 Uniswap 的通用化版本。Balancer 将池中的代币,从 2 个增加为多个(目前 Balancer 最高可以设置为 8 个),将各 50% 的比重改为完全自定义的比例,也就是说,在 某个池中,不再限定为必须各注入 50% 价值比例的相应代币,而是注入用户自定义比例价值的代币,例如 75% 的 MKR 和 25% 的 ETH。

Balancer 采用了恒定平均值做市商,是恒定乘积做市商的一种概括,可用于超过两种资产的情况,权重可不限于 50/50。核心公式如下:

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

图形如下:

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

和 Uniswap 相比,Balancer 有几个优势:

  • 多资产的支持:Balancer 最多支持 8 种资产
  • 费率自定义:用户可自定义手续费,而不是像 Uniswap 一样是 0.3%
  • 更具的想象力:可以构造指数基金生成器,比如:追踪加密货币大盘情况,可以由比特币(可以利用跨链至以太坊的 WBTC 或 HBTC 实现)、以太坊和 DAI 组成;追踪 DeFi 生态,可以由 DeFi 协议的原生代币组成,比如 MKR、ZRX、KNC、BNT 等;

当然 Balancer 也有缺陷,因为多种资产的汇入,不同的比例,将会在某些临界点,造成资产的失衡,从而导致更大的滑点。

从产品上看,Balancer 将交易和流动性池做了分离,需要从不同的入口进入。体验上稍有差异,但因为涉及到多种资产,并且比较复杂,所以分离也是没有问题的。

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

几个项目对比

从多个维度对项目进行总结对比

多维度对比热门常数函数做市商 CFMM:滑点、手续费与收益等

写在最后

大家知道在区块链行业,不论是技术,模式还是应用,更新迭代非常快,很多出生时众星捧月的项目最后也只是昙花一现。那么 CFMM 会不会也有这样的情况呢?

根据 Andrew Bakst 观点,自动化做市商使得某区块链上的各资产之间能进行无摩擦交易,区块链和自动化做市商的结合将使得付款方用于支付的资产不再必须是收款方愿意接受的同一种资产。也就是说任何的资产都可以作为一种交易媒介,而不再需要法币来作为媒介。

区块链的第一步是将资产(如债券、证券、房地产、央行数字货币) 都放到链上,但资产的定价和交易仍然存在一定的问题。那么通过自动化做市商来解决这个问题,A 可以用数字欧元、亚马逊股票,而 B 可以收到数字美元、苹果股票。只要有相应的自动化做市商来承担相应的业务:任何资产都可以成为一种交易媒介

从这里,可以看到 CFMM 的巨大潜力,现在以太坊上相关的生态也是蓬勃发展,锁定了越来越多的资产,虽然遇到了一些安全事件,打击了部分参与者的信心,但是道路曲折,相信其未来一定是光明的。

来源链接:mp.weixin.qq.com