Bitcoin Runes 是什么?比特币上的同质化代币怎么刻写 图 1
Bitcoin Runes 是什么?比特币上的同质化代币怎么刻写 · 图 1

一句话理解

Runes 是一个让比特币交易可以“刻写、铸造和转移”同质化代币的协议:和每个都独一无二的铭文不同,Runes 代币的每一个单位都相同、可以互换,代币余额直接附着在比特币原生的 UTXO 上。

为什么会有 Runes

在 Runes 出现前,比特币上的同质化代币主要靠 BRC-20——用 JSON 铭文逐个记录转账,需要链下索引器重建账本,还给链上留下了大量零碎输出。Runes 由 Ordinals 作者 Casey Rodarmor 设计,在 2024 年 4 月比特币第四次减半的区块高度 840000 激活,目标是用更贴近 UTXO 模型的方式实现代币,减少这类负担。

runestone 与 OP_RETURN

Runes 的协议消息叫 runestone(符文石),写在一个以 OP_RETURN 开头、后接 OP_13 的专用输出里,数据以 128 位 LEB128 变长整数编码。OP_RETURN 输出在比特币规则里天然不可花费、不进入 UTXO 集合,因此协议指令不会制造可流通的粉尘输出。需要强调的是,官方文档明确:ord 程序本身就是规范,没有独立的形式化规格。

三种核心操作都通过 runestone 表达:

  1. 刻写(etching):创建一种新 Runes 代币,设定名称、可分性(divisibility,小数位数)与符号(一个 Unicode 字符)。
  2. 铸造(minting):在代币设定好的条件(区块高度区间、总量上限等)内,任何人可铸造固定数量的新单位。
  3. 转移(transferring):交易里用一组叫 edict 的指令,说明“哪个代币、多少数量、给哪个输出”;未被 edict 指定数量的代币默认进入第一个非 OP_RETURN 输出。

与 BRC-20 的关键区别

  • 记账方式:Runes 余额挂在 UTXO 上,转移就是普通比特币交易加一段指令;BRC-20 靠逐条 JSON 铭文+索引器累加。
  • 链上足迹:Runes 用不可花费的 OP_RETURN 存指令;BRC-20 的铭文输出会进入 UTXO 集合。
  • 兼容性:两者都依赖 ord 等索引器,但 Runes 的设计目标是让索引更简单、状态更贴近比特币本账本。

用户视角的注意点

  1. Runes 不是智能合约系统,代币规则完全由 etch 时写进 runestone 的参数决定,买前用浏览器查看其铸造条件(是否限量、mint 是否已关闭)。
  2. 钱包需支持 Runes 才能正确显示余额,转账时留意“burn”(把代币转进 OP_RETURN 输出即销毁)与正常找零的区别。
  3. 协议规则以 ord 实现为准,第三方文档只是转述;遇到口径不一致时,以 ord 官方仓库的说明为准。

一次 Runes 交易的完整旅程

设想你转账 100 个某 Rune:钱包先选出你持有该 Rune 余额的若干 UTXO 作为输入,再构造一个 runestone 输出,里面的 edict 写明“该代币 100 单位给输出几号”;矿工打包后,索引器重放这些指令更新账面。整个过程里比特币共识规则本身并不“知道”Runes 存在——它只验证签名与输入输出的合法性,代币语义完全由索引器叠加。这带来两个实际含义:其一,只要双方运行同一版 ord,余额解释必然一致;其二,任何声称“改协议”的第三方服务都不具备改变你余额的能力,遇到此类说法直接视为骗局。

常见问题

问:Runes 需要单独发币吗,还是和铭文共用钱包? Runes 由钱包的 Runes 模块管理,余额附着在你的 UTXO 上。发起交易时钱包会自动构造 runestone 输出;若钱包不支持 Runes,普通钱包只会把它当普通比特币交易处理,存在误操作风险,操作前务必确认钱包版本支持。

问:怎么判断一种 Rune 有没有增发空间? 用支持 Runes 的浏览器查看该代币的 etching 信息:总量上限、已铸数量、mint 条件(起止区块、每笔数量)都写在协议数据里。mint 条件到期或封顶后无法再增,这是协议层面的硬约束。

问:Runes 和 BRC-20 能互换吗? 协议彼此独立,不存在官方转换通道;两者之间只能靠市场买卖间接转换,注意不同资产在不同钱包的显示口径可能不一致。

风险提示

本文不构成投资建议,不对任何 Runes 代币的价值或安全性作出判断。核验时间:2026 年 7 月。