交互|什么是 Ordinals 协议?如何在比特币上铸造 NFT ?
【摘要】Ordinals 协议本质上就是做了两件事情:给“聪”进行编号;给“聪”写入数据。本文还将以 OrdinalsBot 为例,教你在比特币上铸造 NFT 。
2 月 28 日,NFT 领域最强 IP 缔造者 Yuga Labs 官宣:将基于 Ordinals 协议在比特币区块链上推出 NFT 系列 TwelveFold。TwelveFold 总共 300 件作品,每个 NFT 作品都是由 12x12 网格所构成,并且结合 3D 图形和手绘特征的艺术作品。TwelveFold 发售采用拍卖的方式,且所有的出价都将以比特币进行。
在 Yuga Labs 的官方新闻稿中,他们甚至提到:「Stepping into the Ordinals Discord a month ago felt like getting a glimpse of the 2017-era Ethereum NFT ecosystem. It’s the type of energy and excitement we love at Yuga. 一个月前进入 Ordinals 的 Discord 社群,感觉就像是看到了 2017 年的以太坊 NFT 生态,这种兴奋的感觉正是我们 Yuga 喜欢的」
那么这个 Ordinals 协议到底是什么?比特币上的 NFT 究竟是如何发行的?背后的运作原理又是什么?本文我们就来搞明白这些问题。
一、Ordinals 协议的原理
首先我们要理解一个概念:比特币的最小单位。
比特币的创始人是 Satoshi Nakamoto,中文叫做“中本聪”;而比特币的最小单位是 satoshi,简称 sat,中文叫做“聪”。1 个比特币等于 1 亿聪,这个单位换算是 BitcoinTalk 论坛上的用户们在 2011 年讨论后商定下来的。
根据比特币的代码规则,我们可以知道:每一聪都是按照矿工挖矿的时间顺序生成的。
而 Ordinals 协议本质上就是做了两件事情:
- 给“聪”进行编号
- 给“聪”写入数据(这个数据可以是文字、图片、视频等内容)
“聪”有着独一无二的编号,将内容和“聪”进行绑定,这就意味着写入“聪”的内容成了独一无二,这不就成了我们通常理解的 NFT 。
而 Ordinals 协议能够实现,离不开比特币的两次重要升级:SegWit 和 Taproot 。
SegWit 隔离见证
比特币的每笔交易信息其实分为两个部分:基础交易数据+见证数据,前者记录账户资金结余,后者验证用户身份。相比而言,前者更重要,因此隔离见证就是将见证数据单独拎出来存储,从而为交易腾出空间。2017 年 8 月 24 日, 隔离见证升级激活。在隔离见证启用之后,比特币的区块中可以塞入更多的交易,效率也得以提升。
Taproot
2021 年 11 月 14 日, Taproot 在第 709, 632 个区块生效。Taproot 的升级为部署复杂的智能合约提供了可能性。前面我们提到的给“聪”绑定相应内容,这其实主要是基于比特币 Taproot 升级之后才引入的特性 — — 可以在 Taproot 脚本中存储任意数据。
二、以太坊 NFT VS 比特币 NFT
以太坊上 NFT 的元数据和图片大多数是存储在 IPFS 上的,而不是在以太坊区块链上。
NFT 元数据:也就是 Metadata ,是指构成 NFT 内容的一组数据,其实就是描述 NFT 的特征和属性的东西,例如名称、描述、特征、稀有度、托管图像链接等。
IPFS :一个去中心化的文件存储系统。
举个例子,我在 Opensea 打开一个NFT,比如下图我打开一个小企鹅的 NFT ,在左侧的 Details 里面可以看到Contract Address (合约地址)和 Token ID 。
而当我点开 Token ID ,就可以看到这张小企鹅图片在 IPFS 上面的存储信息。
在以太坊区块链上存储大量数据会导致区块链变得非常庞大,同时也会增加存储成本。因此以太坊上的 NFT,链上存储的只有这个 NFT 的 Token ID 和 Token URI ,而元数据和图片都存储在链下(比如 IPFS 上)。存储在IPFS 上的元数据和图片是不可修改的,但是项目方/开发者是有权更改存储在链上的 Token URI ,这就意味着理论上这个 NFT 是有可能被修改,并且也可能被删除。
URI:指向 NFT 内容存储位置的唯一资源标识符。比如我选择存在 IPFS 上,那么 URI 就是写的就是该 NFT 在 IPFS 的存储位置。
而利用 Ordinals 协议在比特币上发行 NFT ,因为 NFT 的数据是直接写进每一“聪”的,所以 NFT 完全存储在比特币的区块链上的,你铸造之后就是不可篡改的。
另外关于一些概念:
以太坊 — — NFT — — Mint(铸造)
比特币 — — inscriptions(铭文) — — inscribe(铭刻)
在比特币上,相比于 NFT ,inscriptions(铭文)是更准确的说法;相比于 Mint ,inscribe(铭刻)是更准确的说法。inscribe(铭刻)就好像是我们把内容往上刻写,而Mint(铸造)更像是在创造一个东西。在比特币上每一个聪都独一无二,我们只是往上面刻写内容。
不过为了更便于理解,也因为大家更熟悉 NFT 和 Mint(铸造)的说法。我们在下文中仍然会用 NFT 和 Mint(铸造) 这种说法。