什么是软分叉?比特币向后兼容性详解

什么是软分叉?比特币向后兼容性详解

区块高度 481,824。这是比特币首次重大现代软分叉——隔离见证(SegWit)——于 2017 年 8 月 24 日锁定协议的时刻。这个数字至关重要,因为软分叉是像比特币这样的区块链在不分裂网络的情况下进行自我升级的方式。新规则上线,旧软件继续运行,两者保持在同一条链上。

问大多数人什么是软分叉,他们会用一句话回答:对区块链协议进行向后兼容的更改。技术上没错,但实用性不高。实际情况要复杂得多,也更有趣。软分叉是漫长博弈的最终结果:开发者提出规则变更,矿工表示支持或默默拒绝,节点运营商选择运行哪些软件,而用户则在幕后坚持什么才算是比特币。本文将用通俗易懂的语言解释其机制,然后逐块分析典型案例(SegWit 和 Taproot),最后以关于下一个软分叉方向的激烈辩论作结。

软分叉定义:向后兼容的区块链升级

把软分叉想象成规则手册的收紧。在新规则下合法的内容,在旧规则下仍然合法。因此,旧节点可以继续正常接收新区块。新节点会拒绝那些违反更严格规则的旧式区块,但规则本身更严格了,而不是改变了。网络的运行机制没有改变,改变的是有效区块的定义。

一个很好的例子:比特币的 BIP 16,即 Pay-to-Script-Hash(支付到脚本哈希)软分叉。它于 2012 年 4 月 1 日在区块高度 173,805 处激活。在 BIP 16 之前,比特币脚本中并不存在 P2SH 这种交易类型。BIP 16 发布后,升级后的节点强制执行了 P2SH。旧节点查看相同的输出,看到的是一个任何人都可以花费的奇怪脚本,它们耸耸肩,照常接受了这些区块。它们根本不知道有一条规则需要打破。区块链保持了统一,因为新规则只是旧规则的一个子集。就这样,比特币悄然获得了一项新功能。

这就是其中的关键所在。旧软件接受一个包含所有新软件所接受内容的超集。无需链分裂,无需申领期,也无需发行新币。区块链网络持续生成一条所有人都认可的链,无论他们运行的是哪个软件版本。这看似一次软件变更,实则是一种精妙绝伦的社会工程学策略。

这一特性也是区分软分叉和任何与旧软件不兼容的变更的关键所在。如果一次升级会导致之前有效的区块在旧软件看来失效,那么这就不是软分叉,而是硬分叉。两者的权衡取舍完全不同。从区块链技术的角度来看,这两种分叉类型的区别归根结底在于一个实际问题:未升级的节点是否仍然接受新区块的有效性?

软叉与硬叉:真正的区别

硬分叉则恰恰相反。它会放宽规则,或者以旧软件会直接拒绝的方式改变规则。旧节点会查看新区块,发现它无效,并拒绝跟随。要么所有节点都升级,要么网络分裂。只有这两种选择。

有两种情况比较常见。2016 年 7 月 20 日,以太坊 DAO 在区块高度 1,920,000 处分叉,将大约 1200 万枚 ETH 从两个被攻破的合约中转移出来。旧节点拒绝接受这一变更,继续运行原链,以太坊经典(Ethereum Classic)由此诞生。一年后,比特币现金(Bitcoin Cash)也出现了。2017 年 8 月 1 日,区块高度 478,559 处,比特币现金将区块大小限制从 1 MB 提高到 8 MB。旧比特币节点立即拒绝了更大的区块。从那时起,比特币现金就成为一条独立于比特币区块链的加密货币。

软分叉的设计初衷就是为了避免这种混乱局面。旧节点无需做任何操作,它们可以继续按照限制较少的规则验证区块。当绝大多数矿工都采用新规则时,所有挖出的区块都会同时符合两套规则。这样就形成了一个统一的经济链,一个账本。正是这种不对称性,使得比特币的文化默认采用软分叉,而将硬分叉视为最后的手段。

软叉

