bitpie冷钱包|DeFi 研究|拆解 SudoSwap AMM 机制的创新、挑战与局限

通过还原 Uniswap 的经典恆积公式,来深入解说 SudoSwap 的独特定价函数以及功能细节,最终从各点优缺来点评对交易市场发展的价值。(前情提要: Uniswap为实现NFT交易「将整合Sudoswap」- 7/8方上线sudoAMM

NFT 交易市场的近期颓势频现,整个市场的流动性大幅降低,而此时 8 月异军突起的 SudoSwap 则凭藉一超多强的增长数据,让基于 AMM 机制的交易市场映入大众视野。

基于链上数据分析截至 8 月 20 日,已有上千种 NFT 项目进驻,涉及 8.5 万个 NFT 的交易完成,累计 2,000 万美金的交易量。

本文将从 NFT 交易市场的主流模式出发,通过还原 Uniswap 的经典恆积公式,来深入解说 SudoSwap 的独特定价函数以及功能细节,最终从各点优缺来点评对交易市场发展的价值。

1、NFT 交易市场的主流模式

对交易市场的运作模型的分类依据 3 个核心方面:如何发布、如何竞价、哪里撮合成交,对此 3 方面的不同实现导致了其流量来源、运作成本、市场受众对象的差异。

1.1、类 Punk 的内置市场

大名鼎鼎的 CRYPTOPUNKS 其实内置了一个交易市场,集合了链上发布、链上竞价、链上成单的各类机制,均在短短 230 行的合约内实现。

同样有项目内置的市场的项目还有:StepN、Axie Infinity 、NBA Top Shot 等等。

纵观下来,其实实现成交不複杂,但每个环节上链非常不利于 NFT 核心的流动性问题,作为买方在卖家确定是否售卖之前就得锁入资金,不限制等待期的情况让 punk 的合约日常锁定了 6,400 个 ETH。

而一个独有艺术品应该被怎样的价格销售的定价问题,是需要合理的公开拍卖机制来协助撮合,每次出价先付 Gas Fee 的模式只能说在高净值的 Punk 里还能忽略,长尾 NFT只能望尘莫及。

顶级蓝筹可能并不需要直接的交易流动性,因为大部分的忠实长期 Holder,想必未来顶级蓝筹将会逐渐成为金融附属品,应用在借贷、租赁等市场,交易市场上可能是有价无市,无人挂单的情况。

所以作为早期市场, Punk 的机制探索有全环上链的高度信任优势,也有限于流动性与定价的劣势。

1.2、类 OpneSea 、 X2Y2 的第三方市场

此类市场均为目前按交易总值计算下的龙头,整体运作模式则是链下发布与撮合定价,链上成单。

多种多样的拍卖机制让价格的合理性得到评估,而 Opensea 的新协议 Seaport 堪称是时代最强合约设计之一,通过大量彙编优化将 Gas 成本降低 30%,且各种订单模式的灵活性拉满,在 Seaport 开源开放的情况下,非常利于各类纵向项目( GameFi、创作版权等等)将交易能力内置。

延伸阅读:OpenSea迁移至Seaport新协议!交易费大降三成、可针对 NFTs 属性报价

此类平台要说其劣势,首要的是中心化程度太高,几乎都需要用户将 NFT 授权给平台的合约,甚至像 X2Y2 这种代码充斥大量代理升级的设置,完全有瞬间变卖跑路的能力。

其次,定价的合理性还是来源于当前的关注度,对长尾 NFT 项目而言似乎总处于死亡螺旋中,开启初期太依赖于项目方会不会来事,否则可能连白名单 mint 都会一级发售不完,而近期较火热的 Free Mint 反而是对市场信心低迷的表现。

1.3、小结

在 SudoSwap 之前,似乎 NFT 注定就不易流通,只能藉助于平台庞大的规模来实现点对点的交易,在这样的情况下突破口是更有使用场景的 NFT ,可以从提供基础的应用价值来支撑市场价格。

其次是 SudoSwap 通过称为「官方池」的 Based Ghouls Pool ,也为长尾 NFT 项目带来方便「做事」的工具平台。为何他能帮助长尾实现农村包围城市,拼多多大战淘宝?让我们从实现机制进一步拆分其发布、定价、成交来分析。

下图为截止 8 月 20 日 SudoSwap 的核心数据表现﹕

2、如何理解 AMM 机制

同样是发布、竞价、成交 3 大维度, SudoSwap 是链上发布,链上依据 AMM 机制定价,链上成交,有较高的去中心化程度,卖给谁、多少钱由市场说了算。

SudoSwap 的 AMM 机制其实并不複杂,雷同于 Uniswap AMM V3,其 k=x*y 的恆积函数一直是笔者认为的 DeFi 中最优美的曲线。

2.1、简述 Uniswap 机制

在 Uniswap 任何人均可以创建一个流动性池,任由大家注入流动性,帮助成交的同时也赚取 LP 收益。

每一笔交易都将改变下一笔兑换的价格,因此还有滑点的设计意为能够接受成交价格滑动範围,这点在 FT 的中相对好处理,因为 ERC20 代币可以高度分割。

我们通过下图来走一遍 Uniswap 的生命週期,来抓一遍 x*y =k 的公式。

2.2、创建阶段

如下图左侧,我想做 LP(流动性提供者),那同时得给出希望构成交易对的 Token A 和 Token B 转入合约,每当流动性存入池中时,都会铸造出流动性代币给我(LP),获得量的计算方式依据提供的量佔总池子量比例,这些代币就代表 LP 对资金池的贡献,LP 可以获取到别人交易过程 0.03% 作为手续费分红。

Uniswap 的流动性池构建机制图

2.3、兑换阶段

如下图右侧,构建池后当任一代币被提取(购买)时,必须按「比例」存入(出售)另一个代币,以保持总量的不变,这个比例就是在 K 也等于是 X 和 Y 的兑换率了。

K这个值虽然是理论恆定值,但是每一笔交易都会产生手续费,意味着其实在 Token AB 的兑换过程 K 都会逐步增加缓慢上升。

如下图,当已有 AB Token 的交易对:A Token – 1200个,B Token – 400个,则当前兑换率为3则,我通过向合约内转入 3 个 Token A,并且额外支付手续费,在兑换后智能合约会给我 Token B 一个。

这时由于整个系统我代币池子总量变化了,导致新的兑换率变化成 3.015。

Uniswap 的交易对购买机制图。

由于价格完全取决于链上合约实时计算逻辑,交易对的价格只能通过交易来改变,因此一旦 Uniswap 价格与外部价格有背离,就会创造了套利机会,这种机制确保 Uniswap 价格始终趋向于市场价格。

笔者非常喜欢这种逻辑,让套利者帮系统变得更好且能盈利。

延伸阅读:Aave提案「推出稳定币GHO」已获 99.99% 赞成通过!

3、SudoSwap的AMM机制原理

其实和 UniSwap 类似,SudoAMM 把 NFT 充当为 Token A,把ETH 充当为TokenB,允许用户在 SudoAMM 上对 NFT – ETH 在指定价格内做市。对于买卖双方而言,通过池子可以实现即时买卖的目的。

其计算公式由于 NFT 不可分割,所以不能直接以 k=X*Y 计量(否则必然有一方剩余),所以 SudoSwap 设计了 SudoAMM ,提供了线性和指数两种定价函数。

3.1、线性定价函数(Linear  Curve 

在计算曲线程序 LinearCurve.sol 中,新价格是依据梯度累加制计算的。假设 Delta 值是 0.1,意味着每次买入(或卖出)都会将价格加上(或者减去)0.1 ETH。

平时(1E)→买入(1.1E)→买入(1.2E)→卖出(1.1E),由此类推。

3.2、指数定价函数(Exponential Curve)

在计算曲线程序 – ExponentialCurve.sol 中,是依据购买次数来每次累乘增加。假设 Delta 值是1.1,意味着每次买入(或卖出)都会将价格乘以(或者除以)1.1 倍。

平时(1E)→买入4次(1.46E)→卖出3次(1.1E)→卖出3次(0.75E),由此类推。

3.3、创建流动性池的 LP 权利有多大?

创建流动性池使用的是 LSSVMPairFactory.sol 程序中的 createPairETH 函数方法,非常夸张的是,对比 Uniswap 他可以设置的核心参数很多,执行创建会採用 EIP-1167 的标準,也部署一个 mini proxy 合约,可以说即有独立合约的安全性(资产存于新部署的合约地址),LP 有超级管理员权限,对定价函数,增量阈值,初始费用,全局手续费均可以控制。

问题1:同时购买多个怎么算?会则逐个结算(按线性算)

(买入现货价格) + (买入现货价格+ 1delta) + (买入现货价格+ 2delta) + … + (买入现货价格+ (n-1)delta),所以这等于是n(买入现货价格) + (delta)(n(n-1))/2

问题2:买的NFT是哪个?会由用户指定的池子中的任意 NFT

通过对以太坊上合约地址调用方法的审查,可以发现将 ETH 交换 NFT 的操作为:0x11132000

对应合约方法 swapETHForSpecificNFTs 需要 4 个参数

swapList 要交易的token列表以及要对应购买的 NFT ID。Recipient 将接收未使用的 ETH 输入的地址nftRecipient 接收 NFT 输出的地址deadline 时间戳,超时则订单不执行

由此可见,稀有度的概念在这被磨平了,因为定价与稀有度无关了。

除了在 AMM 机制外,还有 2 个额外功能或者说是限制

每个流动性池只能有一个 LP,多数是项目方自己。限价单功能,用户在存入 NFT 时就可以设定地板价等待成交。

参与者的权利至少不会低于自己理性价格成交,等同于 OpenSea 挂单

4、总结-SudoSwap的亮点

4.1、从功能出发

Sudoswap 有强大的「即时定价」优势,市场撮合瞬间定价,通过套利者寻找合适价格。回忆下 Uniswap 的崛起历史,就是因为作为它新物种解决了中小项目方发币的难题,实现农村包围城市成为龙头。

4.2、从场景出发

对于长尾的 NFT 中会有奇效,如今 NFT 只有 2 大种蓝筹和其他,对于 punk 、 猴子 、 azuki 而言,流动性不是核心问题,原因在前文 punk 部分解释了。对于「其他」,则稀有度的差分其实并不大,反而极度依赖流动性,定价的快捷优势 + 官方池的推出,基本等同于股票回购机制,帮助项目方会做事。

4.3、从机制出发

诶,并不是 AMM 机制,而是 LP 机制反而让我惊喜 ,AMM 让卖家可以立马卖出获得即时流动性,而 LP 完全掌控资金池的定价(从价格函数到 Delta 值都可自定义,而且还可以随时调整参数)。

这像什么?摆摊开店呀,是平台化而非超大商,项目方自己不仅可以有交易场地,更有控制的能力,不是 Opensea 那种读链上地址从而中心撮合,项目方自己可以依据项目发展週期,控制是否回购,涨跌价幅度,意味着权利回归用户,在机制上与收费上(项目方也算用户)。

而 LP 的收入也能顶替版税,为项目方带来多元化收入平衡﹕

按手续费排序:Punk(0%) < SudoSwap ≤ X2Y2(0.5%) < Looksrare (2%) < OS(2.5%)

4.4、从程式码出发

优美的程式码,总是让笔者这样的技术型行业独立研究者感受舒适,而 Sudoswap 代码的设计有了不少优化点,整体实现成交的 Gas 费用属于行业一流水平,单 NFT 购买仅需 14 wgas,多笔成交也优于 os、x2y2等。

按成交GAS排序:Punk < SudoSwap < Opensea < GEM < Genie < X2Y2 < Looksrare

项目整体有 2 家审计公司背书,虽然审出一堆风险问题,但几乎不威胁到核心机制。

最终

通过梳理本文逻辑,确实,Sudoswap 的异军突起是有一定市场价值的。其 AMM 机制引入 NFT 做市商天然的可以用金融的玩法来量化套利,只要流动性池子大了后,随买随卖便能为 NFT 的价格形成支撑,进一步延伸到 NFT 租赁借贷等场景,立足于帮助长尾项目成功,高度吻合当年 Uniswap 的发家史,未来有可能成长为一个真正的协议。

但是,其 Sudoswap 也失去了稀有度的差异,同一系列的 NFT 的价值都是趋同的,NFT 又演变成了另一种意义上的 FT,因此,Sudoswap 也在场景有局限,只能适用于部分偏长尾的项目,或者同质化较高的应用型 NFT。

看,同质化高、长尾、数量众多,是不是每一个词都完全匹配 GameFi 中的 NFT?没错,好的游戏生态里屠龙刀是必要的,而树枝长剑也是必要的。

笔者认为完全上链的 Sudoswap 虽然只支持 721,但未来将会是众多 GameFi 或者创作者经济中优质交易市场模型。易于项目方做事,易于创作者传播,更易于低价高数量的商品通过 AMM 寻找到合理价格。

(本文作者:十四君)