Runes 名字解锁时间表:短名要等到哪个区块,刻名前为什么要交承诺 图 1
Runes 名字解锁时间表:短名要等到哪个区块,刻名前为什么要交承诺 · 图 1

Runes 协议里,一枚代币的名字(rune name)不是随便取的。官方规范用一套改造过的二十六进制编码来定义名字:A 等于 0,B 等于 1,一直到 Z 等于 25,再往后 AA 等于 26、AB 等于 27,如此类推,名字由长变短对应着编码数值从大到小。规范同时划了一条线:从 27 个连续字母 A 开始往上的名字属于保留名(reserved name),etching 时如果省略名字字段,协议会按”出块高度乘以二的三十二次方加交易序号”的公式,从保留名池里自动分配一个。也就是说,短名字不能随便抢,它们被编进了一张随区块推进才逐步放开的时间表。

规范原文的规则是这样的:在协议激活之初,所有长度十三位及以上的名字处于已解锁状态,可以直接使用;而更短的名字按固定节奏分批放行。Runes 协议从第 840,000 块(也就是协议激活块)开始解锁,此后每 17,500 个区块,下一档更短的名字长度被开放:840,000 到 857,500 之间,十二个字母的名字可以刻;857,500 到 875,000 之间,十一个字母的档位开放;以此类推,直到第 1,032,500 到 1,050,000 区块之间,单字母名字才允许出现在 etching 里。规范要求 etching 所选的名字在所在区块必须已经解锁,否则该 etching 无效。按比特币平均十分钟一个块的节奏折算,每一档间隔大约四个月,整个时间表要走到 2030 年前后才全部放完——这是协议层面的算术推算,精确的档位边界仍以 ord 代码库列出的解锁计划为准。

时间表之外,规范还设置了一道容易被忽略的门槛:为已广播、未打包的 etching 上”保险”。如果要刻的不是保留名,而是任何有人名的名字,交易必须携带一个对名字的承诺(commitment):在该笔交易某个输入的见证数据里,放入一个 tapscript 数据推送,内容是把名字整数按小端序编码、去掉尾部零字节后的形式,而且被花费的那个输出必须已经有至少六个确认。没有这个承诺,整个 etching 会被直接忽略。这条规则针对的是名字争夺中的抢跑:你的刻名交易刚进内存池、还没上链时,别人看到你要用的短名,可以立刻用更高费率插一笔自己的 etching。承诺机制相当于在交易进入内存池之前,先把”我已经决定用这个名字”押在一个至少六个确认的深度上,让抢跑者无法用后见之明插队。

对做数据核对的读者,这套编码还提供一个免费的交叉验证工具。Runes 的代币身份(rune id)由 etching 所在区块高度与交易序号合成,写成文字就是“区块:序号”的形式,比如协议第一币 UNCOMMON•GOODS 的 id 是 840000:0;而名字字段与 id 是两条独立的记录。于是当某个项目宣称“我们的短名是在某某时间刻上的”,可以用两步核对:先用解锁时间表算出这个长度的名字在该区块是否已解锁,再用二十六进制编码确认名字写法无误。任何一边对不上,要么公告的时间线有水分,要么链上资产不是同一个。顺带一提,名字在整个协议里按数值唯一,不像 BRC-20 的 tick 那样依赖索引器对同名的取舍,所以同名歧义在 Runes 里天然不存在——这也是两套铭文代币体系常被混淆的一个差异点。

对普通用户,这套规则的实际含义有三层。第一,名字长度是协议分配出来的稀缺性,不是发行方的营销话术:短名什么时候能被刻,2024 年协议激活时就已写死,谁也改不了。第二,看到某个短名 Runes 代币时,可以直接用解锁时间表反推它 etching 的大致区块区间,核对它与”名不副实”的发行时间宣传是否矛盾。第三,名字本身不携带任何权益承诺:规范只定义名字怎么编码、什么时候能用、怎么防止抢跑,代币的供应量、铸币条款这些在 etching 其他字段里,别把”名字短”自动读成”价值高”。 本文为机制说明,不构成任何投资建议。

Runes 名字解锁时间表:短名要等到哪个区块,刻名前为什么要交承诺 图 2
Runes 名字解锁时间表:短名要等到哪个区块,刻名前为什么要交承诺 · 图 2