Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第十三章:扩容——一条链承载全球

引子

2017年12月,比特币网络经历了一次窒息。

那个月,BTC的价格冲上了接近两万美元的历史新高,全球数以百万计的新用户涌入。交易量暴增,虽然SegWit已于当年8月激活,但由于采用率极低,有效容量仍然严重不足。结果是:内存池中积压了近十八万笔未确认交易,平均手续费飙升到五十多美元,确认时间从十分钟延长到数小时甚至数天。一笔两美元的咖啡交易,手续费比咖啡本身贵二十五倍。

那一刻,比特币作为“点对点电子现金“的功能被彻底摧毁了。

行业的主流叙事是:比特币天生不能扩容,所以我们需要闪电网络、需要L2、需要侧链来“帮助“它。第四章已经论证了为什么这些外部方案全部通向死胡同——它们无一例外地重新引入了可信第三方。但破完之后必须立。本章要回答一个更根本的问题:比特币到底能不能在链上直接扩容?

答案就写在白皮书里。不是藏在某个晦涩的段落中,而是明明白白地写在第七节和第八节。中本聪不仅预见了扩容的需要,而且从第一天起就设计了完整的扩容架构——默克尔树、简化支付验证(SPV)、磁盘空间回收——每一个设计选择都指向同一个方向:为承载全球规模的交易量做准备。1MB的限制从来不是设计参数——它是一个临时的反垃圾邮件措施,后来被异化成了不可触碰的教条。

白皮书的原始扩容设计:SPV与大区块

默克尔树:为十亿笔交易而造

要理解比特币的扩容架构,先要理解一个数据结构的选择:默克尔树(Merkle Tree)。

比特币区块中的交易不是简单地排成一个列表。它们被组织成一棵二叉哈希树——底层是每笔交易的哈希,两两配对向上合并,最终汇聚成一个树根(Merkle Root),这个树根被写入区块头。

这个设计选择本身就是最有力的证据。

如果中本聪设计比特币只是为了每秒处理七笔交易——1MB区块最多容纳约四千笔交易——默克尔树的对数级证明优势还不太明显。当然,默克尔树也服务于轻客户端验证与历史数据修剪,即便在较小规模下仍有工程价值。但它真正的威力,要在区块包含数百万乃至数十亿笔交易时才充分体现。

默克尔树的威力在于对数级的证明路径。树每增加一层,可容纳的交易数量翻倍,但证明一笔交易存在于区块中所需的数据只增加一个哈希值——32字节。具体来说:

  • 一个包含4,096笔交易的区块,证明路径需要12个哈希(384字节)
  • 一个包含100万笔交易的区块,证明路径需要20个哈希(640字节)
  • 一个包含10亿笔交易的区块,证明路径也只需要30个哈希(960字节)

从四千笔到十亿笔,交易数量增加了二十五万倍,但证明路径只增加了18个哈希——576字节。

默克尔树这种对数级数据结构的选择,说明中本聪在2008年就充分考虑了系统的扩展性。这不是事后的优化,这是从第一天起就为大规模扩容做的架构准备——尽管默克尔树本身不能单独证明他预期了十亿级单块,但它确实是为容纳海量交易而选择的正确数据结构。

SPV:让用户只做用户

有了默克尔树,白皮书第八节给出的方案就水到渠成了:

“It is possible to verify payments without running a full network node. A user only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he’s convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it’s timestamped in.”

“不运行完整的网络节点也可以验证支付。用户只需要保留最长工作量证明链的区块头副本——他可以通过查询网络节点来获取,直到确信自己拥有最长链——并获取将交易链接到其被加盖时间戳的区块的默克尔分支。”

这就是简化支付验证(Simplified Payment Verification,SPV)。

一个区块头只有80字节。按每十分钟一个区块计算,一年的区块头总量约4.2MB。这意味着一部普通的智能手机就能存储比特币诞生以来所有的区块头——2009年至今十七年的全部区块头加起来也不到100MB。用户通过SPV验证一笔支付,只需要下载几百字节的默克尔路径,就能确认自己的交易已经被包含在具有最多工作量证明的区块链中。需要注意的是,SPV验证的是交易被收录于最长链的某个区块中,而非像全节点那样独立验证全部共识规则,因此在安全性和隐私性上弱于全节点验证。

