比特币上的 Opensea,UTXO 派系也可以实现非托管式电商模式 Dex

Foresight · 2023-06-12 16:40

NFT

DEX

OpenSea

作者认为,UTXO 技术栈里做 NFT 电商和非托管 Dex 是非常合适的,如果比特币的脚本引擎做适当的扩充就可以做的很好。


撰文:黄世亮


Opensea 过去一年的交易量高达 19 亿美元,过去一年 opensea 平台收入高达 74 百万美元,哪怕现在是熊市。


所以,像 Opensea 这种电商模式,非托管式的交易市场是很赚钱的。


现在主要是在以太坊生态上做这些生意。


比特币等 UTXO 生态上的用户现在也盯上了这一块生意。


受益于以太坊的可编程性,在 EVM 上实现电商模式&非托管式的 NFT 交易是非常容易,其基本原理是:


在以太坊上,持有 ERC721 等 NFT 标准资产的外部拥有账户(EOA)可以通过签名消息将 NFT 转移给另一个地址。这个签名消息包含了诸如售价等关键信息。


接收到签名消息的 EOA 地址只需根据签名消息的内容添加一些信息,例如支付金额。然后,他们可以构造整个交易,对其进行签名并广播到网络。这样,就可以完成交易。


这就是以太坊对资产的控制的方式更灵活的结果,而 UTXO 只能依赖于私钥签名才能花费,要实现电商模式&非托管式的 NFT Dex,就要更难一些。


其实比特币上一直有 dex 协议,但脚本引擎太弱智了,实现 dex 比较土。


比特币上的 DEX 交易的是啥?


你可以简单是理解为一部分 UTXO,交易,另一部分 UTXO。UTXO 天然就是非同质的,不同的 UTXO 就可以代表不同的东西。


序数协议(Ordinals)就是比特币所有的聪按挖出顺序进行排序,给每一个聪打上了一个数字。


铭文(Inscription)则是将每一个序数聪附上独一无二的信息(如小图片),以此将这些序数聪映射成了 NFT。


brc20(以及各种 brc xxx)则又将序数里的聪附着上一段数据,用来代表同质化代币。


本质上在比特币链上实现的 brc20 交易、铭文交易,都是用普通的比特币 UTXO 换序数 UTXO。


最近铭文啊和各种 brcxx 很火,我测试了 unisat 的 brc20 交易市场,是实现了非托管式的电商模式 dex。我测试了几笔交易,查看交易的脚本,大概原理是这样的:


首先要理解 sighash 标记符。在一笔比特币交易签名过程中,可以使用 sighash 来标记如何签名,有多种 sighash,比如:


  • Sighash_all 是默认的标记,表示交易所有输入和输出都被包含在签名中,整个交易任何部分被修改都会失效。
  • Sighash_none 这个标记表示只有交易的输入被包含在签名中,输出不被包含。这种交易就允许其他用户随意改变交易的输出。
  • Sighash_single 这个标记表达交易的一个输入和一个对应的输出被包含在签名中,其他用户可以添加更多的输入或输出。


unisat 的 dex,实现非托管的原理如下:


  1. 卖家先使用 sighash_single,确认好自己的转出铭文的 input 和收款 output;
  2. 卖家将自己签好的 sighash_single 标记交易发给 unisat 服务器,我估计这不会被广播,这只是一个签名,还没有组装好完整的交易;
  3. unisat 服务器会添加一个 input 和 output,也采用 sighash_single 的标记签名,用来收手续费。然后在 marketplace 展示这笔卖单;
  4. 然后买家补充一个 input,用于付款,再补充一个 output,用于收 ordinals,买家需要完成全部签名,把整笔交易完成了,并广播交易,并且需要买家支付矿工费;
  5. 如果卖家需要撤单,也要发一笔交易,完成整个签名,看起来像是自己买下来了,但不需要给 unisat 交 fee。


上述过程,你会发现 dex 上虽然存在服务器,但服务器并不能偷走买卖双方的资产,资产在整个交易过程当中都完全由用户自己的私钥控制,这就是非托管。


上述原理本质上是用于出售具体的 UTXO,即出售 ordinals(序数)。即出售的都是 NFT,非同质化代币。但 brc20 是同质化代币,这是利用 ordinals 设计的同质化代币,所以也能出售。


但有个问题,买家如何主动求购?


比如这个场景,「以某价格(如地板价)求购任一 NFT」,在比特币的 UTXO 体系下就做不到。这个在 EVM 技术体系下是很容易做到的。


但比特币的 UTXO 体系可以做到,「买家指定某一个 NFT(明确求购具体的 UTXO)」。其原理如下:


  • 买家使用 single_single,将 1 个输入(付款)和所有的输出(要购买的 NFT、收款地址、找零地址)全部确定下来,同时买家还要将要买的 NFT 的那个 utxo 定为输入但空着签名(这只能卖家来签名)
  • 卖家看到订单后,将自己的签名添加进交易里,卖家只能添加签名,不能执行其他操作了。


鉴于区块链系统上都没有通知系统,这种求购特定 NFT 的方式。这就有点类似于 godaddy 上的求购域名方式。


而让买家主动求购 brc20 这类同质化代币,采用比特币现在的脚本引擎就更无法实现了。


但以太坊的 EVM,就很容易实现。


另外,BCH 上在上月(5 月 15 日)升级了 cashtoken,这个技术让 UTXO 可以实现上述「买家以某价格求购任一 NFT,也可以求购特定数量的同质化代币。」


我觉得 UTXO 技术栈里做 NFT 电商&非托管 dex 是非常合适的,如果比特币的脚本引擎做适当的扩充就可以做的很好。


但现在比特币缺的是原生性的 NFT 资产。所谓的原生性的资产是指资产的安全性由矿工来保护,矿工会对代币进行 100% 的验证。


BRC20 这些协议并不是原生性的 UTXO 资产,它们是客户端验证,矿工是不理会它们的。


BCH 现在搞了 cashtoken,可以用来发各种代币,包括非同质和同质,并且是原生性的资产。但 BCH 上整体流量太小,没什么人,无米之炊。

免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表Bi123的观点或立场

相关推荐

上一篇:从 Web3 当下的发展轨迹挖掘未来机会

下一篇:SEC 向 Crypto 全面「开火」,提起 130 起诉讼

扫码下载APP添加官方微信
行情机会交流