暗潮汹涌:扩容争议萌芽

配图

status author date difficulty

💡 比特币有一个秘密:每个区块只能装1MB的数据。中本聪在2010年加上这个限制的时候,没人在意。五年后,当网络开始堵车,所有人都开始吵:是拓宽马路,还是造高架桥?这场吵架差点毁了比特币。

欢迎关注我的推特:@bhbtc1337

进入微信交流群请填表:表格链接

文章开源在 GitHub:Get-Started-with-Web3

2010年7月15日,中本聪在比特币代码里加了一行不起眼的限制:每个区块最大1MB。

这个决定的初衷很简单——防止有人恶意创建巨大的区块来攻击网络。当时比特币每天只有几百笔交易,1MB的限制相当于给一条每天只走十辆车的乡间小路设了个限速标志。谁会在意呢?

中本聪自己也没当回事。他在论坛里说过:"我们可以在必要时逐步提高限制。"

他没料到两件事:第一,"逐步提高"这四个字会变成比特币历史上最大的争议;第二,他自己不会在场来执行这个"逐步"。


堵车

2015年春天,问题来了。

比特币的使用量在过去一年里翻了好几倍。每天的交易从几千笔增长到了几万笔,平均区块大小从几十KB涨到了几百KB。1MB的天花板还没碰到,但已经能感觉到它在头顶上了。

最先叫痛的是用户。转一笔比特币,以前几分钟就确认了,现在要等十几分钟,有时候一个小时。手续费也在涨——你要想你的交易排在前面被处理,就得出更高的价。就像高峰时段打车加价,除了这里加的不是倍率,是真金白银。

BitPay 开始头疼了。他们的商户接受比特币支付,交易确认慢了意味着商户要多等,手续费高了意味着小额支付变得不划算。一杯3美元的咖啡收2美元的手续费?这不叫支付,这叫慈善。

中本聪说的"在必要时逐步提高限制",现在看来"必要时"已经到了。

问题是:谁来执行?怎么执行?


继承人的方案

Gavin Andresen 觉得答案很简单。

他是中本聪选定的接班人——2011年4月那封"I've moved on to other things"的邮件里,中本聪点名把项目交给了他。四年来,Gavin 一直是比特币开发社区的技术领袖。

2015年5月,Gavin 提出了BIP 101:把区块大小从1MB直接提到8MB,之后每两年自动翻倍。

逻辑很直白:路堵了,就拓宽马路。从双车道改成八车道。互联网带宽和存储成本在不断下降,没理由让比特币网络被一个五年前的参数卡住。

Gavin 在博客里写道:"比特币的目标是成为全球数字货币。如果我们人为限制网络容量,就是在限制比特币的潜力。"

Coinbase 的 Brian Armstrong 立刻支持。BitPay 也支持。大部分和"比特币支付"沾边的公司都支持——这很好理解,他们的生意直接受网络拥堵影响。

但是。


另一种声音

Bitcoin Core 的其他核心开发者不同意。

Gregory Maxwell——密码学专家,比特币最重要的开发者之一——在论坛上详细解释了反对的理由:8MB的区块会显著增加运行全节点的成本。下载8倍大的区块链、验证8倍多的交易、储存8倍多的数据——这些都需要更好的硬件和更快的网络。如果只有少数有钱的机构能跑得起全节点,比特币的去中心化就完了。

Pieter Wuille 提出了一个替代方案:SegWit(隔离见证)。这是一种巧妙的技术优化——不用改区块大小限制,通过重新组织交易数据的方式,就能让区块装下更多交易。大约能提升40%的容量。不够彻底,但足够安全。

而且,SegWit 还附带修复了一个叫"交易延展性"的bug——这个bug不修好,闪电网络(Lightning Network)就没法正常工作。闪电网络是什么?一种建在比特币之上的"高架桥"支付系统,理论上能处理几乎无限的交易量。

拓宽马路 vs 造高架桥。这就是整场争论的核心。

拓宽马路的好处是直接、管用、马上见效。坏处是马路越宽,维护成本越高,跑得起的人越少。

造高架桥的好处是不用动马路本身,原有的安全性和去中心化不受影响。坏处是高架桥还在纸上——闪电网络的白皮书刚发布,离能用还差得远。

