Ordinals 铭文是什么:在比特币上刻数据的原理与误区 图 1
Ordinals 铭文是什么:在比特币上刻数据的原理与误区 · 图 1

Ordinals 协议在 2023 年初把”比特币上也能刻 NFT”带进了大众视野。关于它的讨论两极分化:有人视其为比特币生态的开放实验,有人批评它加重了网络拥堵。抛开立场,先把技术事实讲清楚:铭文到底是什么、数据是怎么进块的、哪些说法是误解。

Ordinals 的地基是一个编号方案。比特币的一枚币由一聪一聪(satoshi)构成,Ordinals 给每一聪按被挖出的先后顺序编号(沿用 BFC 的序号编号思路)。聪本来完全同质,一旦有了唯一编号,就可以用”哪一聪”来指代一个唯一的东西——这就是在比特币上做非同质化资产的原生索引办法。所谓”给某个 NFT 的聪打上标记”,实际是把特定序号的聪转移到特定地址,让它与某个 Inscription 关联起来。

铭文(Inscription)本身是附加在比特币交易里的任意数据。早期实现利用隔离见证(SegWit)交易的 witness 字段: witness 里的数据不参与共识验证,验证节点的体积负担较小,却能随交易永久写进区块。一条铭文交易通常包含两部分:一部分在输入解锁脚本里声明内容的 MIME 类型和编码(类似 text/plainimage/png 的声明,以 data 前缀的脚本片段表达),另一部分把内容切片塞进各输入的 witness 栈。索引器扫描全链、按规则解析这些片段,就能重建每个铭文的内容、所属聪和转账历史。需要强调的是:铭文数据存在与否依赖全节点保存完整区块和索引器软件解析,它不进 UTXO 集,也不改变比特币共识规则——比特币协议本身不知道”铭文”这个概念。

由此澄清几个高频误解。误解一:“铭文就是比特币。“铭文只是借比特币交易存放的数据,与聪的价值无关,一张铭文可以躺在几乎零价值的 UTXO 上。误解二:“写进比特币就等于绝对永久且无成本。“数据永久与否取决于全节点保留区块的意愿,而写入成本取决于当时费率——拥堵期刻一条几十 KB 的铭文,手续费可能高得离谱,这也是社区争议的根源之一。误解三:“所有节点都会被铭文拖垮。“依赖 witness 的铭文对节点存储与带宽的影响方式与直接塞 calldata 不同,争议在于经济外部性而非共识层面的破坏,具体影响幅度因节点配置而异,不同分析结论不一,应标注为持续讨论中的话题。误解四:“铭文不受比特币升级影响。“比特币的脚本与见证规则调整(例如历史上的 taproot 升级引入了新签名模式,也带来了更大的数据空间)会直接改变铭文能写什么、怎么解读,索引规则本身也由社区约定,协议升级带来的重索引风险是真实存在过的。

使用层面的特点是:铭文的交易与比特币转账是同一类操作——用钱包把带铭文的 UTXO 转给别人,不需要额外的智能合约;交易费走比特币费率,网络拥堵时体验明显变差;钱包必须支持按铭文维度组织 UTXO,否则普通”找零”逻辑可能把铭文当作零钱花掉,这是铭文钱包必须做地址隔离与标注的原因。

最后是关于协议边界:Ordinals 是一个开源索引器加上一套社区约定,不是比特币官方项目,也没有基金会背书。铭文的创建规则、交易解析和合法性判断都由软件版本决定,同一块数据在不同索引器版本下可能被解析为不同结果。理解铭文,需要把”比特币共识”与”铭文社区约定”这两层始终分开看——几乎所有争议和误解,都源于把这两层混为一谈。

风险提示:本文仅为技术机制科普,不构成投资建议。铭文交易涉及比特币网络费用波动与索引器兼容性风险,请自行核验相关开源协议文档。