# NFT AMM：Sudoswap如何实现高效交易

By [cz](https://paragraph.com/@cz-3) · 2022-07-30

---

在老雅痞的账号里，我们聊过了很多关于现在技术条件下现存的障碍和未来待解决的问题，我们今天要讲的Sudoswap就是为了解决NFT的流动性状况的。

从本质上讲，非金融工具是不可替代的。这导致了围绕提供深度流动性和定期交易市场的问题。从历史上看，这种稀薄的流动性是由几个主要因素驱动的。

*   高额的协议费和特许权使用费给流动性增加了很多问题。
    
*   NFT集合的不同特征导致场外定价不一致，并且难以通过传统的V2 AMM曲线进行建模。
    
*   NFT的碎片化（NFTX、NFT20）有助于加深NFT的流动性，但会迫使人们交易NFT的一部分。这增加了根据特定稀有物品或定制特征做市的难度。碎片化还降低了资产的可组合性，并使其在原始系统之外毫无用处。
    

在过去的一年里，一个名为Sudoswap的低调小众但非常有效的NFT市场协议已经开始致力于改变这一现状。在他们的v2协议中（目前已经上线），他们提供了多资产、非托管和gas优化的特点。

Sudoswap是一个建立在0x协议之上的NFT和代币交易的场外交易（OTC）互换应用程序。它是在2021年4月由一个名为0xmons的匿名开发者推出的。他是NFT行业中著名的、广受好评的专业人士，特别是发布了同名的0xmons像素怪物集合和zkNFT。0xmons最终目标是让Sudo成为一个广泛使用的NFT交易协议，创造一个用户友好的体验，由Sudoswap独特的后台技术驱动，以及一个流动性聚合器来提供一流的定价深度、上市费用和可定制性。

在探讨它之前，值得重新审视一下目前Sudoswap推动NFT互换量年化1亿美元以上的一些差异化因素。虽然NFT AMM的更新代表着一个重大的更新，但大部分的基础技术将延续到新的迭代中，并成为下一步成功的驱动力。

很多NFT玩家乍一看Sudoswap会觉得比较莫名其妙，网站的页面非常简单，甚至是有些简陋，推特账户上粉丝也不多，连我自己浏览的时候都担心了自己是不是进入了骗子网站。目前网页端的情况主要限于场外交易的交换，尽管有这个限制，Sudoswap在过去30天的市场波动中保持了千余名独立用户，使其与Sandbox和Rarible等协议相媲美。

在简陋的表面之下，Sudoswap通过结构上的三要素使自己与众不同：高效和非托管交换交易，低费用，以及多资产交换交易。在交易层面上，与Opensea上的类似交易相比，交换交易更便宜。

一个非托管的后台意味着制造者不需要支付任何费用来上市，只需要签署交易。接受者支付费用来执行交换交易，这与在另一个主要的NFT交易所的交换交易相同，甚至更便宜。NFT可以像其他平台一样兑换成ETH，也可以交换成各种ERC代币的任何组合。此外，Sudoswap不收取任何费用。于是它很快就受到了更多参与NFT交易的观众的欢迎。随着sudoAMM的推出，0xmons提到，费用最初可能会上升到1%以下，这仍然使他们比Opensea等收取2.5%的平台有很大的优惠。

**sudoAMM**

传统的AMM允许提供流动性，支持从0到无限的价格。SudoAMM是一个集中流动性的AMM，用于交易整个NFT，这意味着人们可以自由定制他们提供流动性的价格范围。

SudoAMM不会将NFT分割成可分割的ERC代币，而是使用粘合曲线来促进整个NFT的交易。因此，一个给定的池子的价格报价将由池子的创建者选择的粘合曲线样式决定，这确实是NFT生态系统中市场的一个独特方法。

到目前为止，用于交易可替换代币的最流行的AMM模型是x\*y=k的AMM粘合曲线。鉴于加密货币的自然波动性，一个能最大限度地减少价格滑坡，但不需要流动性再平衡（被动投资）的流动性提供策略是有价值的。x\*y=k曲线对于可替换的代币来说通常是有效的，对于主网上交易量最大的货币对来说，滑点是相当小的。

两个主要因素，导致两种不同类型的市场，使x\*y=k一般不适合交易整个NFT。

至少在我们熟悉的opensea上看，人们更喜欢交易整个NFT，而不是零散的替代品。NFT活动激增的部分原因是人们希望持有特定的项目，而不是普遍的风险。这导致了像Opensea这样的协议允许用户交易NFT系列中的特定项目，此时的即时流动性往往需要执行大大低于“公平”的市场价值。

NFT藏品通常有明显较小的流通供应（NFTX）。碎片化有助于解决这个问题，导致像NFTX这样的协议，他们将NFT在收藏品中进行碎片化以帮助提高流动性。即使在分数化协议中，x\*y=k模型的偏见也是可见的，即永远不会耗尽流动性，大多数可用的资产仍然是闲置的。

token流动性已经处理了类似的问题，导致Uniswap v3创建了“集中流动性”。Sudoswap AMM希望为NFT空间创建一个类似的集中流动性产品，但没有token化的缺点。token化的v3模式将提供有效的流动性，但这样做的代价是gas费（每次交换的额外交易）和对不同交易策略的原生支持。虽然许多这些选项对于Uniswap v3中的一部分是可能的，但如果不使用外部流动性管理人，它们实际上仍然是不可行的。

sudoswap AMM用于使用可定制的绑定曲线促进NFT（ERC721s）到代币（ETH或ERC20）的交换。流动性提供者 (LPs) 可以存入单边买入或卖出池中，或向双方提供差价以收取费用。

该协议的基本单元是LSSVMPair，它可以持有NFT、代币或两者兼有。然后最终用户与 LSSVMRouter交互以跨多个池进行交换并在一份合同上管理他们的审批。与其他地板NFT协议类似，目前的sudoswap AMM协议对不同的ERC721 ID没有区分。愿意购买或出售NFT的池子将返回相同的价格。

▵ 0xmons-blog2021年博客

**粘合曲线和定价**

为了确定定价，每个LSSVMPair都与LPs设定的特定粘合曲线有关。目前，有两种选择。LinearCurve和ExponentialCurve。这两种曲线都是由一个变量delta参数化的，这个变量是在配对本身中设置的。未来可以将更多的粘合曲线合约列入白名单，以便与LSSVMPairFactory一起使用。

在用户与某一货币对进行交易后，该货币对会查阅其粘合曲线，以确定其新的价格应该是什么。粘合曲线的目的是纯粹的，即它们不会修改调用它们的货币对的状态。输入/输出验证和价格更新的实际逻辑发生在LSSVMPair合约本身。线性曲线执行加法运算来更新价格。delta被假定由LP正确设置为与该货币对的基础代币的精度相同。

如果该货币对刚刚通过发出一个NFT并收到代币而卖出了一个NFT，那么它下次报价卖出NFT的价格将是delta多。相反，如果该货币对刚刚通过发放代币和接收NFT而买入NFT，那么它购买NFT的下一个报价将是delta更少。

指数曲线执行的是乘法运算。delta被视为一个乘数，假设1e18为1的固定点系统。如果delta是1e18+1e17，这代表每次价格变化的10%。如果该货币对刚刚通过发出一个NFT并收到代币而卖出一个NFT，那么它下次报价卖出NFT的价格将是乘以delta的数量。相反，如果该货币对刚刚通过发放代币和接收NFT的方式购买了NFT，那么它购买NFT的下一个报价将是乘法delta值更低。

除了修改delta以改变货币对的价格反应性外，了解LSSVMPair中的spotPrice变量的行为也很重要。现货价格指的是向该货币对出售1个NFT的瞬时价格。从该货币对买入1个NFT的瞬时价格被设定为spotPrice，相对于该货币对的粘合曲线向上调整1个单位的delta。

例如，假设我们有一个ETH的LSSVMPair交易，现货价格为1ETH，线性曲线的delta为0.1ETH。(假设费用为0。）那么一个用户向该对出售1个NFT将收到1个ETH，而一个用户从该对购买1个NFT将不得不发送（1+0.1）=1.1ETH。

换句话说，从一个货币对购买NFT的价格将永远比向该货币对出售NFT的价格大（无论是加法还是乘法）。如果用户在一次掉期交易中买入或卖出多个NFT，spotPrice将对每个买入或卖出的NFT按delta进行更新。

▵ 0xmons-blog 

创始人在2021年zai在自己博客中概述关于NFT AMM的工作原理

**跨对互换**

 sudoAMM协议目前针对跨对互换提供两种方式：NFT和Token交换、NFT和NFT互换。

项目方建议使用LSSVMRouter在不同的对之间进行交换。用户可以为路由器设置一次token和NFT的允许量，而不是为他们想要交换的每个新池子设置。在协议层面，sudoswap AMM不在链上执行任何路由优化。用户应该在调用路由器时知道他们想要的交换路径，例如通过使用链外索引服务。

*   **NFT和Token交换**
    

当为NFT交换token时，用户可以指定他们想要每个配对中的哪些NFT ID，或者他们可以要求配对中的任何ID。当从NFT交换到令牌或从令牌交换到NFT时，LSSVMRouter有两种类型的交换：正常交换和稳健交换。

**正常互换：**

正常交换在概念上类似于其他DEX上的令牌到令牌的交换。用户向路由器发送一个最大输入量或最小输出量（即允许的滑移），以及交换路线和最后期限。路由器将在指定的各种对换中进行交换。在所有交换结束时，路由器将对所有要接收或发送的token进行总计，如果总数超过了用户指定的滑移量，则进行恢复。

\*\*稳健互换（Robust Swap）：

\*\*

相比之下，Robust Swap对每个交换对进行滑点检查，而不是在最后进行总量检查。如果一个指定的互换对的价格超过了允许的滑点，路由器将默默地跳过这条路线，转到下一条路线，不会有回退或错误。

**正常与稳健互换区别：**

为了了解互换类型之间的区别，给大家举个例子方便理解：假设有2对NFT，第一对的现货价格为1ETH，线性曲线的delta为0.1ETH。第二对的现货价格为1ETH，线性曲线的delta值为1ETH。

一个用户希望购买NFT，每个池子里有一个，每个1ETH，有10%的滑点。该用户提交了一个互换交易。在这个交易执行之前，有人从每个池子里以每个1ETH的价格购买了1个NFT。

第一对的新现货价格为1.1ETH，第二对为2ETH。

如果该用户提交普通交换交易，他们将发送2.2ETH（2ETH+0.2ETH以支付额外的10%滑点），交易将失败，因为他们将发送足够的ETH以支付新价格1.1ETH的第一次交换交易，但不足以支付2ETH的第二次交换交易。

相比之下，如果用户提交了稳健互换，他们也会发送2.2ETH，但每个交换的最大成本为1.1ETH。路由器将有足够的资金来支付1.1ETH的第一次交换。然后，当看到第二次交换将花费2个ETH时，路由器将完全跳过这一对。交易成功后，将1.1ETH返还给用户，并将他们用1.1ETH购买的一个NFT发送给他们。

因此为了获得更好的用户体验，一般推荐使用Robust Swap，代价是略微多一些气体。

*   **NFT和NFT互换**
    

作为另一个额外的便利，LSSVMRouter还支持将NFT换成代币，然后在一次交易中将代币换成其他NFT。像token到NFT的交换一样，用户可以从一对NFT中指定特定的NFT ID，或者要求任何NFT ID。

▵ 刚刚添加的池的实时图表视图 

 可视化任何池的深度和范围，用户和流动性提供者在查看特定池时都可以查阅

**计划提供的服务**

SudoAMM计划为网站上的LPers和Traders提供灵活性，以便能够：    

*   调整LP价格范围（如从\[0.667 ETH, 1.5 ETH\]到\[0.5 ETH, 2.0 ETH\]）。
    
*   调整当前池子的价格（如从1ETH到0.75ETH，买入/卖出报价自动适应）
    
*   调整买入/卖出的费用百分比
    
*   通过单边流动性池，进行DCA入仓和出仓
    
*   最重要的是，这种结构提供了两种类型最佳选择，OpenSea的粉丝能够交易整个NFT，但能够获得即时的买入/卖出报价，最好是更接近公平市场价值。
    

所有这些策略都是通过使用自定义粘合曲线来执行的。新手用户将能够从预先设定的机制中进行选择，而更高级的交易者将能够根据自己的意愿调整执行。截至目前，还没有SUDO token。

**优势**

现在市面上活跃的NFT协议众多。为什么要将交易迁移到Sudo？优点有哪些呢？

*   **提供低成本/低利差的NFT交易**
    

LookRare和OS都在收取个位数的百分比，而Sudoswap的收费低于1%。Sudoswap的费用明显比同行便宜。除了协议费只有0.5%之外，用户可以在一次大宗交易中买入和卖出他们的NFT，由于用户可以节省gas费，所以成本效益更高。

*   **灵活性**
    

如果Sudoswap能够通过聚合器支持交易，那么在短期内，聚合也将可能使流动性池（LPs）开始时非常有利可图。

*   **可组合性和参与性**
    

  

由于池子是在链上的，DAO和multi-sigs可以管理它们，而无需委托签署或编写自定义治理代码。有更多的可编程性，这将允许创建自定义的产品和池子，就像我们看到的Uniswap v3一样。

**总结**

Sudoswap的sudoAMM已于7月8日发布，允许数字资产利用流动性资金池自动交易，而不是传统市场需要匹配买家和卖家。

sudoAMM允许用户创建池子，沿着价格曲线逐渐买入或卖出NFT，向NFT池子提供流动性以赚取费用，并直接以固定价格列出其NFT。

“目前，NFT市场依赖于集中式订单簿，这些订单簿会受到停机和集中化风险的影响，”Sudoswap在推特上发布，“sudoAMM通过完全在链上改变了这一点。任何人都可以在他们的应用程序中使用sudoswap市场使用的相同流动性的来源，只需使用以太坊。”

但关于能否彻底改变流动性问题，我持保留看法，对于普通用户来说，市面上协议越来越多，一点一点给我们更多选择总归是件好事儿。

---

*Originally published on [cz](https://paragraph.com/@cz-3/nft-amm-sudoswap)*
