未铭刻聪是什么:ord 索引器为什么只给部分聪建档 图 1
未铭刻聪是什么:ord 索引器为什么只给部分聪建档 · 图 1

在比特币社区里,几乎所有人都知道聪(satoshi)是比特币的最小单位,一枚比特币等于一亿聪。但在 Ordinals 的世界里,聪还多了一层身份:有的聪被官方实现 ord 的索引登记为“持有铭文”,有的聪没有任何铭文记录,社区口语里称其为未铭刻聪或普通聪。这一区分不是钱包厂商的营销话术,而是索引器的数据结构直接决定的事实,理解它才能看懂后续的父铭文归属、空投快照和普通币过滤等一连串机制。

聪的编号规则来自 ord 仓库根目录的 bip.mediawiki——一份题为 Ordinal Numbers 的提案草案(文件头标注 BIP 编号待定,状态 Draft,创建于 2022 年 2 月,作者 Casey Rodarmor,公有领域授权)。草案规定:每个聪按被挖出的先后被连续编号,创世区块 coinbase 输出的第一聪是第 0 号聪;区块补贴产生的新聪按区块高度可算出起始编号;交易里输入的聪按先入先出规则转移到输出上。按这套理论,每个聪都有一个唯一的名次。理论本身并不要求“被铭刻”才算数,它只是给聪排序。

真正制造“未铭刻”概念的,是 ord 索引器的实现方式。ord 不会给全部约两千亿枚聪逐一建档,那会让数据库膨胀到无法维护。它只记录发生了铭文事件的聪区间:当一段脚本里出现铭文信封结构时,索引器把落在被铭刻区间的聪登记为持有铭文,其余聪没有对应的铭文记录,默认就是未铭刻状态。换句话说,“未铭刻”不是链上多写了一个字段,而是索引数据库里“没有任何记录指向它”的默认值。这也是为什么不同索引实现对同一枚聪是否“普通”偶有分歧:分歧不在链上数据,而在各家索引器对规则边界的解释。

未铭刻状态在实际操作里最常被提起的场景有三类。第一类是父铭文归属:一枚聪上可以挂多个铭文,索引器用父子关系决定谁代表这枚聪对外展示,未铭刻的聪则根本没有归属问题。第二类是空投快照:项目方按“持有未铭刻聪”或“持有某某铭文”的地址列表发币,同一地址里混着已铭刻与未铭刻聪时,不同快照工具的口径可能不同。第三类是找零混淆:你把一部分聪花出去,钱包默认按整段输出选币,输出里混有哪些铭文,决定了你是否会把不想动的铭文字段一并送走。部分钱包提供“只支付普通币”的过滤开关,正是基于这套索引状态做筛选。

需要明确边界:未铭刻不等于“更干净”,已铭刻也不等于“更值钱”。ord 的索引是本地可重建的派生数据,任何展示层(钱包、行情站、插件)都可能使用与 ord 主干不同版本的索引规则。验证一枚聪是否被铭文占用,最稳妥的办法是查询自己信任的 ord server 实例返回的状态,而不是只看某个网页的标签。另外,Ordinal Numbers 提案自身仍是草案,细节表述以仓库当前版本为准,引用时应注明所读版本。

对普通用户而言,这套知识最直接的用处是:在涉及聪级别的空投、快照和稀有聪讨论中,先分清对方说的是链上事实还是索引器口径。聪有没有被铭刻,本质是“ord 数据库里有没有一条 inscription 指向它”,而不是聪本身携带的标记。把这一层想清楚,很多围绕“普通币能不能买、铭文字段会不会跟走”的争论就自动消解了。

还有一个细节值得记:ord 索引对“被铭刻区间”的登记以揭示交易为中心,聪的 ordinal 编号与铭文记录是两套彼此独立的数据——编号理论管“这聪排第几”,索引器管“这段聪上挂没挂铭文”。市场上所谓“把铭文和干净聪分开”,实际动作是构造交易时精确控制输入输出的字节顺序,让想保留的铭文落进指定输出、让普通聪去付账,这套操作能否成功取决于钱包是否支持按 ord 规则选币,而不是比特币协议提供了“隔离铭文”的原生指令。换句话说,普通聪与铭文聪的物理边界,全靠交易构造纪律维持;纪律松了(比如随手用不支持铭文感知的工具转账),不想动的铭文就可能跟着找零走。理解这一点后,你会明白“未铭刻”既是一种索引状态,也是一种操作目标:日常支付尽量花掉未被占用的聪区间,是对自己钱包里铭文档案最基本的保护。

本文为机制说明,不构成任何投资建议,也不构成对任何平台、合约或标准实现的背书。文中功能与规则描述以对应版本的官方文档为准,阅读时可能存在版本滞后。

未铭刻聪是什么:ord 索引器为什么只给部分聪建档 图 2
未铭刻聪是什么:ord 索引器为什么只给部分聪建档 · 图 2