Ordinals 铭文体积与手续费:为什么一张图能很贵 图 1
Ordinals 铭文体积与手续费:为什么一张图能很贵 · 图 1

铭文的费用从哪来

Ordinals 铭文把任意数据写进比特币交易的见证字段里,再声明这笔交易某个 satoshi 携带该数据,概念定义见 比特币铭文是什么?Ordinals风险。因此铭文交易的本质是一笔“体积很大”的普通交易:它和其他交易争夺同一个区块空间,按体积计费。费用高不高,取决于两个变量:数据体积,以及写入时刻每虚拟字节的价格。

第一个变量:体积如何折算成钱

见证数据在区块账本里按一权重计费,而非见证部分按四权重(见 比特币内存池与费率怎么看? 对 vsize 的说明)。这意味着铭文虽然“打折”入块,但绝对体积依然可观:一段几十 KB 的图像或脚本数据,折算出的虚拟字节数可能是普通转账的几百倍。假设(示例非实时)交易 vsize 为 12000 vB、费率 3 sat/vB,费用约 36000 聪;同一时刻若费率被竞争推高到 50 sat/vB,同样的数据就要 60 万聪。可见“铭文贵不贵”首先是时机问题,其次才是数据大小;压缩图像、选择低峰时段,都是同一条成本公式里的两个旋钮。Ord 命令行工具提供的费率上限参数就是第二种保险:设定你愿意接受的上限,工具内部排队等待费率回落再发送,具体参数名以当前 ord 版本文档为准。

第二个变量:铭文占用的是整个 UTXO

铭文通过 sat point 定位到 UTXO 内部的具体 sat 位置(见 Ordinals 的 sat point 机制怎么运作?UTXO 内的小数怎么排序),转移铭文实际上是转移承载它的整笔输出。规范因此要求铭文所在的 sat 位于输出价值序列的起点:钱包铸造时会精确构造一笔“第一个 sat 即铭文”的交易。这带来两个费用侧效应。其一,承载铭文的最小输出有下限,小额输出还要叠加尘值规则,转账时可能出现“为了送一张图而搬动远高于图价的聪”的情况。其二,铭文交易被确认前,输入 UTXO 被整笔占用,费率估算偏低导致长时间未确认时,这笔资金既花不出去也改不了目的地,只能按 RBF 规则替换,处理方式见 比特币RBF和CPFP怎么选?

怎么读自己这笔交易的成本

发之前看三样:数据的压缩后体积、钱包报告的交易 vsize、目标确认时间对应的费率档(见 mempool推荐费率API怎么读? 对费率档的读法)。发之后用 ord 或区块浏览器核对交易内体积构成。需要提醒的是,铭文市场价格波动大,本文讨论的只是把数据写进区块的机械成本,不涉及任何铭文资产的买卖判断,也请在参与前确认所用 ord 客户端版本与规范一致,工具版本差异会直接改变交易体积和费用。涉及资产的交易存在手续费与操作风险,不构成投资建议。

三个可以立即自查的动作

第一,铸之前把数据丢进压缩工具试一遍体积:同一张图,PNG 与 WebP 折算出的 vsize 可能差数倍,钱包或 ord 报告显示的交易大小是最直接的裁判。第二,给交易设一个你能接受的费率上限而不是“立刻发送”,观察内存池拥挤程度后再决定,费率档位读法可参考 比特币内存池拥堵怎么判断?。第三,铸之后检查这笔交易的确认数与 sat 归属,确认铭文落在预期位置;若交易卡在未确认状态,先判断它是否带 RBF 信号再决定加速方式。把铭文当作“带数据的 UTXO”而不是“链上文件”,它的成本结构、拥堵敏感度和后续转移摩擦都能从同一个模型推出来,这也是理解 Ordinals 的 sat point 机制怎么运作?UTXO 内的小数怎么排序 之后最实用的心智模型。

再补一层机制前提:铭文费用公式里被压缩的其实只有“数据本体”,见证结构本身还有固定开销——一次键声明、脚本长度与签名占位,都会摊进权重。当数据体积逼近普通交易的量级时,这笔固定开销的相对占比会明显下降,这就是为什么“图再大一点费用却涨得不成比例”的曲线在几 KB 区间最陡。故障处理也要预演:如果费率上限设得过低,交易可能在内存池停留数天,直到费率回落才进块,期间 ord 的排队队列长度可以直接观察;若你放弃了等待改用更高费率重发,需确认旧交易具备可替代性,否则只能等旧输出过期或被对手方挖出的冲突交易覆盖,处理路径与前一篇未确认交易的三种结局一致。