OP_RETURN 是操作码 0x6a。共识规则规定执行它时脚本失败,因此以它开头的输出无法花费。Bitcoin Core 将仅含数据推送的这种脚本识别为 NULL_DATA,并可不把它保留在 UTXO 集。转发与挖矿限制属于本地策略,不是共识规则。
OP_RETURN 是一条指令;空数据输出则是脚本通常以该指令开头的完整交易输出。位于开头时,它使输出可证明不可花费。其后字节会被交易承诺,但比特币共识不会赋予这些字节文件格式或应用含义。
共识有效的区块可以包含某节点不愿从内存池转发的 OP_RETURN 构造。Bitcoin Core 把以 OP_RETURN 开头、其余为数据推送的脚本归类为 NULL_DATA,再由本地标准性策略决定是否转发。拒绝转发不等于无效,进入内存池也不保证确认。
Core 30.0 以前,常见默认值是一个数据输出与 83 字节序列化脚本,通常概括为 80 字节载荷加开销。Core 30.0 把 datacarriersize 默认提高到 100000,并允许多个空数据输出,按总量应用限制。运营者可覆盖该值;这是版本化软件行为,并非永久共识规则。
Atlas 坐标 OP_RET 归入协议,参考年份为 2014。其证据链从 Bitcoin Developer Reference — OP_RETURN · Bitcoin Core — script.h IsUnspendable · Bitcoin Core — solver.cpp NULL_DATA · Bitcoin Core 30.0 release notes 开始。来源类型、日期和部署状态都很重要:规范描述设计,运行中的软件与历史记录才显示实际发生的情况。
OP_RETURN 与空数据输出 与 比特币脚本 · 交易 · UTXO · 内存池 · 交易费 · BIP 110 — Reduced Data 临时软分叉 直接关联。这些链接并非同义词或背书,而是展示比特币系统中的前提、机制、后果与竞争设计。
要获得更完整的理解,请将本词条与以下词条结合阅读: Bitcoin Script, 交易, UTXO, Mempool, 交易费, BIP 110 — Reduced Data 临时软分叉.