建议删除 OP_RETURN 80 字节限制,争议自由与区块空间,支持者称无效限制可绕,增加矿工收入,反对者忧非交易数据挤占,建议严格选客户端。
撰文:@jeffrey_hu
编译:GaryMa,吴说区块链
近期,HashKey 投资研究主管 @jeffrey_hu 详细梳理了 Bitcoin Core 提案「取消 OP_RETURN 数据限制」的背景与争议,吴说汇总并整合了社区相关人士的观点,编译如下。
OP_RETURN 是比特币脚本中的一个操作码(opcode),用于在比特币交易中嵌入少量数据。它允许用户将数据存储在区块链上,但这些输出是「不可花费的」(provably unspendable),因此不会增加 UTXO(未花费交易输出)集的负担。当前 Bitcoin Core 的默认限制是 OP_RETURN 数据大小为 80 字节,并且通过节点策略(而非共识规则)限制传播大于 83 字节的 OP_RETURN 交易。
开发者 Peter Todd 提出了 PR #32359 ,建议移除这一限制,并同时删除相关配置选项(如 -datacarrier 和 -datacarriersize),相当于也断了节点希望能自主配置的后路,引发了激烈讨论。
Nothing Research 合伙人 @0x_Todd:支持取消 OP_RETURN 的 80 字节数据限制,认为当前限制无效,且移除限制可以带来多项好处,包括回归比特币早期设计、降低网络负担、支持生态发展、增加矿工收入,以及符合自由主义理念。
1. 中本聪时代无限制,回归古典
HashKey 投资研究主管 @jeffrey_hu:倾向于反对取消 OP_RETURN 的 80 字节数据限制。他认为移除限制可能带来负面影响(例如非交易数据挤占区块空间),同时强调用户自由(保留配置选项)的重要性。他认为支持与反对更多是理念差异,短期内无绝对对错。针对 @0x_Todd 的四个论点,他对应展开阐述自己的观点:
UTXO Stack 创始人 @crypcipher:支持取消限制,认为与其让人绕过,不如直接开放。提到 ordi 等协议通过多笔交易写入超过 80 字节的数据,移除限制可以减少这种「无用功」和 UTXO 粉尘。
Fiamma 联创 @cyimonio:反对,认为一些 Bitcoin L2 项目(如将状态数据存储在比特币上)只是把比特币当作数据可用性(DA)层,意义不大,属于「花大钱办小事」。
「既然能绕过去么?那节点限制还有用么?」
有用,但要理解这个问题,还是要从 OP_RETURN 以及它所涉及的「共识规则」、「节点策略」说起。
OP_RETURN 是比特币脚本语言中的一个操作码(opcode),其功能是立即终止脚本的执行,并将该输出标记为「不可花费」(provably unspendable)。
OP_RETURN 的行为(终止脚本执行并标记输出为不可花费)是比特币协议的核心规则,属于共识规则的一部分。共识规则只关心「是否不可花费」,而不关心附带数据的具体大小。
而对 OP_RETURN 附带数据的具体大小的限制,便属于节点策略。节点能做的也不少,因为节点自身可以决定怎么去处理拿到的交易数据。
上链前:在区块打包前对于这笔交易是否能在 P2P 网络里传播做限制。Bitcoin Core 以前就是对于大于 83 字节的 OP_RETURN 交易不去传播,但如果在新的区块里存在这类交易,因为符合共识规则,那么节点也会承认这笔交易有效而链不会分叉。
上链后,节点也可以有所作为,比如自动丢弃 OP_RETURN 附带的数据,降低自身的存储开销。
正面:可能增加矿工收入,支持比特币生态项目(如 Runes、Alkanes 和侧链)。
负面:对普通 Bitcoin 用户的区块空间造成挤占。
矿工态度不确定:一方面,区块空间竞争加剧可能增加收入;另一方面,矿池可能不喜欢,因为非标准交易打包的「独家服务」优势会减少。
如果 PR 通过但用户不喜欢,可以选择运行限制更严格的客户端(如 Bitcoin Knots)或旧版本。重新审视 Bitcoin Core 的角色(在安全补丁、节点策略和共识规则间权衡),并考虑选择更符合个人理念的客户端。
参考链接:
https://x.com/jeffrey_hu/status/1917491946609860991
https://x.com/0x_Todd/status/1917889200684454340
https://x.com/jeffrey_hu/status/1917970887917343184
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。