一边说"你的高架桥是画饼",一边说"你的宽马路会杀死去中心化"。

谁也说服不了谁。


Bitcoin XT 和它的葬礼

Gavin 等不了了。2015年8月,他和另一位开发者 Mike Hearn 推出了 Bitcoin XT——一个内置了8MB区块升级的比特币客户端。如果超过75%的矿工运行 Bitcoin XT,网络就会自动升级。

这是比特币历史上第一次有人试图通过分叉客户端来推动协议变更。

Gavin 说这是"给社区一个选择的机会"。反对者说这是"对共识的攻击"。

争吵从技术论坛蔓延到了 Reddit。r/Bitcoin 的版主开始删除支持 Bitcoin XT 的帖子,理由是 XT 算"山寨币",不能在比特币论坛讨论。被删帖的用户愤怒了——他们另起炉灶建了 r/btc。

从此以后,比特币社区有了两个 Reddit:r/Bitcoin 和 r/btc,分别代表小区块和大区块阵营。这道裂痕延续至今。

Bitcoin XT 本身没有活多久。到2015年底,只有不到10%的节点运行了它,远低于75%的门槛。大部分矿工不愿意冒分裂网络的风险。Bitcoin Core 开发团队的权威性也在发挥作用——大多数人还是信任那帮写了多年代码的程序员。

2016年1月的一个晚上,Mike Hearn 坐在电脑前,手指悬在键盘上方。他盯着屏幕上自己刚写完的文章标题:《比特币实验的解决》。

他深吸一口气,点了"发布"。

文章的核心结论只有四个字:比特币失败了。

他说比特币被一小群开发者把持,社区无法达成共识,网络无法扩展。然后他打开交易所,把自己持有的所有比特币——每一枚——全部挂了卖单。

这篇文章被《纽约时报》转载。比特币价格当天下跌超过10%。一个比特币最早的核心开发者,公开宣布放弃并清仓离场。


暴风雨前的安静

Mike Hearn 走了。Bitcoin XT 死了。但问题没有解决。

1MB 的限制还在。区块越来越满。手续费越来越贵。交易越来越慢。

Gavin 的影响力在 XT 失败后急剧下降。那个被中本聪亲手指定的继承人,因为在扩容问题上站错了队(至少在当时看来是这样),逐渐被边缘化了。后来他又因为公开支持 Craig Wright 是中本聪,彻底失去了社区的信任。从中本聪的代言人到社区的弃子——这个转折比任何区块链技术都更加残酷。

但争论远没有结束。XT 失败后,大区块派又推出了 Bitcoin Classic(2MB方案)、Bitcoin Unlimited(无限区块方案)——每一个都失败了,但每一个都让社区的裂痕加深一层。

小区块派继续推进 SegWit。开发在稳步进行,但矿工——特别是以 Bitmain 的吴忌寒为代表的中国矿工——拒绝激活。他们有自己的理由:SegWit 会影响 Bitmain 的一项专利技术(AsicBoost),而且大区块对矿工的商业利益更有利(更多交易=更多手续费)。

棋盘上的每一方都不愿意让步。开发者坚持 SegWit。矿工拒绝激活。企业家们试图两边调和。用户们在 Reddit 上互骂。

这场僵局将持续到2017年。然后一个匿名开发者——Shaolinfry——会提出一个叫 UASF 的想法,用户会戴上帽子走上街头(不是字面意义的,但精神上是),一场真正的独立战争即将打响。

但那是后面的故事了。


2010年中本聪添加1MB区块限制的那行代码,是比特币代码库里被讨论最多的一行。它一共只有几个字符,却引发了一场持续数年、涉及数十亿美元利益的全球争论。有时候,写一行代码比写一本书更能改变世界——但删掉那行代码的难度,也比写一本书大得多。




如果这个故事对你有价值,考虑支持一下作者

⚡ Lightning: latebrook396888@getalby.com

₿ BTC: bc1qjt7uhztd2pumpx6p5w0sl8jxfzmxp3nyahysmcqklqfkecqftuysu733ca

results matching ""

    No results matching ""