为什么每个聪都能刻数据?比特币铭文与Ordinals序数理论

小编:魅力 更新时间:2026-03-16 14:55

投资人初次接触比特币铭文时,往往会产生一些常见的误解,比如认为“比特币经过某次软分叉后,新增了一个专用字段,让交易可以塞进一段冗余数据,这个字段就是铭文,而且每个聪都能独立存一个,只是大小限制还不清楚”?

为什么每个聪都能刻数据?比特币铭文与Ordinals序数理论

投资者想法的方向是对的,但细节上有不少偏差,比特币并没有真正“新增”一个铭文专用字段,而是巧妙复用了SegWit隔离见证和Taproot升级后放宽的见证数据区,铭文也不是每个聪都独立存一份,而是通过Ordinals协议,把数据永久绑定到特定聪的序号上,大小限制也远比想象中灵活(通常几KB到几百KB,理论上限接近4MB)。

不是“新增了一个字段”,而是“复用了已有字段”

比特币从未真正新增过“铭文专用字段”,真正让铭文成为可能的是两次关键升级。

1、SegWit(隔离见证)(2017年软分叉):把签名数据从交易主体里“隔离”出来,放到单独的witness(见证)区,这个区原本只放签名,现在可以放任意数据,而且享受75%的“重量折扣”(weight discount),存数据变得非常便宜。

2、Taproot(2021年软分叉):进一步放宽了witness数据的限制,并引入了更灵活的脚本路径(script-path spend),这让开发者可以用“信封格式”(envelope)把任意内容藏进Taproot输出里。

大白话说,铭文就是把数据塞进witness字段,再通过Ordinals协议把这段数据“绑定”到某个特定聪上。

铭文到底刻在哪个聪上?(Ordinals序数理论)

比特币的每个聪(satoshi,最小单位)都可以被唯一编号,这就是Ordinals协议的作用,它按照聪被挖出的顺序(区块高度+交易顺序+输出顺序)给每个聪分配一个序号(从0开始,目前已经超过2.1万亿),通过“先入先出”规则追踪聪的转移路径,就能知道某个聪现在在哪个地址。

铭文的具体绑定规则

1、在Reveal(揭示)交易中,第一个输出的第一个聪会被自动视为这个铭文的载体。

2、后续转移时,这个聪走到哪里,铭文就跟到哪里(像给比特币贴了永久标签)。

“每个聪都可以存一个”,技术上完全正确,理论上任意聪都可以被选中作为铭文载体。

两步提交机制:Commit + Reveal

铭文不是直接扔进交易那么简单,而是采用Taproot的“两阶段”方式。

1、Commit(提交阶段)

创建一个Taproot输出,里面用脚本“藏”好你要刻的内容(格式:OP_FALSE OP_IF… 数据 …OP_ENDIF),这时外界还看不到真实内容,只是一个承诺。

2、Reveal(揭示阶段)

消费上面的Taproot输出,在witness数据里真正展开铭文内容,平台和浏览器此时才看到铭文数据,并把它绑定到Reveal交易第一个输出的第一个聪上,这种设计既保证了数据不可篡改,又能把内容“藏”到最后一刻才显示。

数据大小限制到底是多少?

1、单个OP_PUSH数据块最大520字节(这是比特币脚本的硬限制)。

2、但可以连续多个OP_PUSH拼接,故而实际铭文大小没有严格上限。

3、实际常见范围,文本/简单图片:几百字节~几KB

4、高清图片/短视频:几十KB~几百KB

5、理论最大接近4MB(一个区块的完整大小),但极少有人这么做,因为费用极高且容易堵塞网络。

目前链上最大的铭文已经超过3.9MB(图像+HTML),证明这个限制确实存在,但非常宽松。

免责声明:本文所有内容及观点仅供参考,不构成投资建议,不代表本站观点和立场。投资者应自行决策与交易,对投资者交易形成的直接或间接损失,作者及本站将不承担任何责任!