比特币软分叉是如何实际激活的

大多数解释到此为止。他们会告诉你软分叉“收紧了规则”,然后就结束了。但似乎没人愿意深入探讨的是,这种收紧究竟是如何实现的。软分叉并非开发者拨动开关就能完成的。它是一个缓慢且有时略显棘手的协调过程。而这种协调机制早已被巧妙地融入到比特币本身之中。

经典的激活方法是矿工信号。一个软分叉提案会成为一个比特币改进提案(BIP),并在区块头版本字段中分配一个比特。运行升级软件的矿工会翻转该比特。这些区块背后的算力就成为网络其他部分用来评估分叉准备情况的信号。一旦在设定的时间窗口内,发出信号的区块百分比超过阈值,分叉就会激活。2017 年之前使用的模型是 BIP 9:在 2016 个区块的滚动窗口内达到 95% 的阈值。BIP 8 随后推出,它增加了一个硬性截止日期,以防止停滞不前的提案无限期地拖延下去。

这种模式曾经奏效,直到它失效为止。2017年初,SegWit的矿工支持率在30%到45%之间停滞了数月。大型矿工有各种理由不发出信号,而且这些理由都不太光彩。社区不得不另辟蹊径。BIP 91降低了有效阈值并迅速发布。与此同时,一项并行行动——用户激活的软分叉,具体来说是BIP 148,将2017年8月1日设定为最后期限。在那之后,BIP 148节点将开始拒绝任何未发出SegWit信号的区块。BIP 91的发布和UASF的政治压力最终打破了僵局。大多数人从未见过这样的情况。我们中的许多人至今仍在争论究竟是谁的威胁打破了僵局。

对于 Taproot,社区尝试了一种更简洁的方案:快速试运行。在 90 天的时间窗口内,90% 的信号支持率即可激活分支。如果达到阈值,分支就会激活;如果未达到,提案就会正常过期,可以再次尝试。Taproot 顺利地跨越了阈值,并于 2021 年 11 月 14 日在区块高度 709,632 激活。

软叉激活模型

方法它是如何触发的例子结果
BIP 9 95% 的矿工信号在滚动 2016 区块窗口内有效SegWit(最初卡住)参与了早期分支的开发;在 SegWit 上陷入僵局
BIP 91降低解除粘滞信号的阈值2017 年 8 月的 SegWit解决了隔离见证死锁问题
BIP 148(UASF)节点设定截止时间;拒绝未发出信号的区块SegWit 2017年8月1日政治压力;立即被 BIP 91 取代
BIP 8 / 快速审判90% 的信号在固定窗口内或过期Taproot 2021激活过程干净利落,毫无波折。

比特币软分叉:SegWit 和 Taproot 案例研究

SegWit,即隔离见证(Segregated Witness)的缩写,是比特币历史上被引用次数最多的软分叉。它找到了一种方法,将交易签名(即“见证数据”)从主交易体中提取出来并单独存储。旧节点将这些新的输出视为任何人都可以花费的脚本,并接受包含这些脚本的区块。新节点则正确地执行了见证规则。关键在于,对底层交易结构的软性更改最终带来了有效的容量提升。比特币 1 MB 的区块大小硬性限制被 400 万权重单位的限制所取代。实际上,一个典型的区块现在包含大约 1.8 MB 的数据。理论最大值接近 2.4 MB。

SegWit于2017年8月24日01:57:37 UTC在区块高度481,824处激活。在此之前的八个月如今已成为比特币治理史的一部分。2017年的大部分时间里,矿工支持都处于停滞状态。最终的解锁是通过BIP 91、UASF威胁以及所谓的SegWit2x协议实现的。我之所以反复提及这段时期,是因为它是之后所有激活过程的案例研究对象。

Taproot 是引用率第二高的软分叉,也可能是自 SegWit 以来比特币最干净利落的一次激活。它在 SegWit 四年后,即 2021 年 11 月 14 日,区块高度 709,632 处激活。突破 90% 快速审判门槛的过程十分顺利。Taproot 本身引入了三项内容:Schnorr 签名、MAST 树以及统一的单签名、多重签名和脚本路径支出输出类型。这些变化也为闪电网络等解决方案的效率提升奠定了基础。