这个设计的意义是什么?它彻底解耦了“使用比特币“和“运行比特币节点“这两件事。

白皮书第五节定义了节点的操作步骤:收集新交易、构建区块、寻找工作量证明、广播区块、验证并接受区块。每一步都涉及区块的构建或工作量证明的竞争。在白皮书第五节的语境中,节点描述的是参与出块的网络节点流程。需要注意,在后来的实现与社区术语中,“全节点“通常指独立验证共识规则的节点,不必参与挖矿——但白皮书原文中的“节点“侧重于参与出块的角色。

中本聪在BitcoinTalk论坛上进一步明确了这个设计意图:比特币网络在成熟形态下,将由少数大型专业节点(矿工)处理交易和构建区块,普通用户通过SPV进行支付验证。他预计网络最终不会有超过十万个节点——这里的节点指的是出块矿工,不是下载了区块链但不参与出块的旁观者。

这和互联网的架构完全一致。绝大多数互联网用户不运行Web服务器。你用浏览器访问网页,不需要自己架设一台Apache服务器。互联网的开放性不在于每个用户都运行服务器,而在于任何人都可以架设服务器、任何人都可以接入网络。比特币的去中心化遵循完全相同的逻辑——任何人都可以成为矿工参与出块,但大多数人只需要做用户。

“每个人都应该运行全节点“这个叙事有一个致命的逻辑漏洞。一台下载了完整区块链但不参与出块的机器,在白皮书的定义下根本不是节点。它不参与工作量证明,不构建区块,不对交易排序施加任何影响——对出块共识的直接贡献为零,尽管它在独立验证和网络传播上仍有一定作用。这就像站在山顶上观看机场的飞机起降:你能看到所有航班,但你无法影响塔台的任何一个调度决定。看到和影响是两回事。你为了维护一个对共识没有贡献的指标,牺牲了系统的实际处理能力——这不是工程上的权衡,这是逻辑上的混乱。

白皮书在SPV部分还特别指出了一个务实的分层:

“Businesses that receive frequent payments will probably still want to run their own nodes for more independent security and quicker verification.”

“频繁接收支付的企业可能仍然希望运行自己的节点,以获得更独立的安全性和更快的验证速度。”

这就是中本聪设想的网络分层:大型企业和交易所运行全节点(即矿工节点或连接到矿工的验证节点)以获得最高安全性,普通用户通过SPV在手机上完成日常支付。不同角色承担不同的基础设施责任,正如互联网上谷歌运行着数百万台服务器,而你用手机浏览器就够了。

磁盘空间回收:为海量数据而备

白皮书第七节讨论的“回收磁盘空间“同样是扩容设计的一部分:

“Once the latest transaction in a coin is buried under enough blocks, the spent transactions before it can be discarded to save disk space. To facilitate this without breaking the block’s hash, transactions are hashed in a Merkle Tree, with only the root included in the block’s hash.”

“一旦一枚货币的最新交易被足够多的区块所覆盖,之前已花费的交易就可以被丢弃以节省磁盘空间。为了在不破坏区块哈希的情况下实现这一点,交易被哈希到一棵默克尔树中,只有树的根节点被纳入区块的哈希。”

已花费的交易输出——就像一枚已经被使用过的硬币——可以从活跃的UTXO集合中移除。默克尔树的结构保证了即使底层的交易数据被修剪,区块头的哈希仍然有效。这意味着验证节点可以在完成全历史验证后修剪旧的区块数据,不需要永久存储所有历史交易。但需要澄清的是,这并非从一开始就只需保存UTXO集合与区块头——节点仍需先下载并验证完整历史,还需保留索引及近期链数据以应对可能的链重组。修剪后的历史交易数据可以由专门的存档服务保管,需要时再查询。

如果中本聪只预期每个区块几千笔交易,为什么要专门设计磁盘空间回收机制?答案和默克尔树一样:这些设计只有在海量交易的场景下才有意义。整个白皮书的数据架构——默克尔树、SPV、磁盘空间回收——构成了一套完整的、从第一天就设计好的大规模扩容方案。

