按时间戳翻倍的区块上限:BIP-101 的指数增长公式与 75% 投票 图 1
按时间戳翻倍的区块上限:BIP-101 的指数增长公式与 75% 投票 · 图 1

2015 年前后的比特币圈,几乎所有火药味十足的网络论战都围绕一个字节数:1,000,000。区块上限 1MB 意味着每十分钟约两千多笔交易的名额,手续费开始爬坡,「比特币要变信用卡还是变黄金」的路线之争就此点燃。解决派里最简洁的方案之一至今还躺在仓库里:BIP-101《Increase maximum block size》,Gavin Andresen 执笔,2015 年 6 月立项,硬分叉层提案,状态 Closed。它值得细读,不是因为赢了——它没赢——而是因为它把「扩容」写成了一个可以心算的数学函数。

BIP-101 的规格部分几乎可以抄进物理课本:区块上限不再固定,而是区块时间戳的函数。起点定在 2016 年 1 月 11 日零点整,上限 8,000,000 字节;此后每 63,072,000 秒(按无闰年算的两年)翻一倍,两次翻倍之间按时间线性插值;到 2036 年 1 月 6 日增长封顶,此后定格在 8,192,000,000 字节,约 8.2GB。伪代码只有十来行:算出时间差、除以翻倍周期、取整得指数、再插值。两个设计细节很见工程心思。其一,函数按时间戳而不是区块高度计算——文档解释,时间戳在每个区块头里,节点下载完头就能知道这个块允许多大,不必先收下全部交易再验尺寸。其二,翻倍周期与封顶年限的选择理由写得毫不含糊:参照 CPU、存储、带宽的长期增长趋势定翻倍节奏;「指数增长不会永远持续」,所以二十年后封顶;真遇上趋势中断,还可以通过算力共识用软分叉的方式把上限调回去。

激活机制同样信息量大。部署由算力超级多数控制,沿用 BIP-34 的手法但条件更宽松:连续 1000 个区块里有 750 个(即 75%)的版本号带上指定标志位(第一、二、三位加第三十位,掩码 0x20000007),且激活时间不早于 2016 年 1 月 11 日;触发后再等两周宽限期,让还没升级的矿工和服务商赶上车。文档专门解释了为什么是 75% 而不是惯用的 95%:不让任何单一大型矿池握有事实否决权。这份 BIP 的 Rationale 与「反对意见」两节甚至把当年的争论正反双方都记录在案:全节点数量下滑、区块传播时间随体积变长、算力向电价洼地集中——每条反对意见它都给了回应框架,是一份少见的自带完整辩论结构的文档。

放回历史坐标看,BIP-101 是 2015 年那一整批扩容提案谱系里的「温和指数派」:BIP-102 主张一次性把 1MB 抬到 2MB;BIP-103(Pieter Wuille)提出按 4.4% 每约 97 天的更慢阶梯、年度增幅约 17.7%,哲学是「跟随技术增长、拒绝用硬分叉买时间」;BIP-107(Washington Sanchez)设计了两段式:2016 到 2020 按 2、4、6MB 的日历表爬坡,2020 年起改成每四周检查一次,只要近 4032 块中有 3025 块以上用到六成容量就再放大 10%,且只升不降。再往后就是大家熟悉的事件链:纽约协议共识与 BIP-91 的加速投票风波、2017 年 8 月的分叉,以及最终社区把「区块内装不下」的问题交给隔离见证与二层网络。BIP-101 没有激活,它代表的那条「链上指数扩容」路线连同论战双方的论据一起,封存成了理解比特币治理天性的教材:涉及发行与安全预算的改动,光有可计算的规则远远不够,还得有足够少的人反对。

常见误区三条。一,把 BIP-101 说成已生效规则:今天主网的共识层区块重量上限仍按隔离见证后的折算 4 权重(约 4MB 字节规模)执行,与 BIP-101 无关。二,把 8MB 起点当成当年网络的实际块大小:那是提案设定的函数起点,2015 年实际区块远小于 1MB 上限。三,把 75% 投票与 BIP-9 软分叉信号混为一谈:硬分叉没有新旧共存,标志位只是统计口径,任何没升级的旧节点遇到第一个超限块就会分链。

快速问答。问:为什么用时间戳不怕矿工伪造未来时间?答:难度规则与中位时间检查限制了块时间戳的可用区间,函数输入无法被随意推到翻倍档位。问:这批 BIP 谁实现了?答:BIP-101 有参考分支(Bitcoin XT 系客户端曾集成),均未成为主流共识。问:今天研究它还有什么用?答:任何「按公式自动扩容」的新提案(链上 gas 曲线、数据上限爬坡)都绕不开 BIP-101 当年被追问过的那几个问题:谁定义趋势、如何退出、分叉边界在哪。

风险提示:本文为扩容史与技术机制科普,不构成投资建议;区块上限的每次变化都会改变费率与节点成本结构,讨论任何扩容提案时请先核对它在代码库与部署链路上的真实状态。