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

BIP-107 区块大小动态上限

分两阶段扩容:先按时间表从 2MB 逐步升至 6MB,2020 年后转为动态——每 4032 个区块若多数区块至少六成满,上限只升 10%、永不下降。本 BIP 目前处于已关闭状态。

一、档案卡

档案卡
编号BIP-107
标题Dynamic limit on the block size
作者Washington Y. Sanchez <[email protected]>
指定日期2015-09-11
层级Consensus (hard fork)(共识(硬分叉))
类型Specification(规范类)
状态Closed(已关闭)
阅读版https://bips.dev/107
官方原文https://github.com/bitcoin/bips/blob/master/bip-0107.mediawiki

二、放在哪一族

2015 年区块大小之争中的“分阶段折中”方案。它与同族提案的差别在于不押注单一机制:

BIP-101:纯时间表扩容——BIP-107 的第一阶段借用了类似的时间表思路,部署方式也明言与 BIP-101 相同

BIP-105:矿工付费投票、中位数重定,上限可升可降

BIP-106:按上一周期实际块大小(与手续费)自动升降

BIP-107:先用几年时间表当“跑道”(runway),等网络与协议基础设施、第二层服务成熟后,再切换到只升不降的动态规则

原文称第一阶段类似 Adam Back 的提案:先给一段安全的保守扩容期,再进入动态阶段。

三、它要解决什么

3.1 两个相反的担忧要同时兼顾

原文列出未来几年预期中的大额基础设施投入:改善全球网络连接、改善区块传播、第二层链下服务与网络、交易与区块链的一般效率改进。在此背景下,它摆出两个必须精细平衡的担忧:

开发者、矿工、企业与用户之间对“需要扩容”已有共识,分歧在后果。BIP-107 的答案是分段处理:先小步、后自动,且自动阶段只进不退、步幅极小。

四、规则本身

4.1 第一阶段:时间表(2016–2020)

这段“跑道”用来在切换到动态规则之前,缓解交易量压力,同时让网络与协议基础设施改进、第二层服务出现。

4.2 第二阶段:动态上调(2020 年起)

原文的算例:动态规则于 2020 年 1 月 1 日上线时,上限为 6MB;若至少 3025 个区块达到 3.6MB(即 60%),新上限变为 6.6MB;若 13 次上调在年内全部触发,2020 年底的理论最大上限约为 20.7MB。

4.3 为什么是 60%、3025 块、10%

4.4 部署

部署模型与 BIP-101 相同,原文引述其条款:当最佳链上连续 1000 个区块中有 750 个的版本号置起了第 1、2、3、30 位(十六进制 0x20000007)时达成激活;激活时间为第 750 个区块的时间戳再加两周(1,209,600 秒)宽限期,让剩余矿工与服务有时间升级以支持更大的区块。

五、谁必须动

普通持币人:无直接操作;变化是网络可打包区块的上限。

钱包开发者:原文未提出钱包侧专门改动;无手续费交易的中继规则随 limitfreerelay 比例变化,属节点策略层面。

全节点与矿工:这是硬分叉级改动。节点须按阶段执行上限、做 4032 块周期的满载检查并拒绝超限区块;矿工须参与版本位信号以触发部署。

共识层:上限先是写死的日历时间表,2020 年后变为由链上满载程度驱动、单调不减的变量。不升级的节点在出现更大区块时会与新链分叉。

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

状态为 Closed(已关闭)。它没有在比特币主网激活:第一阶段写明的 2016–2020 年时间表并未按此执行。它留下的档案价值,是把同族争论中“定时扩容”与“需求驱动扩容”缝成了一个先后衔接的折中方案,并给每个参数都留下了统计理由。

常见误读:

“BIP-107 是一份无限扩容的提案,区块会涨到 20MB 以上。”

不对。20.7MB 只是原文算例中“一年内 13 次上调全部触发”时的理论值,而每次触发都要求约 4 周内至少 3025 个区块持续达到六成满——为的是只响应真实、持续的需求。而且与 BIP-105、BIP-106 不同,它的上限只升不降,这也是它被批评或被支持时应分清的一点。

七、延伸

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