设计意图的汇合

SPV + 大区块 = 白皮书从一开始就内置的扩容架构。默克尔树确保了验证效率与区块大小无关,SPV确保了普通用户不需要处理整个区块链的数据,磁盘空间回收确保了节点的存储负担不会无限膨胀。区块容量可以随硬件与网络条件持续扩大,而SPV用户的验证成本增长极为缓慢(仅区块头的线性增长)。当然,系统整体成本——矿工的传播和验证负担——会随区块增大而增长,但这些成本集中在基础设施层,由专业参与者承担。这是一个精巧的分层设计:底层的矿工网络承担重活——验证、存储、出块;上层的用户只需要几百字节的默克尔路径就能确认自己的交易。复杂性留在基础设施层,简洁性留给终端用户。

1MB:一个临时的反垃圾措施

既然白皮书的设计天然支持大区块,那1MB的限制是从哪来的?

2010年7月,中本聪在代码中加入了1MB的区块大小限制。在比特币诞生的最初阶段,网络极其脆弱,矿工数量很少,攻击者可以用极低的成本创造大量垃圾交易来膨胀区块、拖垮网络。1MB的限制是一个临时的安全阀——当网络还是一棵幼苗时,给它加一圈栅栏防止被踩踏。

这个限制从来不是比特币的“设计参数“,就像脚手架不是建筑的一部分。中本聪本人在论坛上多次讨论过将来提高区块大小的计划,他的语气是理所当然的——当然会提高,这有什么好争论的?

但后来发生了一件中本聪没有预料到的事:他在2011年离开了。而这个临时的1MB限制,在没有创始人主导的情况下,逐渐被一部分开发者重新诠释为“比特币的核心特性“。围绕它形成了一整套意识形态叙事——“小区块保护去中心化”、“每个人都应该运行全节点”、“比特币是数字黄金不需要处理日常交易”。

一个工程参数被异化成了政治图腾。一个临时的安全措施被供奉为不可触碰的教条。区块大小本应是一个根据技术条件和网络需求动态调整的工程参数——正如互联网带宽从56kbps升级到光纤,每一次跃迁都是工程师评估硬件能力和用户需求后做出的技术决策。但比特币社区把区块大小变成了一场持续十年的意识形态战争,一个本可以随硬件能力平滑升级的参数,在长达十余年间仅有极为有限的调整。BTC在2017年通过SegWit将区块限制改为4,000,000 weight units,理论上允许约4MB的区块,但实际平均区块大小远未达到上限,容量提升十分有限。

后果是严重的。即便在SegWit之后,BTC的链上吞吐量也仅约每秒7到15笔交易。全球每天约有数十亿笔电子支付交易——即使只承接其中千分之一(约数百万笔/天),也需要每秒处理数十到上百笔。即便这个门槛看似不高,要承载全球规模的支付量(数千乃至数万TPS),当前的容量仍然差了几个数量级。

更深层的后果是经济模型的扭曲。当区块空间被人为制造成稀缺资源时,交易手续费不是由市场的自然供需决定的,而是由人为限制制造的拥堵决定的——本质上是一种人为制造的拍卖。2017年12月的五十美元手续费,不是比特币网络运行的真实成本,而是人为瓶颈制造的溢价。

这就好比一条本可以是六车道的高速公路,被人为缩窄成了一条单车道的乡间小路。然后,当车辆排起长龙时,有人站出来说:“你看,这条路天生就只能通过这么多车。我们需要在旁边建一套空中轨道系统来分流。”

不。你需要做的,是把路拓宽。

闪电网络与高费模式:治标之药,致命之毒

闪电网络:因人为限制而生

闪电网络(Lightning Network)是1MB限制的直接产物。它的存在逻辑是这样的:既然主链每秒只能处理七笔交易,那就让大量交易在链下的“支付通道“中完成,只在开启和关闭通道时才使用主链。

