OP_RETURN 在比特币上如何运作(以及它为何重要)
比特币不只是一个支付网络。它一直具备在交易中嵌入任意数据的能力。OP_RETURN 就是实现这一点的标准化方式。它支撑着 Runes 代币标准、Ordinals 铭文、时间戳服务,以及一系列多数人从未听说过的应用。
以下是它的作用,以及它为何重要。
什么是 OP_RETURN?
OP_RETURN 是一个 Bitcoin Script 操作码,也就是比特币脚本语言中的一条指令。当某个输出使用 OP_RETURN 时,它会被标记为可证明不可花费。没有任何钱包能认领这些资金,因为 OP_RETURN 就是刻意让该输出变得不可花费的。
OP_RETURN 确实允许的,是向该输出附加最多 80 字节的数据。这 80 字节会被永久写入区块链。它们与常规的支付输出一起留在交易中,被记录下来且不可更改。
为了让 80 字节有个直观概念:这足以装下一条简短消息、一份文件的哈希、一个时间戳,或者结构化的代币数据。不算多,但对许多用途来说已经够了。
为什么要用不可花费的输出?
OP_RETURN 输出被设计成不可花费的原因,是要把它们排除在 UTXO 集之外。
每一个可花费的比特币输出,都必须由网络中的每个全节点追踪,直到它被花费为止。这就是 UTXO 集:所有未花费交易输出的集合。它需要保存在内存中以便快速访问。如果任意数据输出可以被花费,任何人都能用垃圾数据永久性地把 UTXO 集撑大。
OP_RETURN 通过让输出不可花费、从而可以立即从 UTXO 集中剔除,解决了这个问题。节点会把数据存在区块链里(反正每个人都有一份),但不需要在活跃的 UTXO 内存中追踪它。这是一个合理的折中:数据被永久嵌入,却不会造成永久性的 UTXO 膨胀。
80 字节的限制
80 字节的限制是一项策略选择,而不是根本性的协议规则。在比特币历史的大部分时间里,这个上限更小:先是 40 字节,后来是 80。关于是否要提高它,一直存在争论。
Casey Rodarmor 的 Runes 协议就是为在 80 字节限制内工作而设计的。Rune 的数据编码足够紧凑,可以在这个空间里追踪代币转移。一个 OP_RETURN 输出可以指定:转移的是哪个 Rune、数量是多少、转到哪个输出。多笔转移可以批量打包进同一个 OP_RETURN。
作为参照:一个 SHA-256 哈希是 32 字节。你可以把两份文件的哈希外加一些元数据装进单个 OP_RETURN。你也可以装下一个比特币公钥(压缩格式 33 字节),并且还有富余空间。
人们用 OP_RETURN 做什么
代币协议。Runes 同质化代币标准使用 OP_RETURN 来存储代币转移数据。Ordinal 铭文使用的是另一种机制(tapscript),但 Runes 直接使用 OP_RETURN。这种做法高效,而且已被充分理解。
时间戳。OpenTimestamps 这类服务把文件的哈希发布在 OP_RETURN 输出中。该哈希承诺了这份文件在某个特定区块高度上的存在。这对于在不泄露内容的前提下证明某样东西的创建时间很有用。
应用数据。一些应用把比特币当作结算层,并把应用状态的哈希存储在 OP_RETURN 输出中。彩色币是这方面的早期尝试。现代的做法则更为精细。
存在性证明。公司和个人把文件哈希嵌入 OP_RETURN 输出,以创建不可篡改的公开记录。法律文件、证书、知识产权登记等等。
Ducat 如何使用 OP_RETURN
Ducat 以 Runes 的形式发行 UNIT 稳定币。每一笔 UNIT 转移都是一笔比特币交易,其中带有一个编码了 Rune 转移数据的 OP_RETURN 输出。
当你用 BTC 金库借出 UNIT 时,协议会创建一笔交易,铸造 UNIT 并将其记录在 OP_RETURN 中。当你把 UNIT 转给另一个地址时,该交易会包含一个 OP_RETURN,指明 Rune、数量和接收输出。当你还款时,UNIT 被销毁,记录也通过 OP_RETURN 更新。
结果就是一条关于 UNIT 发行与转移的完整审计轨迹,记录在比特币区块链上,任何运行支持 Runes 的索引器的人都能读取。没有单独的账本。没有单独的链。这个稳定币的全部历史都在比特币上。
这就是 UNIT 作为比特币原生稳定币在实践中的含义。不是营销话术,只是机制本身:代币数据就存放在比特币区块链上的 OP_RETURN 输出里。
OP_RETURN 与 Taproot 铭文
Ordinals 铭文使用的是另一种嵌入方法。它们利用 Taproot 的脚本路径花费,把任意数据放进交易,除了矿工愿意打包的限度之外没有大小限制。一条铭文可以有好几兆字节。
OP_RETURN 更小也更简单。对于代币数据(80 字节绰绰有余)来说,OP_RETURN 是更干净的选择。对于图片或较长文件这类更大的数据,Taproot 铭文则更为合适。
Runes 出于效率考虑,刻意选择了 OP_RETURN。一笔能装进 80 字节的 Rune 转移,比对应的铭文方案更便宜,占用的区块空间也更少。
延伸阅读
如果你想深入技术细节,比特币开发者文档完整地介绍了包括 OP_RETURN 在内的脚本操作码。Bitcoin Optech 的通讯对 Runes 以及不同数据嵌入方案的实际影响有大量报道。
至于 FROST 门限签名与此的关联:金库安全和 Rune 代币发行是 Ducat 的两大技术支柱。FROST 指南讲的是托管这一侧。OP_RETURN 和 Runes 讲的是代币这一侧。
2026 年的 BTC DeFi 一文把两者放在更广阔的比特币应用生态背景下串联起来。



