协议演进 / BIP/比特币改进提案 / BIP-343

BIP-343 Taproot 部署的强制激活

用 BIP8(LOT=true)在信号期尾声强制矿工信号,试图确保已获压倒性社区共识的 Taproot 不被矿工无限期挡下;最终未被采用。本 BIP 目前处于已关闭状态。

一、档案卡

档案卡
编号BIP-343
标题Mandatory activation of taproot deployment
作者Shinobius <[email protected]>; Michael Folkson <[email protected]>
指定日期2021-04-25
层级Consensus (soft fork)(共识(软分叉))
类型Specification(规范类)
状态Closed(已关闭)
阅读版https://bips.dev/343
官方原文https://github.com/bitcoin/bips/blob/master/bip-0343.mediawiki

二、放在哪一族

它不属于 Taproot 的技术内容,而属于“软分叉怎么激活”的部署机制族。BIP-340、BIP-341、BIP-342 回答 Taproot 是什么;BIP-343 回答的是:万一矿工迟迟不发信号,靠什么保证它最终上线。

机制谱系:BIP-8(按高度锁定的版本位,含 LOT 参数)、BIP-9(版本位投票,BIP-341 实际部署用的是其修改版)、BIP-148(2017 年 SegWit 的强制激活,用户激活软分叉 UASF 的先例)、BIP-91(同年降低阈值的矿工侧协调)。原文致谢也点明:Shaolin Fry 与 Luke Dashjr 在 BIP-148 与 BIP-8 上的工作是本提案的前提。

三、它要解决什么

原文 Motivation 的前提判断是:Taproot 软分叉已被评估为拥有压倒性的社区共识,因此应当尝试激活。真正的风险不在技术,而在一个治理问题:

软分叉的常态部署要靠矿工在信号期发出支持信号、达到阈值才锁定。若矿工始终凑不齐阈值,一项已有压倒性共识的升级就会被无限期挂起——等于矿工对软分叉握有永久否决权。原文认为这不可接受:强制信号条款必须预先写进部署方案,只在矿工未能在常规信号期内达标时才派上用场。

2017 年的教训被明确引用:BIP-148 与 BIP-91 的部署表明,强制信号机制要提前许多个月预警;且 BIP-148 还证明,不同实现采用不同激活机制并行运行,可以互相激励、让各部署最终同步激活。本提案就是按这个剧本,为 Taproot 写的一份“保险丝”部署。

四、规则本身

4.1 部署参数(BIP8,LOT=true)

4.2 与实际部署的兼容性(原文专节)

Bitcoin Core 实际发布的激活机制是 Russell O’Connor 提出、由 David Harding 在 bitcoin-dev 邮件列表中概述的“Speedy Trial”:实质上是 BIP8 的一个变体,唯一差别是开始与超时用中位过去时间(MTP)而非区块高度定义;同样使用比特位 2,部署期为 2021 年 4 月 24 日零点至 8 月 11 日零点,最小激活高度同为 709632,目标是激活 BIP-340、BIP-341、BIP-342。原文论证:由于既定开始时点上 MTP 与区块高度没有出现偏差,本 BIP 的 BIP8(LOT=true)部署与 Speedy Trial 相互兼容,可以并行运行而不冲突。

此外,本部署也被刻意设计成与“万一 Speedy Trial 激活失败、Bitcoin Core 再发布 BIP8(LOT=false)或 BIP8(LOT=true)方案”的情形兼容。

4.3 参考实现与向后兼容

原文给出的参考实现是一个独立仓库(BitcoinActivation/bitcoin)。作为软分叉,旧软件无需修改即可继续运行;但原文沿用 Taproot 部署的一贯警告:未升级节点会把 SegWit 版本 1 见证程序视为任何人可花费,强烈建议升级以完整验证新程序。

五、谁必须动

普通持币人:无直接动作。本 BIP 不改变交易、地址或钱包行为,它改变的只是“节点在信号期如何对待不发信号的区块”。

矿工:直接利害方。常规信号期内矿工自愿信号;若迟迟达不到 90% 阈值,进入最后一个信号期后,运行本部署的节点将强制信号,不跟进的区块面临被拒绝风险。

全节点运营者:决定是否运行带本部署的实现。这正是 UASF 式机制的本质——强制力来自经济节点自愿选择执行规则,而不是来自提案作者的命令。

开发者与实现维护者:若发布兼容的替代激活方案,须保持比特位、最小激活高度等参数对齐,避免各部署互相错位(见 4.2)。

六、现在算不算数,以及一个常见误读

状态为 Closed(已关闭)。原文变更日志写明:2026-06-01,因“不再相关且不存在已知部署”,本 BIP 被移至 Closed。实际历史路径是:Taproot 经 Bitcoin Core 的 Speedy Trial 部署、靠矿工信号达标而锁定,并按 BIP-341 记载在主网高度 709632 激活——强制信号条款从未需要触发,本 BIP 也从未成为实际运行的部署。读它,是为了理解 2021 年激活之争里“用户强制”这一手后备牌长什么样。

常见误读:

“Taproot 最后是靠 BIP-343 的 LOT=true 强制激活的。”

不对。LOT=true 只是与实际部署并行设计、始终躺在备用位置的一套方案;原文 Compatibility 一节说得很清楚,它的设计目标是“与 Speedy Trial 兼容”。Taproot 真正走的是 Speedy Trial + 矿工信号达标这条路,在强制期到来之前就已锁定。把“准备好强制手段”说成“实施了强制”,是把威慑与执行混为一谈。

七、延伸

本页内容整理自 bitcoin/bips 仓库与 bips.dev,事实已与仓库核对;解读仅供学习参考。