这个方案的根本问题不在于技术实现的细节——虽然细节问题也很多——而在于它存在的前提就是错的。闪电网络不是因为比特币协议有内在的容量天花板才需要的。它是因为一个临时的1MB限制被拒绝移除,人为制造了主链拥堵,才“不得不“被发明出来的。

这就像一个人故意把自己家的门缩窄到只能侧身通过,然后花巨资在墙上开了一扇窗户来搬运家具。你问他为什么不把门拓宽,他说:“门的大小是不可更改的核心参数。窗户才是未来。”

但让我们暂时把前提问题放在一边,看看闪电网络本身的运作机制。

两个用户要通过闪电网络交易,首先需要在主链上开启一个双向支付通道,双方各锁定一定数量的比特币。之后,双方可以在通道内来回转账任意多次,每次转账不需要上链,只需要双方互相签署新的余额分配方案。当双方决定结束合作时,将最终的余额分配提交到主链上结算。

如果两个人之间没有直接的通道怎么办?那就需要通过中间节点路由——A付给B,B付给C,C付给D。这个路由过程需要每个中间节点都有足够的流动性锁定在通道中,而且路由路径必须在支付发起时就完整确定。

这个机制在本质上具有“延迟上链结算“的特征。

A给B签署一份余额分配方案,B给C签署一份类似的方案,C给D签署又一份。这些状态在链下更新,只有在最终结算时才转化为链上的真实交易。在结算之前,参与者持有的是由密码学约束的通道状态,而非链上已确认的资金转移。

这和传统金融中的票据贴现、银行之间的净额结算有相似之处吗?在“延迟结算“这一点上,确实有结构上的类似。但与传统信用票据不同,闪电网络的通道状态由多重签名、哈希时间锁合约(HTLC)和链上惩罚机制约束——如果一方试图作弊,另一方可以通过链上交易没收对方的资金。这种密码学执行力是传统票据系统不具备的。尽管如此,在通道状态尚未上链的期间,参与者面临的仍然是一种需要监控和及时响应的延迟结算风险。

双向通道的可用性困境

闪电网络的实际可用性面临一系列结构性问题。

流动性锁定。 每个支付通道都需要预先锁定资金。如果你想通过闪电网络支付最多1000美元,你和你的交易对手合计需要在通道中锁定至少1000美元。这些资金在通道关闭之前不能挪作他用。要让闪电网络覆盖日常支付场景,全网需要锁定的资金总量将是天文数字。

路由问题。 当网络规模扩大时,找到一条从支付方到收款方的有效路由路径变得越来越困难。每个中间节点必须在相应的通道中拥有足够的余额来转发支付——如果路径上任何一个节点的通道余额不足,整笔支付就会失败。用户经常遇到“支付路由失败“的错误提示,尤其是在尝试支付较大金额时。

在线要求。 接收方必须在线才能接收支付。这意味着你不能像发送一封邮件那样“发过去就行“——对方必须实时在线响应。对于一个声称要服务全球数十亿人口的支付网络来说,要求每个用户时刻保持在线是不现实的。

通道管理成本。 开启和关闭通道本身需要链上交易,而链上交易恰恰是闪电网络要避免的东西。如果链上手续费很高(这正是闪电网络存在的原因),那么开启和关闭通道的成本也很高。在链上拥堵时期,一个普通用户开通道的成本可能高达数十美元——这个入门成本足以把大量小额支付用户拒之门外。即使在低费时期成本较低,这种对链上费率的结构性依赖仍然是一个根本矛盾。

安全性依赖于监控。 闪电网络的安全模型要求用户持续监控链上状态,以防通道对手方提交过时的交易来窃取资金。如果你的节点离线太久,对方可以把一个旧的、对他有利的状态提交到链上。你需要在限定时间内发现并提交惩罚交易——否则资金就归对方所有。这种“需要持续在线监控否则可能被偷“的安全模型,对普通用户来说是不可接受的。

中心化趋势。 闪电网络的路由机制天然产生中心化压力。要成为一个有效的路由节点,你需要锁定大量资金在多条通道中,并保持节点24小时在线。谁有这个能力?大型机构——交易所、支付公司、专业流动性提供商。随着网络扩展,支付路由越来越倾向于经过这些大型枢纽节点。网络拓扑逐渐从理想中的“对等网状结构“演变为“中心辐射结构“——几个大节点成为大部分支付的必经之路。

