协议演进 / 软分叉史

软分叉历史与激活机制

比特币的共识规则变更几乎全部以"软分叉"形式进行:新规则是旧规则的子集,未升级的节点仍然跟随最长链。本页只记录事实脉络——提案、激活方式、生效时间。

什么是软分叉

软分叉收紧规则:原本有效的某些区块或交易在新规则下变为无效,但新规则下有效的东西在旧规则下依然有效。因此只要多数算力执行新规则,未升级节点会自动跟随,不会分裂出持久分叉链。这是比特币得以在无中央协调下升级的核心机制。

与之相对的"硬分叉"放宽规则,需要所有节点同步升级,否则必然分裂。比特币历史上从未执行过有争议的硬分叉。

历次软分叉

  1. BIP-16:P2SH(Pay to Script Hash)
    提案 2012-01 · 激活 2012-04-01
    将赎回脚本的哈希写入输出脚本,使多签等复杂脚本的使用方式大幅简化。激活采用算力投票阈值方式,是比特币第一次有组织的软分叉。
  2. BIP-30 / BIP-34:交易唯一性与区块版本
    激活 2012–2013
    BIP-30 禁止重复的交易 ID(曾导致重复 coinbase 的异常);BIP-34 要求 coinbase 中写入区块高度,并引入区块版本号升级机制,为后续软分叉的版本位信号铺路。
  3. BIP-66:严格 DER 签名
    提案 2015-01 · 激活 2015-07
    要求 ECDSA 签名使用严格 DER 编码,消除签名的可锻变体之一。激活采用版本位(BIP-9 雏形)算力信号统计。
  4. BIP-65:OP_CHECKLOCKTIMEVERIFY
    提案 2014-10 · 激活 2015-12
    引入绝对时间锁操作码,资金可被锁定至指定区块高度或时间之后才能花费,为闪电网络等二层协议提供基础构件。
  5. CSV 软分叉包:BIP-68 / 112 / 113
    激活 2016-07-04
    相对时间锁三件套:BIP-68(基于序列号的相对锁定)、BIP-112(CHECKSEQUENCEVERIFY)、BIP-113(以中位时间作为锁定期终点)。打包一次激活,补全了时间锁语义。
  6. SegWit:BIP-141 / 143 / 144(及 BIP-148)
    激活 2017-08-24(区块 481824)
    隔离见证:将签名数据(witness)移出交易主体结构,修复交易可锻性,并以"权重"替代"大小"实现等效扩容。激活过程历经 BIP-9 算力信号、用户激活软分叉(BIP-148,UASF)讨论与 SegWit2x 争议,是比特币治理史上最复杂的一次升级。
  7. Taproot:BIP-340 / 341 / 342
    激活 2021-11-14(区块 709632)
    Schnorr 签名(BIP-340)、Taproot(BIP-341)、Tapscript(BIP-342):提升隐私性(复杂花费与单签外观一致)与脚本灵活性。采用"快速试用"(Speedy Trial)激活机制:算力在三个月窗口内达到 90% 阈值即锁定。

激活机制的演变


事实来源:各 BIP 原文(bitcoin/bips 仓库)与 Bitcoin Core 发布说明。激活日期指主网规则生效时间。本页不评价各次升级的路线争议,只记录可核验的事实。