首页 资讯 正文

比特币争议提案:OP_RETURN数据限制,回归自由还是加剧拥堵?

Odaily星球日报 2025年05月06日 02:29

原文编译:GaryMa,吴说区块链

近期,HashKey 投资研究主管 @jeffrey_hu 详细梳理了 Bitcoin Core 提案“取消 OP_RETURN 数据限制”的背景与争议,吴说汇总并整合了社区相关人士的观点,编译如下。

背景梳理:OP_RETURN 数据限制争议

OP_RETURN 是比特币脚本中的一个操作码(opcode),用于在比特币交易中嵌入少量数据。它允许用户将数据存储在区块链上,但这些输出是“不可花费的”(provably unspendable),因此不会增加 UTXO(未花费交易输出)集的负担。当前 Bitcoin Core 的默认限制是 OP_RETURN 数据大小为 80 字节,并且通过节点策略(而非共识规则)限制传播大于 83 字节的 OP_RETURN 交易。

开发者 Peter Todd 提出了 PR #32359 ,建议移除这一限制,并同时删除相关配置选项(如 -datacarrier 和 -datacarriersize),相当于也断了节点希望能自主配置的后路,引发了激烈讨论。

  • 现有限制无效,因为可通过直接提交矿工 mempool(如 MARA Slipstream)或者无限制节点实现(如 Libre Relay)来绕过。(如已知最大 OP_RETURN 输出达 79, 870 字节)。

  • 有些用户甚至用 OP_RETURN 把链当成留言板的。也有工具来帮忙打包上链(opreturnbot.com),只要支付费用即可。

  • 移除限制可能与矿工激励更兼容,因为矿工可以通过竞争区块空间获得更多收入。

  • 移除限制会导致更多非交易数据写入链上(如 shitcoin),挤占区块空间,推高交易费用。

  • 尽管限制可以绕过,但节点策略仍然有用(例如限制传播,减少垃圾数据对网络的压力)。

  • 中本聪时代(比特币早期)OP_RETURN 没有任何字节限制。

  • 2014 年,比特币引入了 40 字节限制(后来提高到 80 字节),目的是保持比特币的“纯粹性”(用于记账而非数据存储)。

  • 0x_Todd 认为,移除 80 字节限制并非“离经叛道”,而是回归中本聪时代的古典设计,符合比特币的原始精神。

  • 2. 当前限制无效,可轻松绕过

    • 当前 80 字节限制形同虚设,形如“ 10 厘米高的篱笆墙”,无法阻止用户存储大尺寸数据。

    • 绕过方式包括:使用铭文(Inscriptions)、符文(Runes)等协议,通过多笔交易存储数据。

    • 通过节点策略绕过,例如使用 Libre Relay 客户端(其口号是“消除 Bitcoin Core 中继政策中的家长主义”)。Peter Todd(PR #32359 的提出者)是 Bitcoin Core 核心开发者之一,其贡献排名前十,支持移除限制是“去家长主义”的体现,值得支持。

    3. 降低铭文对网络的负担

    • 铭文(Inscriptions)目前通过“卡 Bug”的方式存储数据(例如通过多笔交易绕过 80 字节限制),增加了网络负担。

    • 移除 80 字节限制后,铭文可以直接通过 OP_RETURN 存储数据,减少不必要的多笔交易,降低对网络的压力。

    • 附加说明:铭文目前已不流行,因此这一理由只是“添头”(次要理由)。

    4. 为矿工提供额外收入,符合自由主义

    • 移除限制可以为矿工带来额外收入。

    • 举例:0x_Todd 提到一笔 7 MB 的“超大卡 Bug”OP_RETURN 区块,发送者支付了 3, 600 美元的手续费。

    • 这表明市场需求的真实性:有人愿意为大尺寸数据上链付费,矿工愿意打包。

    • 0x_Todd 秉持自由主义立场,认为这种“市场决定”的行为(你情我愿)不应被限制,硬性干预没有意义。

    • 附加好处:随着比特币每四年一次的减半,矿工收入减少,允许大尺寸 OP_RETURN 交易可以增加收入,激励矿工持续投入算力,巩固比特币网络的安全性。

    HashKey 投资研究主管 @jeffrey_hu:倾向于反对取消 OP_RETURN 的 80 字节数据限制。他认为移除限制可能带来负面影响(例如非交易数据挤占区块空间),同时强调用户自由(保留配置选项)的重要性。他认为支持与反对更多是理念差异,短期内无绝对对错。针对 @0x_Todd 的四个论点,他对应展开阐述自己的观点:

    1. 中本聪时代无限制,但不代表合理

    • 中本聪时代 OP_RETURN 没有限制,但中本聪的设计并非都合理,许多早期设计后来被证明有问题(例如区块战争前后的一些修改)。

    • 不能简单以“中本聪时代无限制”为理由支持取消限制,中本聪的设计不一定都适用现今。

    2. Peter Todd 的立场与 Bitcoin Core 的角色

    • 取消限制只是 Bitcoin Core 客户端的提议,而非整个比特币网络的决定。

    • Peter Todd 是资深开发者,其理念倾向于“激励相容”(类似 Full-RBF 的逻辑:防君子不防小人),提出移除限制符合他的风格,但不意外。

    • Bitcoin Core 的“家长式”做法(例如移除配置选项)值得讨论,可能限制用户自由。

    3. 铭文问题:取消限制意义有限

    • 移除 80 字节限制对铭文(Inscriptions)的帮助有限。

    • 80 字节不够存储大文件(如图片),但足以让 BRC-20 协议写入 JSON 数据(用于发币)。

    • 即使比特币提供强大功能(例如一次性封条、SegWit),总有人会以“最丑陋”的方式在链上发币,取消限制无法根本解决这一问题。

    4. 矿工收入与自由主义:用户自由更重要

    • 矿工收入影响复杂(可能增加收入,但也可能损害矿池的“独家服务”优势)。

    • 支持自由主义:用户有权付费上链,OP_RETURN 存储数据比铭文(两笔交易 增加 UTXO 粉尘)更优雅。

    • 但强调用户自由:作为全节点运行者,他需要自由选择是否传播这些数据(例如留言板内容与他无关)。

    • 批评 Bitcoin Core 移除配置选项(例如 -datacarriersize 和 Full-RBF 配置),剥夺了用户选择权。

    • 如果 Bitcoin Core 不提供这种自由,他可能转用 Bitcoin Knots 或添加交易过滤器,但认为这种做法可能“螳臂当车”(徒劳无功)。

    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