这意味着什么?意味着闪电网络越成熟,就越可能在网络拓扑上呈现中心化特征——少数大型枢纽节点处理大部分交易路由。需要指出的是,闪电网络的路由节点并不托管用户资金,支付是原子性的(要么完成要么失败),这与银行托管模式有本质区别。但在可用性、流动性分配和网络拓扑上,它确实会引入中心化压力——这与“协议层面必须信任中间人托管资金“不是一回事,但会在实践中削弱点对点网络的理想形态。

这些不是可以通过工程优化解决的边缘问题。它们是双向支付通道这种机制的结构性限制。闪电网络在小规模、双方高频交易的场景下可以工作——比如两家经常互相结算的企业。但作为全球支付基础设施?它缺少的不是技术打磨,而是正确的架构基础。

让我们回到最根本的那个问题:如果主链本身可以每秒处理百万笔交易、每笔手续费不到一分钱,闪电网络的核心需求将大幅收缩。L2在即时交互、特定隐私模型或应用层场景上可能仍有一些价值,但作为解决容量瓶颈的核心方案?当瓶颈本身被拆除时,绕行方案的必要性就大打折扣了。

高费模式:摧毁比特币的现金本性

1MB限制带来的不仅是闪电网络这个技术绕行方案,更致命的是它扭曲了比特币的经济模型。

白皮书第一节明确指出了比特币要解决的问题:

“The cost of mediation increases transaction costs, limiting the minimum practical transaction size and cutting off the possibility for small casual transactions.”

“调解成本增加了交易费用,限制了最低实际交易规模,切断了小额临时交易的可能性。”

比特币被发明出来,恰恰是要消除小额支付中不合理的高成本。白皮书的标题写得清清楚楚——“A Peer-to-Peer Electronic Cash System”——点对点电子现金系统。现金的核心特征是什么?任何人都可以用,任何金额都可以交易,交易成本趋近于零。

当链上手续费高达数十美元时,比特币的现金属性被彻底摧毁了。一笔五美元的支付,手续费五十美元——谁会用这样的“现金“?小额支付用户被完全排斥在外。日常消费场景——买咖啡、坐公交、打赏内容创作者——全部变得不可能。比特币从“人人可用的电子现金“退化成了“富人之间的数字黄金搬运工具“。

更深层的经济逻辑是这样的。

比特币的区块奖励每四年减半。2024年第四次减半后,区块奖励已经降到3.125个BTC。2028年减半后为1.5625个,2032年减半后降至约0.78个,2036年减半后仅约0.39个。区块奖励最终将趋近于零。届时,矿工的收入将完全依赖交易手续费。

这就引出了一个关键问题:矿工的手续费收入靠什么支撑?

有两种模式:

模式一:少量交易 × 高手续费。 维持1MB的区块限制,制造人为稀缺,每笔交易收取高额手续费。这是BTC当前的路径。

模式二:海量交易 × 极低手续费。 移除区块大小限制,让链上处理数十亿笔交易,每笔手续费只有几分钱甚至更低。

做一道简单的算术。

模式一:假设每个区块容纳4,000笔交易,每笔手续费10美元。每个区块的手续费收入 = 4,000 × 10 = 40,000美元。

模式二:假设每个区块容纳1,000,000笔交易,每笔手续费0.01美元。每个区块的手续费收入 = 1,000,000 × 0.01 = 10,000美元。

进一步扩展:假设每个区块容纳1亿笔交易(百万级TPS已被工程验证),每笔手续费0.001美元。每个区块的手续费收入 = 100,000,000 × 0.001 = 100,000美元。

模式二不仅在总收入上可以超过模式一,而且它的经济模型是可持续的——因为低手续费吸引更多用户和更多交易场景,更多交易场景带来更多交易量,更多交易量带来更多手续费总收入。这是一个正向飞轮。