Taproot 的后续发展值得一提。其采用率在 2023 年稳步攀升,并在 2024 年初达到峰值,约占所有比特币交易的 42%,这得益于 Ordinals 签名热潮。到 2025 年年中,其占比回落至约 20%,签名热潮也随之降温。此外,关于 Taproot 的签名方案是否会受到未来量子计算攻击的争论也开始出现。尽管如此,这些都未能阻止其激活。但使用率曲线提醒我们,协议层面的成功软分叉并不一定能自动转化为钱包或用户的采用。

比特币软分叉的起源

BIP/名称活性堵塞临界点
BIP 16 (P2SH) 2012年4月1日173,805 55%
BIP 34 2013年3月24日227,835 95%
BIP 66 2015年7月4日363,731 95%
BIP 65(CLTV) 2015年12月14日388,380 95%
BIP 141(隔离见证) 2017年8月24日481,824 95%(BIP 91 之后)
BIPs 340/341/342(主根) 2021年11月14日709,632 90% 快速审判

2025-2026 软叉辩论:OP_CTV 和 OP_CAT

自 Taproot 事件以来,比特币首次真正意义上的软分叉讨论正在进行中。争论的焦点主要在于比特币脚本应该具有多强的表达能力。目前有两个提案正在主导这场辩论,但尚未有任何一方胜出。

OP_CHECKTEMPLATEVERIFY(正式编号为 BIP 119)将添加一个脚本操作码,允许交易承诺执行特定的未来支出模式。OP_CAT(正式编号为 BIP 347,于 2024 年 4 月最终获得 BIP 编号)将重新启用脚本元素的拼接功能。中本聪在 2010 年出于拒绝服务攻击的担忧移除了这项功能。这两个操作码都是比特币开发者所称的“契约”的网关原语。契约是限制比特币下一步发送目的地的脚本。它们可以解锁金库、拥塞控制批处理,并提升比特币区块链之上构建的网络吞吐量。

通过2026,OP_CTV的激活参数自2022年以来首次正式提上议程。提议的阈值是90%的矿工信号。OP_CAT正在开发者测试网络Signet上进行测试。两者都尚未获得社区共识。社区正在权衡的利弊是真实存在的。更强的表达能力可以带来新的应用场景,但也会扩大比特币的攻击面。任何新的操作码都是永久性的。我并不认为它们中的任何一个都能在2026中获得通过,但这场辩论是迄今为止最清晰的迹象,表明比特币治理仍然可以考虑软分叉。

软叉对钱包和钱包持有者意味着什么

对于持有比特币的人来说,实际问题是软分叉是否需要采取任何行动。坦白说,答案几乎总是“不需要”。无需任何操作,无需申领,也无需迁移。软分叉不会创建新的数字资产。现有钱包会继续按照旧规则收发比特币,无需用户进行任何操作。

例外情况是软分叉引入新的地址格式。SegWit 添加了 bc1 地址前缀。钱包必须支持这种新格式,才能让用户向 SegWit 地址发送或接收加密货币,并享受新交易结构带来的手续费节省。使用旧钱包的用户仍然可以正常地在旧地址上发送和接收加密货币。升级到新版本是可选的。Taproot 对 bc1p 地址也做了同样的事情。这种选择加入的方式正是关键所在。软分叉比硬分叉的破坏性更小,因为软分叉的采用是渐进且自愿的。

对于节点运营商而言,情况略有不同。在软分叉后运行旧版本节点意味着您不再自行执行新规则,而是依赖已升级的矿工和其他节点来执行。未升级到新版本的节点仍然可以按照旧的软件协议验证区块,只是无法验证分叉引入的新约束。不过,大多数运营商都会及时升级。这也是比特币全节点生态系统至关重要的原因之一。

软叉

为什么软分叉比硬分叉更有利于网络健康

