比特币原生扩容方案回顾:SegWit和Taproot
比特币是世界上最早、最安全、最去中心化、市值最高的区块链。然而,其较低的每秒交易量 (TPS) 和有限的编程能力经常受到批评,难以支持大规模应用,严重阻碍了比特币生态系统的发展。作为比特币生态系统的建设者,本文将带领你了解比特币扩容解决方案的过去、现在和未来。 本文是比特币可扩展性系列文章的第一篇,主要介绍比特币主网上历史上实现的原生扩容解决方案。下一篇文章将讨论具有更高扩容性的链下扩容方案。敬请期待。 增加区块大小限制 2010 年,中本聪在bitcoin-core中引入了1MB 的区块大小限制。之后十多年这一明确限制一直未曾修改。 有趣的是,中本聪并没有公开解释他提出区块大小限制的原因,这个限制“隐藏”在代码合并的 PR 中,没有详细解释。在中本聪离开几年后,社区在区块大小限制问题上出现了严重分歧,对更大区块的需求引发了广泛的讨论。 区块越大,容纳的交易数量越多。假设共识时间不变,区块越大,TPS 越高。 为什么TPS这么重要?因为在1MB的区块限制下,以当时的交易规模,每秒能完成的交易数量只能有3-7笔,对于大规模应用是远远不够的,无法实现比特币“点对点的电子现金系统”的愿景。 然而,更大的区块也带来不同程度的问题。 首先,更大的区块对存储、计算和带宽等硬件的要求更高,导致全节点的运营成本增加。比特币的历史交易数据迅速扩展,需要新的全节点花费更多时间与网络同步。这些要求降低了用户操作全节点的意愿,从而降低了去中心化程度。 其次,区块越大,节点间的同步时间越长,出现孤块的可能性越大,导致区块重组更加频繁,分叉风险增大,大大降低安全性。 后来这个问题被Vitalik称为区块链不可能三角,即区块链无法同时实现去中心化、可扩展性和安全性。区块越大,可扩展性就越强,但代价是去中心化和安全性越弱。 最重要的是,修改区块大小限制需要硬分叉,这就要求全网所有节点同时升级,否则将导致网络分裂。这对于依赖去中心化共识的比特币来说并不是一个好的选择。在中本聪的影响下,避免硬分叉似乎已经成为比特币事实上的原则。 不幸的是,分裂确实发生了。尽管社区内部缺乏共识,但一些矿工和开发人员还是更改了客户端中的区块大小限制,最终导致网络分叉。2016 年,Bitcoin Classic 采用 BIP 109