把余额挂在未花费输出上
Runes 是 Ordinals 作者 Casey Rodarmor 设计的比特币同质化代币协议,在 2024 年 4 月 20 日的第四次减半区块(高度 840000)上线。它的设计前提相当克制:比特币的 UTXO 模型本来就能记账——每笔未花费输出携带金额、可原子转移、被全体节点验证。Runes 只是给未花费输出额外挂一组”(代币编号, 数量)“元组,让代币余额跟着聪一起移动。没有独立的状态数据库,没有合约账户,任何人从创世起重放区块就能确定当前谁持有哪枚代币。这与 BRC-20 把每笔转账都写成一段 JSON 铭文的思路正相反:后者的历史即账本膨胀,而 Runes 把常规转移压缩回普通比特币交易本身。

一笔交易干三件事
铸造、刻名、转移在 Runes 里可以合进同一笔交易完成。刻名只是在某个区块里第一次出现的代币定义;铸造规则由三个参数约束——总量上限 cap 限制允许参与铸造的交易笔数,amount 固定每笔铸出的数量,可选的高度窗口规定开铸与截止区间。单个代币的最大供应量被协议定在 2 的 128 次方减 1 这个天文数字,实际约束来自铸造参数本身。转移则靠 runestone——一段塞进 OP_RETURN 输出的指令序列,里面按顺序列出若干条 edict:代币编号、数量、目标输出序号。同一笔输入带来的余额按顺序在输出间重新分配;没有明说去向的未分配余额,默认落进第一个非 OP_RETURN 输出,除非指针另有指向。对链上数据熟悉的读者会发现结构眼熟:这与 Ordinals 的铭文封套共享同一族 OP_RETURN 承载方式,但 Runes 不产生逐笔转账的铭文开销。
cenotaph:烧掉而非忽略的失败保护
当 runestone 里出现旧解析器不认识的双数标签、变长编码破损、目标输出序号越界等异常时,协议规定把这份 runestone 当作 cenotaph(衣冠冢):交易仍然有效,但这笔输入携带的代币被整体销毁,而不是被静默忽略。这个设计故意苛刻。它的收益是前向兼容——未来协议引入新标签时,老客户端宁可把看不懂的区块判成空壳,也不会把新语义误读成旧语义;代价是用户错误会被严惩,一段损坏的元数据就足以让一笔余额永久灭失。实操层面的含义是:转 Runes 前小额试转、核对钱包对协议标签的支持程度,比任何事后补救都便宜。
索引从哪来:不需要信任,但需要重放
节点不会替你算代币余额。要看持有情况,需要运行 ord 这类索引客户端:它连着比特币全节点,把历史区块里的 runestone 逐条重放,得出一份 UTXO 到代币的映射。任何参与者都可以独立复算同一份结果,这是”无需信任”的来源;代价是同步与存储成本,以及一个容易混淆的事实——你的比特币节点仍然只认聪,它不会因为某块 UTXO 挂着代币元组就改变任何共识判断。Runes 不是智能合约系统,它只是叠加在普通交易之上、由约定解析的一套规则。
上线首日的费用冲击与退潮
机制之外,Runes 的市场曲线值得作为风险提示读一遍。上线当周它制造了比特币历史上罕见的手续费高峰:公开报道统计,4 月 20 日当天链上出现超过五十万笔 OP_RETURN 交易,协议一度吞掉网络九成以上的手续费,平均单笔手续费被推到一百美元以上,随后数月内活动量又大幅回落。这组数字来自链上数据机构的统计而非协议本身,但足以说明一个结构性事实:代币刻名与铸造是纯粹的需求侧行为,费用外部性由全体用户分摊;而命名权投机与 meme 代币的价格波动,则完全由参与者自己承担。协议按设计工作,不等于其上的任何代币有价值——Runes 作者的原始说明里甚至直言这类代币大多与投机有关。把它写在这里,是希望读者把”协议可靠”与”代币值得”当成两个完全独立的问题。
小结与自查
若你只是研究者:跑一份 ord 索引可以直接观察规则行为,无需接触任何代币资产。若要转移 Runes:确认钱包支持的协议标签、先小额试转、理解 cenotaph 规则再操作大额。若你在评估 BRC-20 与 Runes 的差异:前者膨胀与兼容问题已有公论,后者记账干净但生态集中在投机品。任何情况下都不存在”代币跟着聪走所以天然安全”的逻辑——聪跟着私钥走,私钥跟着熵走,规则再优雅也不改变这一点。
风险提示:本文不构成任何投资建议,不涉及对任何代币的推荐或价格预测;Runes 类资产价格波动剧烈且可能归零,理解协议机制不等于承担其市场风险。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。