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

BIP-101 提高区块大小上限

把 1MB 固定上限换成随时间增长的曲线:2016 年 1 月从 8MB 起步、每两年翻倍、段内线性增长,2036 年封顶于约 8.192GB。本 BIP 目前处于已关闭状态。

一、档案卡

档案卡
编号BIP-101
标题Increase maximum block size
作者Gavin Andresen <[email protected]>
指定日期2015-06-22
层级Consensus (hard fork)(共识(硬分叉))
类型Specification(规范类)
状态Closed(已关闭)
阅读版https://bips.dev/101
官方原文https://github.com/bitcoin/bips/blob/master/bip-0101.mediawiki

二、放在哪一族

2015 年区块大小之争的硬分叉提案组,背景分类见 BIP-99。同组对照:BIP-100 把上限交给矿工逐期投票;BIP-102 只做一次性 2MB;BIP-103 按年增 17.7% 的慢曲线爬到 2063 年;BIP-104 按满载率自动调节。BIP-101 是这组里步子最大、时间表最激进的一份:起点直接跳到 8MB,且以每两年翻倍的指数曲线增长——原文 Rationale 自述,部署方案借自 Jeff Garzik 的 BIP-100,但把上限决定方式从投票换成了可预知的日历。它后来成为 Bitcoin XT 推动的扩容路线核心,也是这场争论中知名度最高的一份文本。

三、它要解决什么

原文 Motivation 只有两句,要点是:网络交易量在持续增长,很快会撞上“每十分钟一兆字节”的 1MB 上限;提高上限,就是减轻这一上限对比特币采用与增长的压制。与 BIP-102 的“先解燃眉之急、免得反复争”不同,BIP-101 在“考虑过的其他方案”里明确批评一次性扩容:测试与部署的成本与长期方案一样高,而新上限一到顶,同样的争论还要再来一遍。因此它索性一步给出 20 年曲线。原文同时用整节篇幅正面回应反对意见——全节点减少、挖矿的带宽成本、大块攻击、UTXO 集年增约 100% 等——立场是:节点减少主因在轻钱包便利与设备形态迁移,扩容带来的采用增长反而能让网络分布到更多司法辖区;带宽在挖矿盈利方程中只是众多变量之一。

四、规则本身

4.1 增长曲线(按区块时间戳计算)

激活后,主网最大块大小由区块头的时间戳决定,照原文伪代码:

用时间戳而非高度的理由,原文写明:时间戳在每个区块头里,节点拿到区块头即可知该块的上限,不必等交易数据下载完。参数依据同样写在 Rationale 里:8MB 起点来自用参考实现实测大块、并听取带宽受限矿工(特别是防火墙后的中国矿工)的反馈;翻倍周期取自 CPU、存储与带宽的长期增长趋势;20 年封顶是因为指数增长不可能永远持续,若趋势中断,矿工共识可用软分叉把上限再收紧。

4.2 部署(算力超多数投票)

沿用类似 BIP-34 的算力投票,但设最早激活时间 2016-01-11:当最佳链上连续 1,000 块中有 750 块的版本号置起了第 1、2、3、30 位(十六进制 0x20000007),即达成激活;激活时间取第 750 块的时间戳再加两周(1,209,600 秒)宽限期;若超多数在 2016-01-11 两周多以前就达成,激活时间仍定在 2016-01-11。选 75% 而非更高,是为了不让单个大矿池握有事实否决权;版本号只用于激活,激活后上限只按 4.1 的时间公式走。测试网参数提前且宽松:2015-08-01 起,100 块中 75 块即触发,宽限期 24 小时。

4.3 兼容性

原文 Compatibility 明言:这是硬分叉,全量校验区块的代码必须在激活前升级,否则有拒绝含大于 1MB 区块之链的风险;SPV 软件不受影响,除非它对默克尔分支深度做了基于最小交易与最大块大小的假设。

五、谁必须动

普通持币人:自跑全节点者必须在激活前升级,否则会停在旧规则链上;只使用轻钱包者不直接受影响。

钱包开发者:SPV 实现原则上无需改动,但须核查自家对默克尔证明深度的假设是否写死了 1MB 量级。

全节点与矿工:节点要实现按时间戳计算上限的逻辑;矿工要在投票期以指定版本位出块表态,激活后按新上限组块。原文部署设计强调给矿工、商家与跑全节点的终端用户都留足升级时间。

共识层:1MB 常量被时间函数取代,且数值路径在激活时即完全确定——这正是它与 BIP-100 的根本差别:上限不再取决于此后任何人的投票。

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

状态为 Closed(已关闭):提案未获采用、已经关闭。它设定的 2016-01-11 激活点从未在主网到来,1MB 上限后来经 SegWit 以区块权重方式绕开,路线与本提案完全不同。

常见误读:“BIP-101 就是把块改成 8MB。”不对。8MB 只是 2016 年的起点值;提案的本体是一条 20 年指数曲线——每两年翻倍、最终到约 8.192GB。只记住 8MB,等于把同组 BIP-102 的一次性小步与它混为一谈,也就理解不了当年争论为何如此激烈:用 BIP-99 的话说,无争议是硬分叉部署的前提,而这条曲线的幅度恰恰是争议本身。

七、延伸

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