模式一是一个负向螺旋——高手续费赶走用户,用户减少导致交易量下降,交易量下降要求更高的单笔手续费来维持矿工收入,更高的手续费赶走更多用户。最终,当区块奖励趋近于零时,如果没有足够的交易量支撑,矿工将无利可图,算力下降,网络安全性降低——这是一条通向系统性衰退的道路。

而模式二的飞轮效应远不止于手续费本身。当每笔交易只需要千分之一美分的手续费时,大量此前不可能的商业场景被激活:物联网设备之间的微支付、流媒体的按秒计费、社交媒体的内容打赏、供应链上每个环节的自动结算、机器与机器之间的实时交易。这些场景中的每一笔交易金额可能极小——几分钱甚至几厘钱——但交易总量是天文数字的。全球八十亿人口加上数百亿联网设备,每天产生的微交易量可以轻松达到万亿级别。

白皮书第六节对此的描述精确得几乎是预言性的:

“The incentive can also be funded with transaction fees… Once a predetermined number of coins have entered circulation, the incentive can transition entirely to transaction fees and be completely inflation free.”

“激励也可以通过交易手续费来提供……一旦预定数量的货币进入流通,激励就可以完全过渡到交易手续费,从而完全没有通货膨胀。”

“完全过渡到交易手续费”——这句话隐含的前提是什么?是必须有足够多的交易来产生足够多的手续费。如果每个区块只有四千笔交易,每笔手续费必须高到什么程度才能养活矿工?答案是:高到足以摧毁比特币作为现金的实用性。

中本聪设计的经济模型,从第一天起就是为海量低费而准备的。1MB的限制不仅是技术上的错误——它是对整个经济模型的根本否定。这就像一家航空公司设计了一架可以坐五百人的大飞机,然后有人把机舱门锁上只允许七个人登机,再用每张票几千美元的高价来覆盖运营成本。正确的商业模式显然是:让五百个人都上来,每人一百美元,总收入五万美元——远超七个人乘以几千美元。

链上扩容的工程可行性

第四章论证了“为什么L2不行“。上一节论证了“为什么比特币的原始设计支持链上扩容“。现在要回答最后一个问题:“怎么扩?”

这是一个纯粹的工程问题。不是政治问题,不是哲学问题,不是信仰问题——而是“给定当前的硬件技术和网络条件,如何让一条链处理全球规模的交易量“。

UTXO:天然的并行引擎

第四章已经详细对比了UTXO模型和账户模型。这里只重申关键结论。

每个UTXO是一个独立的、自包含的状态单元——就像一枚独立的硬币。你在北京花一枚硬币买咖啡,不会阻塞纽约另一个人用另一枚硬币买面包。消费不同UTXO的两笔交易之间,数据依赖为零,可以同时处理。

这意味着比特币的交易处理天然更便于并行化。UTXO模型下,无冲突的交易可以分配到多个处理器核心同时验证,大幅提升吞吐量。当然,实际吞吐仍取决于冲突检测、UTXO状态锁定、磁盘提交等实现细节,并非简单的“核心数等于TPS“。但关键在于:扩容的主要路径是增加硬件资源,而非修改协议规则。

相比之下,以太坊的账户模型把所有账户的状态塞进了一棵全局状态树。对同一个账户的多笔交易必须严格串行处理。智能合约之间的状态依赖使情况更加复杂。EVM按严格顺序逐笔执行交易——这是账户模型的结构性必然,不是实现上的偶然。

UTXO模型把扩容的瓶颈推到了带宽和存储上——而这两者是随摩尔定律和硬件技术进步持续改善的纯工程变量。账户模型则把瓶颈焊死在数据结构本身——全局共享状态的串行访问是一道无法通过加处理器核心突破的硬墙。

中本聪选择UTXO模型不是偶然的。它是为链上扩容而做的架构准备。

值得强调的是,UTXO模型意味着比特币的扩容上限不是一个固定的数字,而是一个持续增长的函数。处理器核心数在增加,存储容量在增加,网络带宽在增加——这些都是持续了半个世纪的技术趋势。当你的架构瓶颈在这些工程变量上时,你的系统容量会随硬件进步自动增长。这和以太坊形成了根本对比:账户模型的串行瓶颈不会因为硬件更快而消失——一条只有一个车道的路,不管你把路面铺得多平整,一次还是只能过一辆车。

