一文讲清-NFT市场新秀SudoSwap的AMM机制-创新挑战与局限
NFT交易市场的近期颓势频现,整个市场的流动性大幅降低,而此时8月异军突起的SudoSwap则凭借一超多强的增长数据,让基于AMM机制的交易市场映入大众视野。
基于链上数据分析截至8.20日,已有上千种NFT项目进驻,涉及8.5W个NFT的交易完成,累计2000W美金的交易量。
本文将从NFT交易市场的主流模式出发,通过还原Uniswap的经典恒积公式,来深入解说SudoSwap的独特定价函数以及功能细节,最终从各点优缺来点评对交易市场发展的价值
1、NFT交易市场的主流模式
对交易市场的运作模型的分类依据3个核心方面:如何发布、如何竞价、哪里撮合成交
对此3方面的不同实现导致了其流量来源、运作成本、市场受众对象的差异
1.1、类Punk的内置市场
大名鼎鼎的CRYPTOPUNKS(加密朋克),其实内置了一个交易市场,集合了链上发布、链上竞价、链上成单的各类机制,均在短短230行的合约内实现详情可见:【合约解读】CryptoPunk 世界上最早的去中心化NFT交易市场
同样有项目内置的市场的项目还有:StepN、Axie Infinity、NBA Top Shot等等
纵观下来,其实实现成交不复杂,但每个环节上链非常不利于NFT核心的流动性问题,作为买方在卖家确定是否售卖之前就得锁入资金,不限制等待期的情况让punk的合约日常锁定了6400个ETH
而一个独有艺术品应该被怎样的价格销售的定价问题,是需要合理的公开拍卖机制来协助撮合,每次出价先付gas的模式只能说在高净值的Punk里还能忽略,长尾NFT只能望尘莫及
顶级蓝筹可能并不需要直接的交易流动性,因为大部分的忠实长期 Holder,想必未来顶级蓝筹将会逐渐成为金融附属品,应用在借贷、租赁等市场,交易市场上可能是有价无市,无人挂单的情况。可拓展阅读:
【源码解读】以太坊新标准EIP-4907是怎样实现NFT租赁的?
所以作为早期市场,Punk的机制探索有全环上链的高度信任优势,也有限于流动性与定价的劣势
1.2、类OpneSea、X2Y2的第三方市场
此类市场均为目前按交易总值计算下的龙头,整体运作模式则是链下发布与撮合定价,链上成单
多种多样的拍卖机制让价格的合理性得到评估,而Opensea的新协议Seaport堪称是时代最强合约设计之一,通过大量汇编优化将gas成本降低30%,且各种订单模式的灵活性拉满,在Seaport开源开放的情况下,非常利于各类垂类项目(gamefi,创作版权等等)将交易能力内置
此类平台要说其劣势,首要的是中心化程度太高,几乎都需要用户将NFT授权给平台的合约,甚至像X2Y2这种代码充斥大量代理升级的设置,完全有瞬间变卖跑路的能力
其次定价的合理性还是来源于当前的关注度,对长尾NFT项目而言似乎总处于死亡螺旋中,开启初期太依赖于项目方会不会来事,否则可能连白名单mint都会一级发售不完。而近期较火热的free mint反而是对市场信心低迷的表现
1.3、小结
在SudoSwap之前,似乎NFT 注定就不易流通,只能借助于平台庞大的规模来实现点对点的交易,在这样的情况下
突破口一是更有使用场景的NFT,可以从提供基础的应用价值来支撑市场价格。可拓展阅读:NFT租赁提案EIP-5006步入最后审核!让海外大型游戏的链改成为可能
其次是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的中相对好处理,因为ERC20token可以高度分割
咱们通过下图来走一遍Uniswap的生命周期,来捋一遍x*y =k的公式
2.2、创建阶段
如下图左侧,我想做LP(流动性提供者),那同时得给出希望构成交易对的Atoken和Btoken转入合约,每当流动性存入池中时,都会铸造出流动性代币给我(LP),获得量的计算方式依据提供的量占总池子量比例,这些代币就代表LP对资金池的贡献,LP可以获取到别人交易过程0.03%作为手续费分红
2.3、兑换阶段
如下图右侧,构建池后当任一代币被提取(购买)时,必须按”比例”存入(出售)另一个代币,以保持总量的不变,这个比例就是在K也等于是X和Y的兑换率了
K这个值虽然是理论恒定值,但是每一笔交易都会产生手续费,意味着其实在tokenAB的兑换过程K都会逐步增加缓慢上升
如下图,当已有ABtoken的交易对:Atoken-1200个,Btoken-400个则当前兑换率为3则我通过向合约内转入3个TokenA,并且额外支付手续费,在兑换后智能合约会给我TokenB 1个
这时由于整个系统的Token池子总量变化了,导致新的兑换率变化成3.015
由于价格完全取决于链上合约实时计算逻辑,交易对的价格只能通过交易来改变,因此一旦Uniswap 价格与外部价格有背离就会创造了套利机会,这种机制确保 Uniswap 价格始终趋向于市场价格。
笔者非常喜欢这种逻辑,让套利者帮系统变得更好且能盈利,可拓展阅读:
一文讲清-DeFI王者AAVE最新的稳定币GHO提案
3、SudoSwap的AMM机制原理
其实和UniSwap类似,SudoAMM 把 NFT 充当为 TokenA,把 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),由此类推
// 线性函数是累加制
function getBuyInfo(uint128 delta,**若干参数){
// 新价格是,每件购买的商品的现货价格 加上 deltauint256 newSpotPrice_ = spotPrice + delta * numItems;**若干代码**
}
3.2、指数定价函数(Exponential Curve)
在计算曲线程序-ExponentialCurve.sol 中,是依据购买次数来每次累乘增加
假设 delta 值是 1.1,意味着每次买入(或卖出)都会将价格乘以(或者除以)1.1倍。
平时(1E)→买入4次(1.46E)→卖出3次(1.1E)→卖出3次(0.75E),由此类推
// 指数函数是累乘制
function getBuyInfo(uint128 delta,**若干参数){
// 新价格是,每件购买的商品的现货价格 乘以 deltauint256 newSpotPrice_ = uint256(spotPrice).fmul(deltaPowN,FixedPointMathLib.WAD);} **若干代码**
3.3、创建流动性池的LP权利有多大?
创建流动性池使用的是LSSVMPairFactory.sol 程序中的createPairETH 函数方法,非常夸张的是,对比uniswap他可以设置的核心参数很多,执行创建会采用EIP-1167 的标准,也部署一个mini proxy合约,可以说即有独立合约的安全性(资产存于新部署的合约地址),LP有超级管理员权限,对定价函数,增量阈值,初始费用,全局手续费均可以控制
function createPairETH(IERC721 _nft, ICurve _bondingCurve,// 对 NFT 定价的联合曲线address payable _assetRecipient,LSSVMPair.PoolType _poolType,uint128 _delta,// 定价曲线使用的增量值。uint96 _fee,// 在每笔交易中收取的手续费uint128 _spotPrice,// 初始销售现货的价格uint256[] calldata _initialNFTIDs
) external payable returns (LSSVMPairETH pair) {
问题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个额外功能或者说是限制
1:每个流动性池只能有一个LP,多数是项目方自己。
2:限价单功能,用户在存入 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购买仅需14WGAS,多笔成交也优于os,x2y2等。
按成交GAS排序:Punk < SudoSwap < opensea < GEM < Genie < X2Y2 < Looksrare
项目整体有2家审计公司背书,虽然审出一堆风险问题,但几乎不威胁到核心机制。笔者整理了相关资料(源码审计报告)可通过公众号后回复”sudoswap”获取。
最终
通过梳理本文逻辑,确实,sudoswap的异军突起是有一定市场价值的
其AMM机制引入NFT做市商天然的可以用金融的玩法来量化套利,只要流动性池子大了后随买随卖便能为NFT的价格形成支撑,进一步延伸到NFT租赁借贷等场景,立足于帮助长尾项目成功,高度吻合当年Uniswap的发家史,未来有可能成长为一个真正的协议。
但是,其sudoswap也失去了稀有度的差异,同一系列的 NFT 的价值都是趋同的,NFT 又演变成了另一种意义上的 FT,因此,sudoswap也场景有局限,只能适用于部分偏长尾的项目,或者同质化较高的应用型NFT。
看~~
同质化高、长尾、数量众多,是不是每一个词都完全匹配Gamefi中的NFT?没错,好的游戏生态里屠龙刀是必要的,而树枝长剑也是必要的。
笔者认为完全上链的sudoswap虽然只支持721,但未来将会是众多GameFi或者创作者经济中优质交易市场模型。易于项目方做事,易于创作者传播,更易于低价高数量的商品通过AMM寻找到合理价格。
后续笔者将继续研究OpenSea,X2Y2,Looksrare,Gem等头部NFT市场平台,从合约出发,看其优势与局限性,有兴趣的看官,速速点赞关注,后续跟进吧~
前文回顾
【合约解读】CryptoPunk 世界上最早的去中心化NFT交易市场
一文讲清-DeFI王者AAVE最新的稳定币GHO提案
【源码解读】火爆的二舅币真的跑路了吗?
NFT租赁提案EIP-5006步入最后审核!让海外大型游戏的链改成为可能
【解读合约审计】Harmony链桥被盗一亿美金分析?
【源码解读】新标准4907是怎样实现NFT租赁的?
【解密】OpenSea免费创造的NFT都没上链竟能出现在我的钱包里?
【源码解读】你买的NFT到底是什么?
EIP-5058 能否防止NFT项目方提桶跑路?
当我们在看Etherscan的时候,到底在看什么?
当奈飞的NFT忘记了web2的业务安全
欢迎你从后台提交web3行业问题探讨
点赞关注十四,用技术视角带给你价值
一文讲清-NFT市场新秀SudoSwap的AMM机制-创新挑战与局限相关推荐
- P,NP,PSPACE都是什么,一文讲清计算复杂性分类
P,NP,PSPACE都是什么鬼一文讲清计算复杂性分类 7种计算复杂类的关系 导语 对于计算机来说,哪些问题是容易计算的,哪些是几乎不可能的?这些是计算复杂性领域的核心问题.本文是对这些问题的鸟瞰.( ...
- 一文讲清土地财政,地方债,转移支付,房产税和中特估
今天主要从地方政府的债务出发,谈一谈央地博弈,土地财政,转移支付以及房产税等内容. 本文干货较多,刚开始读起来会比较晦涩,但是干货满满,看懂了一定会有收获 具体: 一文讲清土地财政,地方债 ...
- 一文讲清:对象存储、文件存储、块存储。绝对好文
从应用角度看块存储.文件存储.对象存储 产品和市场需求有各种相互影响的关系,但不管是哪一种,最终呈现都是产品和应用需求需要对应匹配.应用需求越多样化,市场也就划分得更加细,产品种类也就更加丰富.在存储 ...
- 打工人一文讲清软件性能优化
性能优化是指在不影响正确性的前提下,使程序运行得更快,它是一个非常广泛的话题. 优化有时候是为了降低成本,但有时候,性能能决定一个产品的成败,比如游戏服务器的团战玩法需要单服达到一定的同时在线人数才能 ...
- 一文讲清数据治理、数据管理、数据资产管理区别,数据专家必看
转载/谈数据 数据治理.数据管理.数据资产管理,有什么不同?这是一个我被问的最多的问题. 如果要用一张图来描述它们三者之间的关系,你跟赞成以下两幅图的哪个? 图1:数据治理包含数据管理,数据治理提出了 ...
- 金融组织做规模化敏捷怎么划小队,一文讲清
越来越多的金融组织在推进规模化敏捷时,会开始采用虚拟部落小队架构,来对齐业务.加强科技团队价值交付能力.但作为科技敏捷的第一步,很多组织在划分部落小队时,仍会遇到各种各样的问题和困惑.本文就聚焦在小队 ...
- 一文讲清chatGPT的发展历程、能力来源和复现它的关键之处
1. ChatGPT是什么 chatGPT是什么?这可能是最近被问的最多的一个. 大家第一反应这应该是GPT系列的一个最新模型,普通大众可能更愿意把它看做是一个人工智能.实际上,它其实就是一个基于大规 ...
- 一文讲清所有字符编码(历史故事背景)
本次字符编码中涉及到了几乎所有常用的编码方式,囊括ASCII,GB2312,GBK,Unicode,UTF(utf-8,utf-16,utf-32). 什么是字符编码,为什么要有字符编码? 因为计算机 ...
- 从原理到方法,一文讲清如何应对C语言内存泄露!
可能不少开发者都遇到过内存泄漏导致的网上问题,具体表现为单板在现网运行数月以后,因为内存耗尽而导致单板复位现象.一方面,内存泄漏问题属于比较浅显的错误,此类问题遗漏到现网,影响不好:另一方面,由于内存 ...
最新文章
- 一些使用Vim的小技巧
- ​2012年至今,细数深度学习领域这些年取得的经典成果!
- OVS datapath之action分析(十九)
- Java接口的幂等性
- 【Java文件下载】如何让浏览器直接下载后端返回的图片,而不是直接打开
- dedecms 系统迁移及问题
- super和this关键字详解
- RTP/RTCP/RTSP/SIP/SDP简介
- d3 scale详解
- ibm量子计算机应用,科学网—IBM量子计算机获重大突破 可进行百万项计算
- C++STL算法速查
- ESP32-SPI接口bl0942驱动
- 华为BFD的配置规范
- 选择最佳的DC/DC转换器的五大秘诀
- 泛型:泛型类与泛型方法
- 定制开发app和小程序
- 从官网下win10太慢了怎么办?
- 计算机键盘的大写键,Win10系统键盘大小写切换键(Caps Lock)失灵了如何解决
- 智能健身动作识别:PP-TinyPose打造AI虚拟健身教练!
- 看看人家那系统设计做的,那叫一个优雅
热门文章
- 电脑卖场 WIN7 SP1 x86 旗舰版 V201306 (IE9)【蓝天科技】
- 只会收藏松果的“松鼠”
- actix-web -介绍
- STM32G070RBT6基于Arduino框架GPIO输入输出模式
- 办公室必备,健康生活:常见室内植物的功效,知道以后就别乱摆了
- java swftools linux,_SWFTools 详细教程-|东坡下载
- 如何制作一个注册表文件
- JSP连接数据库教程(IDEA)
- python 字典写入excel_Openpyxl – 从字典写入excel的行和列
- 2022年全球及中国公司秘书服务行业头部企业市场占有率及排名调研报告