无论一个DeFi协议甚至整个DeFi世界看起来有多奇怪和复杂,都是传统的金融逻辑(比如交易工具逻辑和借贷工具逻辑),加上适合或由区块链触发的新逻辑,再加上一点点提升性能的新设计。当我们用这个框架来看待和分析DeFi/DeFi协议的时候,会发现它们并不复杂,也没有那么多新鲜的东西。
这一系列文章将在传统逻辑的基础上尝试梳理区块链上的新逻辑,然后介绍在前两者基础上的新设计。先说DeFi的* * * *,作为交易工具。
01交易的传统逻辑
交易涉及两个参与者,买方和卖方,两者缺一不可;但是两者不一定能找到对方,所以需要有一个公共的交易场所,比如菜市场或者交易所,大家想交易的时候都去,买卖双方很容易见面。
对于一个交易场所来说,最重要的功能是一个人想买就能买(以他能接受的价格);当一个人想卖的时候,他也可以卖。这和这个地方的交易数量有关。买卖越多,越容易达成交易。
买卖单不仅可以由真正的交易者提供,也可以由做市商提供。他们本身没有交易需求,但会提供大量的买卖指令,让交易者即使没有真正的买方或卖方,也能通过做市商完成交易。
做市商为什么要这么做?为了赚钱。收入主要有两个方面。首先,它们为交易所提供了最有价值的流动性。交易所在向真实买卖双方收取费用的时候,会给做市商一些费用。第二,交易的价格总是在变化的,做市商挂出了低价买入单和高价卖出单,赚取两者之间的差价。
以上是交易工具的基本逻辑,对CEX和DEX都适用。为什么DEX一直难以发展,是因为链条上没有足够的交易商和做市商,或者说流动性不够,就像菜市场一样。虽然干净漂亮,但是这里没人交易,越没人交易,越难吸引人(包括做市商)交易。
02交易的新逻辑
那为什么今年德克斯出名了?因为他们找到了提供流动性的新方法:AMM(自动做市商)。这种方法为DEX提供流动性后,DEX自然运行。“旧”的逻辑是,交易所的运作依赖于流动性,做市商在提供流动性方面发挥着重要作用;叠加的“新”逻辑是AMM,它是并且仅仅是一种适合链条中做市商的新的工作模式。
在AMM,做市商是如何工作的?我们以一个流动性差,需要做市商的菜市场为例来讨论。
一个基于订单簿的菜市场(CEX和一些德克斯)是这样的:一个人来菜市场卖3块钱一斤的大米,但是没人要买,做市商买这一斤大米;第二天,一个人来到菜市场买米。他看到做市商4元一斤的大米,觉得价格合适,就买了下来。做市商需要提供两个订单来匹配真实交易者的需求,一个是买入,一个是卖出。
一个AMM市场(Uniswap,Curve等DEX)是这样的:有一张大桌子,左边一堆米,右边一堆钱,中间一个机器人;卖米人来了,只需要把5斤大米放在左边的手里,机器人就会告诉他可以从右边拿多少钱。买米的人来了,只需要在右边放50元,机器人就会告诉他可以从左边拿多少米。
做市商的工作变得简单。他只需要把他的米和钱按约定的比例放在柜台上。这里的核心点只是交易价格的计算。系统如何知道每笔交易的成交价格?其实也不麻烦,用一个函数算出来的。
以Uniswap为例,它使用的函数是x*y=k,其中K是约定常数,X是米数,Y是钱数。假设k=2500,初始米数50,钱数50;当卖米人来了,放下5斤大米,那么计算y=2500/(50 ^ 5)=45.45,也就是柜台上有55斤大米时,钱数应该是45.45,这也意味着卖米人可以从柜台右侧拿4.55斤钱(50-45.45=4.55)。
如果卖米人继续卖5斤大米会怎么样?计算y=2500/(55 5)=41.67,那么卖米人可以从柜台右侧拿走3.78金额的钱(45.45-41.67=3.78)。
为什么卖5斤大米,第一次能卖4.55元,第二次只能卖3.78元?这是按功能定价的一个缺点:滑点。X卖的越多,X越便宜;X买的越多,X就越贵。
滑点的存在为套利者引入了一个新的角色。卖米人第二次以3.78的价格卖出5斤大米,遵循x *y=k K,如果此时买5斤大米,只需要花3.78。这个便宜的价格不一定是因为大米真的便宜,而是因为在这个交易池里面是单向销售的。
可以认为套利者也是做市商,他们重新平衡交易池,使交易价格趋近理性;想象一下,如果这个市场充满了大米,没有套利者,那么这个交易池很难继续下去,因为大米的价格太低了。
不难发现,在订单簿模式下,做市商赚的是两部分钱:交易费和差价;在AMM,做市商或流动性提供者只赚取交易费,而套利者赚取差价。这是秩序册和AMM的一大区别,因为原理不同。
需要注意的是,滑点与交易池的大小有关。比如柜台上有500元的大米和500元的钱,那么卖两次5斤大米能拿走的钱分别是4.95和4.84,溜点比较小。这就是AMM级DEX认为流动性拨备极其重要的原因。交易池越大,其滑动点越低,用户体验越好。
不同协议的新设计
滑点还与DEX选择的定价函数有关。比如我们用x y=k来定价,也买卖大米,k=100。初始米量50,钱数50。卖米人来了,放下5斤大米,可以拿走5块钱,因为这样就使得k=100;他又放下了5斤大米,他还可以再拿5块钱,因为这使得k=100。
在这个功能下,根本没有滑点;但是有一个致命的缺点。如果一股钱在这个市场之外买不到一斤米(而这个市场永远是一股钱换一股米),就会有另一个套利者来到这个市场,把米全部买走,交易池里只剩下100股钱。
这对于流动性提供者来说是一个很大的风险,因为他原来有50%的米,50%的钱。如果大米涨到2元一斤,他就有150元了。现在他只剩下100张钞票了。所以x y=k虽然可以避开滑点,但是单独使用风险太大。只能和其他函数配合使用,减少滑点,比较适合X和Y相对价格波动小的情况。
这就是为什么会有曲线。它的作用是稳定货币之间的交易,所以我们可以为这个特定的交易场景设计一个定价函数(X和Y的价格波动很小)。它在x y=k的基础上增加了X Y=K,优化交易体验。这种不同定价函数的选择是上一篇文章中提到的不同协议之间的“一点新设计”。
x y=k带来的这种风险叫做非永久性损失,所有的AMM都会有非永久性损失的问题,因为只要交易池中的价格和外界的价格不一致,就会有套利者来“拉平价格”,套利者赚的就是流动性提供者的损失。
因此,出现了一批新的DEX,如Bancor V2,利用预测器引入外界价格,从而降低交易池与外界价格不一致的风险,减少非永久性损失。在函数定价的基础上增加Oracle定价是“一点新设计”。
所以,当你看到层出不穷的新协议/应用时,不要被废话和细节淹没,只看它新的定价方式。看一个定价方法就是看它如何通过设计(通过函数的选择,通过与预测器的结合等)减少滑点和非永久性损失。).
有趣的是,滑动点和非永久性损失之间存在一些互斥关系。减少滑点追求一种价格稳定,减少无常损失追求一种价格变化。优化一方可能会失去另一方。最新的趋势是引入预测机,打破滑点和非永久损失的关系,只减少非永久损失,但预测机会带来自身的问题。
所以你在这一点上看新设计的时候,要注意它的利弊,以及它的适用场景。
我们不需要知道一个定价函数/定价方法的所有细节,只需要知道上述的基本工作原理及其实际应用效果。通过图形可以简单、快速、全面地了解实际应用效果。
举个例子,当你想了解Uniswap的非永久性损失时,你只需要看下图,图中蓝色曲线表示价格变化时非永久性损失会有多大。
以三点为例:黄线和蓝线的交点是外部价格没有变化时,无常损失为零;当价格下跌50%和上涨100%时,绿线和蓝线的交点分别为-5.7%。不难发现,亏损与价格变化的幅度有关,而与方向无关。
总之,当我们需要了解不同的或新的交易协议时,我们只需遵循其定价方法的原则和图表即可。既然协议的支持者一定会强调和解释其定价方法的特点,我们要做的其实就是听完他们的话后,看看图形在滑点和非永久性损失方面的表现。
04DEX简介
真正的DeFi可能是对象的体积,但当前的DeFi并不复杂。不要被泡沫迷惑,太多的文字,别人给它披上的外衣,最重要的是,理解DeFi最好的方法就是使用它。
最后是一个简短的总结:
AMM是一个懒惰的做市商,也是一个低门槛的做市商。做市商不需要专业知识,也不需要工作,只需要把钱投入交易池。这就为将闲置资金投入市场打开了大门。
AMM级DEX设计的核心是定价方法的设计。虽然有许多不同的设计,但它们的主要目的是减少滑点和非永久性损失。
如果你有一笔钱,你可以:做做市商赚钱;通过策略在交易池中套利赚钱;通过策略在不同交易池之间套利赚钱。
虽然AMM在聚光灯下,但不要忘记订单模式的DEX。他们有突出的优势,但他们仍然缺乏流动性。订单簿模式似乎在可组合性上会不如AMM,但我不确定,两者之间是否会有这种差异会更重要。