软分叉作为默认升级路径的理由归根结底在于网络弹性,而这方面的计算实际上相当残酷。根据 Bitnodes 2026 年 4 月 27 日的快照,比特币在全球大约运行着 22,992 个可访问的完整节点。此外,还有数量庞大的节点位于防火墙之后,具体数量未知。如果硬分叉导致其中 10% 的节点因惯性或分歧而失效,那么根据定义,这实际上就是链分裂。两种加密货币。两个账本。两个市场。两个社区。

如果软分叉导致 10% 的矿工因未发出信号而退出,则确认速度只会略微变慢,而 90% 的矿工仍然会执行新规则。经济链保持统一。正是这种不对称性促使比特币倾向于向后兼容。成功的软分叉奖励协调,而不会惩罚行动迟缓者。失败的软分叉不会激活,可以在下一个周期再次尝试。而失败的硬分叉则会创建一个新的区块链,拥有新的品牌,以及无人想要的持续政治影响力。

这就是为什么自 2012 年以来,比特币区块链的每一次重大升级,除了 2017 年 8 月那次引发争议的、创建了比特币现金的分叉之外,都是软分叉。大多数算力始终选择向后兼容的变更,而不是偏离既定路线。这种模式并非偶然。

软叉风险和失效模式

软分叉比硬分叉更安全,但并非完全没有风险。2015 年 7 月的 BIP 66 就曾导致意外的六条区块链分裂,原因是部分矿工表示支持新规则,但实际上并未验证这些规则。这是典型的故障模式:升级后的节点会拒绝未升级矿工持续生成的区块,从而短暂地出现两条相互竞争的链,网络安全也会因此受到几个小时的侵蚀。最终,随着大多数矿工完成升级,分裂得以解决。但在那几个小时里,比特币同时运行着两条相互竞争的链。SegWit 长达两年的激活期也造成了至今仍未完全消除的政治影响,最终催生了比特币现金。而缺乏明确多数矿工支持的 UASF 则存在着永久分裂的真正风险。向后兼容性是一项强有力的限制,而非免责条款。

任何问题?

是的。OP_CHECKTEMPLATEVERIFY (BIP 119) 和 OP_CAT (BIP 347) 是目前的主要提案。两者都旨在实现契约式脚本编写。OP_CTV 自 2022 年以来首次正式提出了激活参数。但这两个提案都尚未达成社区共识。截至 5 月 2026 日,尚未确定激活日期。

是的,最终成功了。但激活过程耗时约两年,并且需要政治上的变通方案(BIP 91 加上 BIP 148 UASF 威胁)。SegWit 直到 BIP 91 发布后才达到 100% 的矿工信号覆盖率。一旦激活,它便干净利落地锁定了区块链。区块链从未分裂。无论好坏,SegWit 都是软分叉治理的经典案例。

通过矿工信号传递。升级后的矿工会在区块头中翻转一个标志位。当信号传递百分比超过阈值(通常为 90% 到 95%)时,新规则会在指定的区块高度生效。您可能会听到的模型包括 BIP 9、BIP 8 和 Speedy Trial。Taproot 使用的是 Speedy Trial。

不,网络保持不变,代币也保持不变。SegWit 并没有创建新的资产,Taproot 也没有。硬分叉可以分裂出新的加密货币,例如比特币现金或以太坊经典,而软分叉则不能。

软分叉会收紧规则。旧软件仍然会验证新区块。区块链保持统一。硬分叉则会放宽或彻底改变规则。旧软件会拒绝新区块。区块链通常会分裂,例如以太坊和以太坊经典在 DAO 分叉后分裂,或者比特币和比特币现金在 2017 年分裂。

其中最著名的两个是 SegWit(2017 年 8 月 24 日,区块高度 481,824)和 Taproot(2021 年 11 月 14 日,区块高度 709,632)。更早的版本包括 P2SH(2012 年 4 月)、BIP 34、BIP 66 和 BIP 65。每个版本都在收紧比特币规则的同时,保留了链上的旧节点。

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.