092015–2017 年
区块大小战争:谁有权改变 Bitcoin 的规则
争议不是从英雄与反派开始,而是从塞满的区块开始。它以多条链和一个实践答案收尾:算力、企业或开发者,都无法单独决定节点必须接受什么。
一兆字节看起来只是一个技术参数,似乎用更快电脑和一组体面的基准测试就能解决。到 2015 年,它已经变成一场关于货币未来形态、以及谁有权说什么是 Bitcoin 的争斗。加文·安德烈森 与 迈克·赫恩 主张显著增大区块。彼得·维莱、格雷戈里·麦克斯韦 等开发者则警告,节点运营者会为此付出代价。矿工、交易所、投资者和匿名用户纷纷施加自己的压力。区块大小战争不是一次争吵,也不是两大阵营的决斗,而是持续两年的提案、最后通牒、会议、软件发布和期限。其间,每个群体都认识到:能影响什么,与能强迫什么,并不是一回事。
塞满的区块与两种不同担忧
随着使用增长,区块逐渐接近上限,手续费上升。支持更大区块的人警告,昂贵的交易会排挤日常支付,使 Bitcoin 成为富人网络。主张谨慎推进的人则警告,数据与资源需求迅速增长,会削弱人们在家运行 Full Node 的能力,把验证集中到数据中心。
双方都谈去中心化,衡量方式却不同。一方看有多少人负担得起交易,另一方看有多少人负担得起独立核验规则。Bitcoin XT、Classic 以及后来的 Unlimited 提案承诺直接扩容。围绕 SegWit 的开发则寻求改变交易格式,更高效地使用空间。
一兆字节上限并非自然法则,也不是 Bitcoin 最初目标。中本聪设置它,是为了保护年轻网络免受过大区块影响。因此,争论的不是可否改变一个神圣常数,而是增长能有多快,才不会让验证转向拥有最快连接、最大硬盘和在首次同步时最有耐心的人。哪怕很小的技术改动,也承载着一幅长期图景:将来谁还能说“这些规则是我亲自验证的”。
安德烈森的 BIP101 提议先跃升至八兆字节,随后让上限按可预测方式增长。赫恩把它加入 Bitcoin XT 客户端,两人公开号召矿工和用户支持改动。在他们看来,塞满的交易队列违背了廉价电子现金的最初承诺。如果新用户为了小额付款也必须用高额手续费竞争,网络还未进入日常生活,就会先败给银行卡。
另一边的人并不想让 Bitcoin 永远保持很小。彼得·维莱提出 SegWit,格雷戈里·麦克斯韦等开发者谈论第二层和更高效利用每个字节。他们的忧虑望向更远:今天更大的区块,意味着连接、存储与验证的成本永久上升。家用节点一旦不再实用,用户就开始信任别人的服务器。两边都在捍卫可访问性,只是分别从交易两端观察它。
纽约协议
2017 年五月,一群大型企业和矿工宣布纽约协议。SegWit2x 计划把迅速激活 SegWit,与随后通过 Hard Fork 把基础区块增至两兆字节绑定在一起。签署者宣称代表很大一部分算力和交易交易量,表现得仿佛主要企业协调一致便能结束争论。
然而,协议不能约束运行其他软件的用户。批评者首先反对一种观念:一场闭门会议可以代表网络承诺不兼容改动。矿工可以提出区块,企业可以给区块贴上品牌,节点仍然可以判它无效。
最初公告称有来自 22 个国家的 58 家公司,以及 83.28% 的算力。这些数字有分量,却没有衡量独立节点的同意,也没有衡量在签署者服务之外持有 Bitcoin 的人。把 SegWit 与后续硬分叉绑定,还创造了一场政治交易:每一边都得到部分所求。第一部分一旦激活、第二部分仍有争议,便显出这个组合没有任何能够强制完成它的机构。
协议由数字货币集团创始人巴里·希尔伯特在纽约 Consensus 大会期间组织。坐在桌边的是交易所、钱包、支付公司和挖矿企业代表;SegWit2x 实现由 杰夫·加齐克 领导。对被长期争议耗尽的商家而言,这像一个成熟妥协:有影响力的人终于谈定日期,把自家公司签在下面。可 Bitcoin 没有成员登记册,不会让这些签名自动构成合格多数。
批评者反对的不只两兆字节,也包括决定方式。亚当·巴克、格雷戈里·麦克斯韦等人警告,以很短期限推动不兼容改动,是让用户面对既成事实。签署者控制许多人使用的服务,矿工也可能贡献大部分算力,却无法远程修改一套运行在陌生公寓里的节点的验证规则。于是协议造成一个奇特局面:最大企业可以宣布自己将把什么称作 Bitcoin,但每个节点所有者都保留着自己的拒绝按钮。
UASF、BIP91 与没有分裂的链
BIP148 提出用户激活软分叉:从八月 1 日起,参与节点将拒绝没有信号表态 SegWit 的区块。这是一种危险施压。若经济上重要的一部分网络留在别处,可能出现彼此竞争的历史,或混乱的链重组。
但在决定性日期之前,矿工已通过 BIP91 开始信号表态会让 SegWit 锁定的条件。因此,结果不能诚实地归功于唯一参与者:UASF 威胁改变激励,矿工协调信号表态,现有节点则执行兼容 软分叉 的规则。SegWit 于 2017 年八月 24 日激活。
运行 BIP148 的节点无法独自挖出 SegWit,也无法强迫他人使用,只能事先承诺在期限过后拒绝某类区块。这项承诺的力量,取决于交易所、商家、钱包和持有者是否跟随,因为他们的币赋予链经济意义。因此,UASF 像协调博弈中的公开承诺:效力不是来自命令,而是来自一种可信可能——不服从的链也许拥有算力,却拥有更少买家。
使用化名 Shaolinfry 的开发者发布了 BIP148。人们开始戴上印有 UASF 的帽子,把 8 月 1 日称为独立日。但这些梗的背后是一场严肃的押注:如果矿工继续挖矿而不发出支持信号,同时一部分重要的经济参与者遵循 BIP148,交易历史就可能暂时分裂,用户也可能无法判断哪笔收到的转账会继续有效。因此,运行节点的行动者押上的不只是一句口号,还有自己安全收款的能力。
詹姆斯希利亚德的 BIP91 提供了一条路径,让矿工在截止日前协调,并以较低门槛锁定 SegWit 信号表态。支持突然上升后,各方按自己的方式解读结果。UASF 支持者看见用户压力改变激励的证明;矿工指向自身协调,纽约协议签署者则指向自己的妥协。历史没有一个能够移除某一群体的对照实验。可以确定的是,迫近的冲突让所有人提前行动。
Bitcoin Cash 离开,SegWit2x 退让
八月 1 日,采用更大区块和自身规则的 Bitcoin Cash 分离出去。这不是改写原有节点,而是一条新的、不兼容的链,与原链共享分裂点之前的历史。此后,市场和用户可以分别为两种资产定价、分别运行它们。
纽约协议的第二部分原定于十一月激活两兆字节硬分叉。组织者在十一月 8 日将其暂停,承认没有取得足够共识来完成一次干净升级。很高的算力信号表态并没有变成“经济参与者会把新区块当作 Bitcoin 接受”的确定性。
在分离瞬间,两条链共享此前历史和同一份未花费币快照。分裂前控制密钥的人,在特定条件下可于分裂后处置两边对应资产。但从此以后,每条链接受的未来区块不同,也各自建立网络效应。分裂没有迫使旧节点改变有效交易的定义,而是让不同规则的支持者有机会承担自己选择的成本与结果。
Bitcoin Cash 给支持更大区块的人带来无休止辩论无法带来的东西:一条按其规则运行的链。交易所必须给它分配交易代码,钱包要处理重放保护,持有者也须决定出售、持有或忽略新币。部分争议就此从邮件列表转到市场。两条链的价格、算力和使用开始表达持续变化的选择,而不是一场只决出唯一赢家的一次性投票。
SegWit2x 原想走另一条路。其支持者希望两兆字节链继承 BTC 品牌,成为延续,而非旁支。十一月临近时,客户端软件缺少广泛支持,也没有如何安全处理两条链的清晰方案。十一月 8 日,迈克贝尔希、文塞斯·卡萨雷斯、吴忌寒、杰夫·加齐克、彼得·史密斯和埃里克·沃希斯宣布延期。他们承认,缺少更广泛共识仍继续,只会分裂原本想团结的社群。
权力被分散,却没有消失
这场战争常被讲成用户的纯粹胜利。更准确的结论要复杂一些。开发者掌握注意力与代码质量,矿工掌握区块排序,企业掌握流动性与品牌,用户选择软件和交易对手。没有任何群体独占所有杠杆,但一些群体拥有的显然比另一些多。
Bitcoin 当时没有用一个数字投票,而是通过代码、公开论证、商业决定、期限,以及承担分裂风险的意愿完成协调。结果既不安静,也不便宜。意义恰恰在此:规则保持不变,不是因为争议不存在,而是因为只说服最显眼的那个房间还不足以改变它。
中本聪共识决定共同接受规则内的交易顺序;它不是一个由算力投票改写规则本身的议会。矿工可以创造积累了巨大工作的区块,但若违反节点软件,节点仍会将其丢弃。因此,规则选择发生在区块链本身之外:代码、客户端版本、价格、合同,以及人们愿意与谁交易。区块大小战争没有发现一部简单的 Bitcoin 宪法,而是展示一套允许变化、却不保证任何人有权把自己的变化称为共识的系统。
各方的人都付出了个人代价。迈克·赫恩于 2016 年一月公开离开项目,并称实验已经失败。加文·安德烈森失去从前在 Bitcoin Core 中的地位。开发者面对攻击运动,企业遭受抵制,个人也被攻击,技术分歧被变成人格考验。胜利叙事常把这些人压扁成叛徒与英雄。更准确的做法是承认,许多人保护的是同一目标的不同想象,有时也会采用自己认为是必要防卫的强压手段。
战争之后,人们使用共识一词更谨慎。它不再只表示矿工信号表态的数量、企业名单或核心开发者同意,而是这样一种状态:足够多参与者认为改变比分裂更安全,其余人又没有意愿或力量维持竞争规则。这不是优雅的投票制度,而是持续谈判;退出的可能让没有头衔的人也获得分量,却永远不保证他们的链会有价格、用户或安全。
图鉴中的人物与概念
资料来源与故事边界
- 01BIP 101 — Increase maximum block size
自动提高上限的主要正式提案之一。
- 02BIP 141 — Segregated Witness
SegWit 与区块权重的技术规范。
- 03
- 04SegWit2x Working Group — 存档 repository
SegWit2x 目标与实现的同期文档。
- 05BIP 148 — Mandatory activation of SegWit deployment
UASF 的规范与时间安排。
- 06BIP 91 — Reduced threshold SegWit MASF
让矿工在八月 1 日前锁定信号表态的协调机制。
- 07Bitcoin ABC — UAHF technical specification
Bitcoin Cash 分离的同期规范。
- 08SegWit2x mailing list — Onwards
2017 年十一月 8 日公告,承认硬分叉没有足够共识。