2017 年的门槛阶梯:BIP91 segsignal 与隔离见证僵局 图 1
2017 年的门槛阶梯:BIP91 segsignal 与隔离见证僵局 · 图 1

2017 年 5 月的比特币僵局可以用一组数字概括:隔离见证代码已随 0.14 发布,BIP9 的 segwit 部署占用版本位 bit 1,窗口开到 2017 年 11 月 15 日,达标线是单个观察周期内 95% 的块投票。这套规则给了少数拒绝者僵局红利——只要凑足五个百分点的算力说”不”,升级就能无限期搁置。BIP91 正是这场拉扯里长出来的应急件:不改共识本身,用一层中间投票把门槛降下来。

一、一台只为撬锁存在的机械装置

BIP91 正文写死了全部参数:部署名 segsignal,占用 bit 4;采用 BIP9 框架,观察窗 336 块、达标 269 块——八成而非九五;起始 2017 年 6 月 1 日,超时 2017 年 11 月 15 日,并在 segwit 本身锁定、生效或失败时自动作废。规则是一个单向棘轮:segsignal 一旦锁定,从其后的块开始,共识规则要求每个块同时按既有 segwit 部署置位(版本高三位 001 加 bit 1),不照做的块直接作废。对普通矿工,这等于强制站队——不更新、不投 segsignal,你的块在多数节点眼里从此无效。文档同时交代了为什么不能直接重开一次部署:0.13.1 之后的实现里,P2P 层的服务标志、见证交易与区块消息、紧凑区块 v2、优先对等连接都已按现部署实现,重新定义这些组件的代价比续用旧窗口高得多。

二、它没进官方代码,却进了历史

值得强调的一条史实:翻 v0.14.x 官方源码的共识参数枚举,部署清单里只有测试槽、CSV 与 SEGWIT,没有 SEGSIGNAL 条目——BIP91 从未进入比特币核心正式发布,它由替代构建与客户端开关在支持它的节点上生效。进程比设计更快:窗口刚过不久,多数矿池已在块里置位;随后正式 segwit 的 95% 计数器迅速补齐,公开资料记录其在 2017 年 8 月 24 日、第 481,824 块激活。BIP 仓库给 BIP91 的状态标记是 Deployed——按仓库的流程语义,它标记”这份提案曾被部署生效过”,而非某个永久上线的功能;装置完成撬锁使命后随旧部署一起退场,前后只活跃了几个月。

三、留给今天的三条遗产

第一,别把它读成单边的胜利或夺权故事:文本里没有反派,只呈现了同一套升级机制下矿工与开发者两条信任链的危机——一方担心 95% 给了否决权垄断,另一方担心用 80% 逼票是把裁决权从用户侧抢走。第二,读 2017 年史料务必分清名字:segwit 名下同时挂着占 bit 1 的原部署与占 bit 4 的 segsignal,二手复述最常在这里出错。第三,它给激活工具箱留下一件有后坐力的武器:MASF 思路证明门槛可以设阶梯,也证明了每把多数变得更便宜的规则,都会同时把少数派的不合作变得更昂贵——此后同类方案再难拿到同量级支持。

细节里还有两处值得停留。其一,棘轮的方向性:segsignal 的锁定只增加义务、不解除旧义务——它生效后要求的是”每个块同时按既有 segwit 部署置位”,而既有部署那 95% 的达标计数照常进行,两套机械叠成一层软一层硬的夹逼,这正是它撬得动僵局的原因;也正因为叠加,它必须写明在隔离见证先行锁定、生效或失败时自动作废,防止两套规则互相纠缠。其二,对升级时序的要求比一般部署更苛刻:文本明确提醒矿工必须升级节点来支持 segsignal,否则可能建在一个已被新规则作废的块上继续出块;收币方则要么升级、要么多等几个确认。应急装置把”谁在规则内”的边界挪得更锋利,对不在场者的伤害也更大——这是它此后再难被复用的根本原因。本文只做规则与历史说明,涉及的部署参数以 BIP91 与 BIP141 原文为准;不构成任何投资建议。