从单体架构到微服务

传统的比特币节点是一个单一进程,独自承担所有功能:接收交易、验证交易、管理UTXO集合、构建区块、进行工作量证明计算、传播区块。这是经典的单体架构(monolithic architecture)——就像一家只有一个员工的公司,这个人同时做前台、会计、仓储、物流和客服。公司小的时候没问题,但业务量增长十倍、百倍、万倍之后,一个人就扛不住了。

单体架构的扩容方式是垂直扩展——换更快的CPU、更大的内存、更快的硬盘。但垂直扩展有硬性天花板:单台机器的性能总是有上限的。

正确的扩容方式是水平扩展——不是让一台机器做所有事情,而是让很多台机器各做一部分。这就是微服务架构(microservice architecture),它是互联网基础设施过去二十年最核心的工程经验。

把比特币节点拆分为独立的微服务,每个微服务根据自身的瓶颈独立扩展:

交易验证是CPU密集型任务。UTXO模型下,不同交易的验证互不依赖,可以分配到任意数量的无状态验证器实例上并行执行。交易量翻倍?增加一倍的验证器实例。

UTXO存储是I/O密集型任务。UTXO集合可以按哈希分片,分布到多台存储节点上。每台存储节点只负责一部分UTXO的读写。数据量翻倍?增加一倍的存储节点。

网络传播可以通过多实例并行连接来扩展。每个实例负责维护与一部分对等节点的连接。网络节点数翻倍?增加一倍的传播实例。

区块组装可以通过增量式默克尔树构建来并行化。交易被分批插入默克尔树的不同子树,最后合并。

内存池——未确认交易的暂存区——可以分布式存储,按交易哈希分片。

各服务之间通过异步消息队列通信,松耦合。某个环节成为瓶颈时,只需要增加该环节的实例数,不需要改动其他环节。这和你给网站加服务器是同一个逻辑——淘宝在双十一时不是换一台超级计算机,而是临时增加几万台普通服务器。

这不是理论构想。这是互联网公司过去二十年每天都在做的事情。任何一个大型互联网服务——谷歌搜索、亚马逊购物、微信消息——背后都是数以万计的微服务实例在协同工作。比特币节点从单体架构升级到微服务架构,不需要任何范式创新,只需要把互联网基础设施领域已经成熟的工程实践应用到区块链节点上。

大区块传播:一个已经解决的问题

“大区块传播太慢“是反对链上扩容的最常见论据之一。一个1GB的区块,要在全球矿工之间传播,岂不是需要很长时间?如果传播太慢,不就会导致更多的孤块和网络分叉吗?

这个论据建立在一个过时的假设上:区块传播需要传输区块中的全部数据。

实际上,绝大多数交易在被打包进区块之前,就已经通过网络传播到了各个矿工的内存池中。矿工A构建了一个区块,其中包含一万笔交易。矿工B的内存池中可能已经有了其中9,990笔。矿工A不需要发送这9,990笔交易的完整数据——在BIP152的致密区块(Compact Block)协议下,他主要发送:

  1. 区块头(80字节)
  2. 每笔交易的6字节短交易ID(而非完整的32字节哈希)
  3. 少量预填充交易

矿工B收到后,对照自己的内存池,根据短ID匹配已有交易,发现只缺了少数几笔。他只需要向矿工A按需补取这些缺失交易的完整数据即可。

这就是致密区块传播技术的核心思想。一个包含一万笔交易、原始大小可能数兆字节的区块,实际传播开销可以压缩到极小的量级,传播所需的带宽可减少99%以上。对于更大的区块,传播效率同样显著提升,但具体开销取决于内存池命中率和区块规模。

传播效率的提升是指数级的——因为绝大多数交易数据已经“预分发“到了全网。区块传播不是在传输新信息,而是在同步“哪些已有交易被打包进了这个区块“这一决定。

再加上专用的矿工网络——大型矿工之间通过高带宽专线连接,区块头和交易ID列表的传播可以在毫秒级完成。

