解读UniSwap NFT市场协议不仅仅是聚合器
作为日交易量达 7.7 亿美元、拥有 400 多万用户的 UniSwap 来说,进军 NFT 市场赛道也意味着新一轮攻防战的开始,众多平台一时都担忧对方是否会抛出类似 SudoSwap 那样初始即王炸的好牌。
然而上线三天市场数据却让人唏嘘不已,在有 500 WUSDC 空投 +GAS 优惠的情况下,仅仅获得了 2% 的交易份额。一时之间平庸与无奇的聚合器,成了 UniswapNFT 市场的代名词。
真的只是如此吗? 其实当前推出的市场及合约都不是完全版 ,甚至诸多功能并非开放
请跟随十四君,本文将从 NFT 交易市场运作以及聚合器原理出发,结合 Uniswap 最新推出的 Permit 2 和 Universal Router 两份协议,深入理解最大的 Dex 平台是如何思考 FT 与 NFTSwap 的困境!
1、背景
1.1、什么是聚合器?
传统意义上,聚合器主要用于数据聚合,它可以跨各个网站收集数据,再将信息分门别类呈现在一个平台,以满足不同用户的需求。而专业的 NFT 聚合器需要从不同的 公链 与应用收集所有 NFT 交易订单信息,并将它们整合到一个平台。这为用户提供了流畅的交易体验,并提高了交易效率。
因此聚合器的侧重点是:
-
工具属性:提供单一 NFT 市场并未具备的功能,更侧重用户侧体验
-
交易体验:下文会梳理各种交易系统架构,可以显著感受到交易过程的割裂,无法一步到位完成一键交易的体验
那为什么 NFT 购买会有聚合的需求呢?让我们先概述下主流 NFT 市场的运作模式
1.2、交易市场主流模式
分类的依据是交易流转生命周期的 3 个核心方面,如何发布、如何竞价、哪里撮合成交,而这 3 方面的不同实现会导致了其流量来源、运作成本、市场受众对象的差异,其典型是:
-
链上订单:
-
垂类内置市场: 【合约解读】CryptoPunk 世界上最早的去中心化 NFT 交易市场
-
AMM 撮合市场: 一文讲清-NFT 市场新秀 SudoSwap 的 AMM 机制-创新挑战与局限
-
链下订单:
-
第三方市场: 抓完X2Y2十万 NFT 订单,分析版税可以不收后多少用户真这么做了?
链上订单的优势是: 安全 ,信息公开,去中心化,但是缺点则是成本高,流量匮乏
链下订单的优势是:成本低,流量易于聚集,但缺点是:中心化,信任成本和取消成本
以上是单一 NFT 交易平台的模式,而聚合器则是一个调用上述单一平台的系统并完成交易的工具。
目前 Uniswap 已然集成了头部 Top 10 的交易平台: OpenSea 、X2Y2、 LooksRare 、Sudoswap、Larva Labs、X2Y2、Foundation、NFT 20 和 NFTX。
目前链下订单的第三方市场模式就是主流,最大的竞争力在于流量与用户习惯,这点即和合约系统设计息息相关,也和用户认知习惯结合。
从卖家角度出发哪儿有买家,易于交易成单自然乐意在哪里挂单,而买家也自然会寻找更多卖家订单的平台来快速成交,而目前虽有巨头 OS,也并非是竞争的终局,因为 OS 虽然妥妥占据 80% 的交易量,但他一直心中期望走web2的上市路线,所以迟迟不发币也不与用户分享收益,从而在今年逐步被x2y2和其他聚合器蚕食部分市场。但其他平台又困于本身流量较小,且新用户多数首选大平台从而发展平平。
1.3、聚合器的工作原理
而聚合器天然是工具属性,他是在调用其他平台的交易系统,而非自建交易协议。
在 Uniswap 集成的 9 个平台中,类似 os,x2y2等都是开放订单池系统的,这个开放的目的是提供程序化实现订单交易的系统,这方面多数是给机器人用的,对平台而言能快速成交就是好平台, 开放订单池是个生态共建的互利初衷。
而链上订单系统,则是对主流的 sudoswap, nftx 等链上协议做解析。
聚合是如何替代第三方市场完成成单的呢?举个栗子来看,如下图
前置流程是:
-
一份订单的可以是卖方或者卖方发起,甚至平台方(含聚合器)发起撮合
-
首先卖方对 NFT 合约做授权(操作 0 ),从而许可代扣。而这时,其实x2y2:Exchange 可以任何时候直接转移 NFT 合约中卖方的资产, 这也是为什么第三方平台中心化过高的原因。
-
采用链上验签的方式来确定交易意愿,如x2y2:Exchange 或者是 os:Seaport 协议都是如此
-
订单是源于第三方市场的web2系统,聚合器拿到的是用户签名以及售卖条件(比如 1 个猴子, 50 个 ETH 才可成交)
执行流程是:
-
在聚合器平台构建好买卖单参数(含签名与金额)
-
用户发送交易到聚合器的链上合约
-
聚合器合约则替代了下图中 1 的部分,发送给第三方市场链上的合约
-
由于经过了聚合器合约,所以可以实现多笔购买同一笔交易完成
1.4、为什么聚合器可以节约 Gas?
从上述流程来看,聚合器本质还是调用第三方的合约,但是并不意味着交易的下限就是第三方的系统,因为一笔链上交易的成本组成是由 3 个方面的构成
-
单笔交易本身的消耗: 21000 Gas
-
交易的附带参数消耗:每个非零字节需支付 68 Gas
-
交易执行合约时消耗:依据对存储槽的修改使用与 EVM 工作量来计算 Gas 成本
所以能够被节约部分则是:N 笔交易合成 1 笔的过程,节约的 N-1 笔交易本身费用
拓展阅读: 【源码解读】你买的 NFT 到底是什么?
结合下图,具体计算下效率:
聚合成交是越多越划算:如果该平台完成单 NFT 交易成交所需的是 20 WGas,则 10 笔作 1 笔成交,可以节约 9* 21000 的 Gas,大概占各自成交 10 笔的 9.45%
聚合本身也有不少消耗:比如 Gem 单笔成交需要 28 W,批量成交 2 个则需要 50 W,大致上每个 NFT 需要均摊 6 W 的聚合损耗,因此在批量成交 3 个以上的时候,才会开始划算
上图交易类型与 Gas 表(属于随机单独抽取,非统计结果)
1.5、聚合器的价值在哪?
批量交易的功能在一段时间内迎合了项目方炒作, 投资 客抢购,散户易用工具赛选等诉求,所以具有较好的流量带来订单成交,实际上x2y2的半数订单源于聚合器。
相比于传统交易市场,NFT 聚合器有一些明显的优势,包括:
-
信息高度聚合:如交易量、地板价、交易价格、数量、顶级持有者、顶级买家等。
-
操作高度聚合:用户可以通过一个平台在所有市场上查看、交易和购买 NFT。
-
提高交易效率:信息与操作聚合,易于比价决策
-
支付方式多样化:理想情况下(第三方市场协议本身支持),则可以在 NFT 聚合平台上用任何代币进行支付。
综合看,是对于项目方本身批量买卖做市,对大户批量扫货交易,对散户观测数据信息各类用户都有所收益和触达,所以聚合器就在工具属性的路上越走越远,竞争点也越发的激烈,即考验合约实现中如何降低那 6 W 的损耗,也考验工具化平台如何更好的呈现数据,
但是笔者认为 Uniswap 的 NFT 市场的主打价值与目标,并非是做一个好用的好工具,而是期望实现一个统一的链上交互协议,针对的正是在支付方式非理想情况下,如何实现更顺滑的交易过程。
2、UniSwap 的 NFT 交换协议
别急,先别用当前低迷的交易量来反击,笔者不是在为项目背书或者写软文,而是从其源码实现中,看到更多的功能点预留,而并非只是当前已开放的功能。
作为日交易量突破 7.7 亿美元、拥有 400 多万用户的 UniSwap 来说,并不存在合约开发能力的不足以及投入资金的不足,更多的问题在于,用户需要的到底是一个怎样的 NFT 交易协议?。
UniSwap 本次并非仅仅发布一个聚合器平台和调度协议,而是发布了 2 个相辅相成的协议 Permit 2 ,和 Universal Router
2.1、Permit 2 - 高效且安全的新一代授权协议
2.1.1、传统授权机制的局限性
还记得上文中x2y2的架构图吗?新用户期望完成一次 nft 交易,对于如此简单的诉求,首先需要的就是,置换 Weth 和对 Weth 以及对应 NFT 合约做代扣授权。
少则一笔多则两笔交易的成本,还会存在无限代扣风险以及被盗风险。之前的 os 就出现因为挂单不会自动失效,比如上链设置的问题,导致用户从冷 钱包 转回高净值 NFT 被低价成交的损失。
2.1.2、代扣授权,是 ERC 20 的通病
虽然有已经步入 final 的 Eip-2612:《通过 EIP-712 secp 256 k 1 签名获得 EIP-20 批准》,但从协议的角度来看,ERC 20 的地位仍然是二等代币,因为用户在不持有任何 ETH 的情况下是没有与以太坊交互的能力
上图表示的是如何使用 Eip-2612 来实现无授权扣款
-
爱丽丝签署了链下“许可”消息 msg 和 sig,表明她的授权许可 (基于 EIP-2612) 代币。
-
爱丽丝提交的 msg 和 sig,作为她的协议合约交互的一部分。
-
该合约调用 permit(),基于 2612 的 Token 合约则验证许可消息和签名,授予许可。
-
这时该合约获得基于 EIP-2612 代币的授权,可代扣爱丽丝的 Token 了
是对 ERC 20 标准的改进,解决了这些缺点(额外 approve 支出与无限代扣风险),但只能适用于集成了 Eip-2612 的新代币合约
2.1.3、UniSwap 的 Permit 2 的授权优化机制
为了解决基于 Eip-2612 就必须集成到代币合约层导致的往前兼容性问题(即老 token 无法使用)
permit 2 则是一种任意 token 都可兼容的设计,等于是一个统一的授权管理合约
-
上半部:爱丽丝调用 approve()让基于 ERC 20 合约给 Permit 2 合约授予无限授权。
-
下半部:爱丽丝签署链下“permit 2 型”消息 msg 和 sig,表示签名许可。
-
Alice 在协议合约上调用交互函数,带有 msg 和 sig
-
协议合约调用 Permit 2 合约,在验证 msg 和 sig 后,从其授权中控制 erc 20 转移
总体来看:
虽然要求用户先授权许可似乎是一种倒退。但是,用户不是直接将其授予某个协议,而是将其授予规范的 Permit 2 合约(可以是该公链唯一的)。 用户只需进行一次授权,则可以跳过后续所有的协议与其交易的授权操作,改用链下签名替代 。等于用户再也无需为与各类协议交互而单独发起的这份交易了
这里还能实现更多极具场景的能力,比如签名授权的自动有效期,从而再也无需担忧长期授权的风险,批量的审批(多笔扣款签名可一笔实现,批量取消代扣授权的签名也可一笔实现)
自动有效期类似: 【源码解读】以太坊新标准 EIP-4907 是怎样实现 NFT 租赁的?
一旦成型,或者基于 uniswap 本身用户量的普及,一个完全去中心化的,只能通过用户签名来控制授权的协议就会成为人人必备品(谁会拒绝又安全又便宜呢)。
那,这与 NFT 交易市场的合约推出有什么关系呢?
有,当前 Permit 2 已经集成到 Uniswap 同期发布的 Universal Router 中即 NFT 市场的底层协议,代码集成但功能尚未开放(因为 NFT 版的 Permit 2 还未发布),目前也仅小范围在测试 ERC 20 版本的 Permit 2 。
2.2、Universal Router - 统一的 FT 和 NFT 互换协议
此协议的定位是:Uniswap 的下一代路由器,它将代币和 NFT 的 swap 交易统一为一个高度灵活、gas 优化、安全和可扩展的交换路由器
这也意味着后续 400 W 用户所默认使用的 swap 路由功能都将由此协议执行。
他的应用场景是聚合器,但并不只是聚合器,定位的目标是多资产的 swap 协议,可以对(例如 Uniswap 池、NFT 市场)执行交换。
2.2.1、协议价值在哪?
价值源于当前执行 NFT 购买的流程上的复杂。
-
任意 ERC 20 购买 NFT 鲜有协议层支持(除了 opensea 的 Seaport 协议天然支持),导致现在如想实现任意 ERC 20 (如 USDC)直接进行 NFT 购买,则至少需要 2 次交易从 USDC→ETH,从 ETH→NFT,
-
NFT 购买与卖出都需要一笔授权,跨平台交易需要多次授权,导致协议兼容与升级成本高。他可以天然集成 uniswapV2与V3,先执行多次代币交换(如下图),并在一次交易中从多个市场购买 NFT。
其实 OS 集大成之作 Seaport 协议也是实现了任意资产组合之间的互换。而完全链上协议层的支持,则可以让更多应用天然集成了链上 FT 与 FT,FT 与 NFT 直接的互换。
多代币支付的最终价值,在于让用户无需常备 ETH 做手续费。再次缩减交易链路,当然这点恐怕还有赖于未来基于 ERC-4337 的蓝图得以实现。
拓展阅读: 以太坊账户抽象万字研报:拆解 10 个相关 EIP 提案与冲击千万级日活用户瓶颈的七年之路
当然,目前你并不能在链上交易看到这样的多代币支付的实际操作,因为他并没有完全发布完整(还需 permit 2 的 NFT 版 ),还处于一个等待漏洞计划修改的优化的阶段。
2.2.1、approve 究竟占据了多少资源?
笔者 基于链上数据统计,截止 1597 W 区块高度,以太坊累计的 17.57 亿总交易量中。 执行 ERC 20 的 approve 功能交易的合计有 4770 W 笔,单笔消耗 gas 平均值为 84699 ,历史平均 gasPrice 为 73 Gwei。
最后按 ETH 换算,累计消耗为 295345 个 ETH,按时价达 3.8 亿美金。
总结
虽然本文看着软,甚至在显著的链上数据(交易量不足)的情况下,还在分析这样交易协议的优缺,归根究底 是笔者更看好这样不可升级的无 owner 的协议 ,完全开放代码与 sdk,任意应用与协议可以集成。同样的,虽然 os 的 Seaport 协议需要庞大的链下中心化系统协同才能运作,但是那样高度优化,功能拉满的多元订单系统,完全对外开源,对无数需要自建内部交易平台的 dapp(如 gamefi)等提供了巨人的肩膀,web3的世界也才能在一个个去中心化的协议之上逐步建立其价值。
-
目前其协议确实存在局限性
目前想要通过集成该协议来实现 NFT 交互功能的话,核 心问题还是太依赖于中心化订单池 。如今订单信息是通过 uniswap 官方网站本身对 os,x2y2等的查询,除了类似 SudoSwap 这样完全链上支持的合约直接查询之外(sudoswap 初始概念惊人,但运营惨淡,发布的 token 分配协议太倾斜于开发团队,渐渐地无人问津了)。交易聚合的 gas 优化效果,还是大幅依赖于成交 NFT 的数量,这样一来工具化(针对项目方投资客)的属性定位依旧不变。
虽然 Uniswap 其协议的定位是致力于构建推动加密 货币 向前发展的公共基础设施,采用的是更易于被 开发者 和其他 dapp 集成的模式,目前看产品本身的功能还是以聚合器的起始点, 却并没有更多适合聚合器用户需求的工具集成 。自然一开始是不受待见,哪怕是用 500 WUSDC 做空投。
Uniswap Labs 自收购 Genie 已长达半年,而今日上线的 Uniswap NFT 市场和半年前的 Genie 几乎一样。如今是因为X2Y2、Blur 等懂用户需求的 NFT 市场的出现,原来用户不得不忍耐产品体验辣鸡,而使用产品的时代已经过去。
而 Uniswap NFT 产品负责人 Scott 曾在推特表示,Uniswap 会通过继承 Sudoswap 实现 NFT 交易。期望后续推出的基础设施不能再如此胖协议,而瘦应用了。
欢迎你从公众号后台留言作者探讨web3行业问题
点赞关注十四,用 技术 视角带给你价值