BIP-110
BIP-110,正式名称为“比特币改进提案 110”(Bitcoin Improvement Proposal 110),是一个拟议的比特币软分叉,旨在对比特币交易中数据字段的大小实施临时共识级限制。该提案由署名为 Dathon Ohm 的作者撰写,并于 2025 年 12 月 3 日分配编号。提案试图纠正其作者所描述的因网络上任意数据存储标准化而产生的激励扭曲,通过一套设计为在大约一年后自动失效的限制措施,使比特币重新聚焦于其货币功能。[1]
概述
BIP-110 源于比特币社区内部关于在交易中嵌入非金融数据的长期争议。该提案将问题的根源追溯到其所谓的“铭文黑客”(inscription hack),这一手段于 2022 年首次被利用,开启了在交易字段内存储图像、文本和代币元数据等任意内容的趋势。[1] 从 2023 年起,包括 Ordinals、Runes 和 BRC-20 代币标准在内的协议开始大规模使用这些字段存储非支付内容。[2]
作者认为,嵌入任意数据给节点运营商带来了沉重负担,分散了对比特币货币用途的开发关注,增加了交易成本,鼓励了对第三方支付处理器的依赖,并增加了审查风险。此次干预的既定目标是通过在共识层面拒绝数据存储的标准化,暂时使几种“数据滥用”方法失效,同时保持所有已知的货币使用场景正常运行。[1]
该提案与 2025 年 10 月发布的 Bitcoin Core v30 中的一项更改直接冲突,后者将数据限制从 83 字节提高到了 100,000 字节。BIP-110 将撤销该更改,并通过施加更小的限制而走得更远。[2] [4]
规范
这七项规则是:
- 新的输出 scriptPubKey 超过 34 字节将无效,除非第一个操作码是 OP_RETURN,在这种情况下最多 83 字节仍然有效。
- 超过 256 字节的 OP_PUSHDATA 负载和脚本参数见证项(script-argument witness items)将无效,但 BIP16 scriptSigs 中的 redeemScript 推送除外。
- 花费未定义的见证版本或 Tapleaf 版本将无效,但创建具有未定义见证版本的输出仍然有效。
- 包含 Taproot 附件(annex)的见证栈将无效。
- 大于 257 字节的 Taproot 控制区块(对应于具有 128 个脚本叶子的默克尔树)将无效。
- 包含任何 OP_SUCCESS 操作码(即使未执行)的 Tapscripts 将无效。
- 执行 OP_IF 或 OP_NOTIF 的 Tapscripts(无论结果如何)将无效。[1] [4]
限制理由
作者辩称,将 scriptPubKey 限制在 34 字节是因为未花费的 scriptPubKey 必须永久存储在快速介质(通常是 RAM)上的 UTXO(未花费交易输出)集中,而大型 scriptPubKey 会导致 UTXO 集膨胀,并可能产生验证时间极长的“毒性区块”。OP_RETURN 输出被证明是不可花费的,因此不存储在 UTXO 集中,历史上容忍度高达 83 字节,为了避免破坏遗留协议,这一限制被保留。[1]
256 字节和 257 字节的上限辩护理由是,现代压缩技术可以用 300–400 字节表示图像,而 256 字节(2,048 位)足以满足合法密码学中使用的大数;该限制旨在阻止图像嵌入并减少滥用。[1]
禁止 OP_IF 和 OP_NOTIF 的依据是,这些操作码与 Taproot 的链下脚本评估功能重复,且 OP_IF 常被滥用以注入在执行期间跳过的垃圾信息。作者认为,暂时失去这些升级钩子并不是实际问题,因为软分叉通常至少需要一年时间来协调。[1]
对于规则 3,规范列举了仍可花费的见证版本:BIP 141 下具有 20 字节程序 (P2WPKH) 或 32 字节程序 (P2WSH) 的版本 0;BIP 341 下具有 32 字节程序 (Taproot/P2TR) 的版本 1,其中唯一定义的 Tapleaf 版本是 BIP 342 下的 0xc0 (Tapscript);以及具有 2 字节程序 0x4e73(BIP 433 中定义的临时锚点输出 P2A)的版本 1,仅在见证栈为空时可花费。[1] [4]
部署机制
BIP-110 使用了 BIP 9 矿工信号机制的修改版本,部署名称为“reduced_data”,信号位为 4。[1]
该机制在几个方面偏离了标准 BIP 9。它使用了降低的激活阈值,即每 2,016 个区块中需有 1,109 个(55%),而非惯例的 95%,理由是该软分叉是临时且紧急的。它不依赖传统的超时,而是依靠最大激活高度,在高度 963,648 转换为 LOCKED_IN 状态,然后在 965,664 转换为 ACTIVE。[1]
部署还引入了一个新的终止状态 EXPIRED,一旦区块高度达到激活高度加上有效持续时间即进入该状态,之后规则将自动停止执行。完整的状态机运行流程为 DEFINED → STARTED → LOCKED_IN → ACTIVE → EXPIRED,由于禁用了超时,永远不会达到 FAILED 状态,且过期后的矿工信号无效。[1][3]
激活与链分叉
强制信号窗口在区块 961,632 开启,独立报告将其日期定为 2026 年 8 月 7 日,而提案官方网站定为 2026 年 8 月 8 日 20:12 UTC。[2] 从该高度开始,执行 BIP-110 的节点开始拒绝任何未发出支持信号的区块,这导致这些节点分叉成一条少数链。[2]
矿工支持率远低于 55% 的要求。在窗口开启前的难度周期内,2,016 个区块中只有 51 个(2.53%)发出了支持信号。[2] 通过 Ocean Pool 运营的 Barefoot Mining 在 2026 年 3 月 1 日挖掘了第一个 BIP-110 信号区块,并被描述为唯一的有组织信号努力;F2Pool 公开拒绝发出信号,截至 2026 年 7 月,没有其他主要矿池加入,使得支持率低于总算力的 1%。[2]
相比之下,该提案的官方网站报告称分叉已经激活,声称额外的交易规则于 2026 年 8 月 30 日在区块 961,640 与名为 Blake2b 的硬分叉一同生效,并且诸如 Bitcoin Knots v29.4.1 之类的比特币节点仍在继续运行并挖掘新块。然而,在链分叉和挖矿停滞后,BIP 的状态于 2026 年 8 月 9 日正式更改为“已关闭”(Closed),此前该提案曾于 2026 年 6 月 25 日作为 1.0.0 版本推进至“完成”(Complete)。[1] 如果这些规则得以维持,原定于 2027 年 9 月 1 日左右过期,届时所有限制将自动解除。
反响与反对意见
BIP-110 的作者署名为 Dathon Ohm,长期 Bitcoin Core 贡献者 Luke Dashjr 被认为提供了原始草案和技术输入。Dashjr 公开为该提案辩护,并拒绝了撤回提案的呼吁。[2][1]
支持者认为,比特币被设计为点对点电子现金,区块空间应为此目的服务,并声称 Ordinals 和 Runes 活动会导致手续费飙升——高峰期平均每笔交易手续费超过 100 美元——并将一年的限制描述为“冷静期”,以便为长期解决方案争取时间。[2]
反对意见分为几类。在经济层面,批评者认为支付手续费的交易就是合法的,限制访问开创了危险的先例,这一观点在一定程度上与 Michael Saylor 相关,他将 BIP-110 描述为比特币“最大的自残风险”。在技术层面,Adam Back 等人指出了激活机制、字节限制和变通方法中存在的致命设计缺陷,Back 称多个组件单独来看都是“致命的”。在治理层面,Bitcoin Core v30 的相反变动被解读为缺乏广泛开发者共识的信号,且 Bitcoin Core 维护者并未认可该提案。在安全层面,反对者警告称,减少来自 Ordinals 和 Runes 的手续费收入可能会在区块补贴减半时影响矿工经济和网络的长期安全性。[2]