这个道理其实非常直觉。想想你在网上看一部两小时的电影。电影文件可能有几个GB,但你不需要等整部电影下载完才能开始看——流媒体技术让数据在传输的同时就被消费。区块传播的优化逻辑与此类似:不是在出块时才一次性传输所有数据,而是在交易产生时就持续地将数据“流“向全网。到出块时,真正需要传播的新信息只是“这些已有的交易被打包了“这一决定本身。

大区块传播不是一个理论问题,更不是一个不可解决的问题——它是一个已经被工程实践解决的问题。

已被验证的事实

上述所有工程方案不是纸上谈兵。

BSV(Bitcoin Satoshi Vision)的Teranode节点实现,正是采用了微服务架构——将交易验证、UTXO存储、网络传播、区块组装拆分为独立服务,利用UTXO模型的天然并行性实现水平扩展。据BSV Association与Aerospike的公开测试声明,Teranode在分布式测试网络中宣称达到了百万级TPS的链上处理能力,区块大小达到GB级别。2024年7月的联合测试中,报告的数据库层吞吐量为300万TPS(即底层键值对操作,对应约100万全局比特币交易每秒)。2025年10月,BSV协会公开发布了Teranode源代码,两个矿工已在BSV主网上使用Teranode成功出块。需要指出的是,目前这些性能数据主要来自项目方自报和受控测试环境,尚缺乏独立第三方的可复现验证和主网长期运行数据。

作为参照:BTC节点约7 TPS。Visa全球网络的官方峰值容量约为每秒65,000条交易消息,按2024财年约2,338亿笔交易计算,日均实际处理约7,400 TPS。

如果这些数据得到独立验证,百万级TPS意味着单条链的链上吞吐量有望超越全球主要传统支付网络的处理能力。不是通过L2,不是通过分片——而是在同一条链上、同一个共识机制下、同一份不可篡改的账本中。当然,这条路线对去中心化的影响仍然取决于矿工集中度、带宽门槛和节点进入门槛等因素——这是一条明确的工程路线主张,其最终效果有待实践检验。

扩容从来不是技术上做不到。阻止扩容发生的从来不是工程瓶颈,而是行业的政治分歧——围绕一个本应是技术参数的数字,打了十年的意识形态战争。

这里有一个值得深思的现象。我们总是听到“比特币信仰“这个词——对去中心化的信仰,对数字黄金的信仰。但“信仰“这个词本身就说明了问题。我们之所以用“信仰“这种虚无缥缈的词汇,恰恰是因为它还没有被真正实现。没有人说“我信仰互联网“,没有人说“TCP/IP是我的信仰“。互联网不需要任何人的信仰——它就在那里,你打开浏览器就能用。比特币应该走同样的路。扩容不是一个需要站队的政治立场,而是一个已经被验证的工程方案。当比特币真正完成了它的工程使命——一条可以无限扩容的、承载全球交易的公共账本——“比特币信仰“这个词将自然消亡。就像“互联网信仰“从未存在过一样,因为没有人需要信仰一个你每天都在使用的基础设施。

小结

第四章论证了L2、多链、跨链桥为什么不行——它们无一例外地重新引入了可信第三方。本章论证了比特币为什么能在链上直接扩容——SPV和默克尔树是白皮书的原始设计,1MB限制是一个被异化的临时措施,UTXO的天然并行性为水平扩展提供了数据结构基础,微服务架构和致密区块传播已经在工程上验证了百万级TPS的可行性。

一条链,一个共识,一份账本,承载全球。这是一条已经展现出工程可行性的路线,其大规模落地仍需持续验证。互联网用三十年证明了一条网络可以承载全球所有的信息交换。比特币要证明的是同一件事——一条链可以承载全球所有的价值交换和数据确权。方法是相同的:不是因为协议本身有什么魔法,而是因为正确的架构选择使得系统容量可以随硬件进步持续增长,没有人为设定的天花板。

但一条能承载全球交易的链,如果只用来转账,那它还只是一条“管道“。白皮书给比特币的定义不仅是支付系统,它的脚本系统赋予了账本远超转账的能力。下一章,我们将看到这张“数字白纸“能写什么。