2017年8月,比特币网络激活了一次关键的协议升级——隔离见证(SegWit),由开发者Peter Wuille在2015年提出。这一变动不仅修复了长期存在的交易可延展性漏洞,还通过引入区块权重系统,将每个区块的交易容量从约1650笔提升至最多2700笔。然而,SegWit的推行并非一帆风顺,它直接导致了比特币社区的分裂,并催生了Bitcoin Cash(BCH)等分叉项目。
SegWit如何解决交易可延展性?
交易可延展性是指攻击者在交易被矿工确认前,可以修改交易的唯一标识符(即交易ID)。过去,比特币交易的数字签名(见证数据)与发送方、接收方地址等信息混合存储在区块的ScriptSig中。任何对签名的微小改动都会改变交易ID,进而可能使依赖该交易的子交易失效。SegWit将签名数据从ScriptSig中移除,放入一个名为“witness”的新结构,该结构不参与交易ID的计算。签名后,ScriptSig的内容便无法再更改,交易ID因此变得不可篡改。
区块大小如何增加?
SegWit并没有直接提高区块的1MB硬限制,而是引入了一个新的度量单位——“区块权重”(block weight)。旧区块中每个字节的权重为4,而SegWit将签名数据(占交易体积的约65%)的权重降低为1。这使得矿工可以在一段时间内打包更多交易。最终,每个区块的理论最大交易数从1650上升到2700,相当于将区块的等效大小提升至约4MB(但链上数据依然保持1MB上限),从而在不改变原始协议的前提下缓解了网络拥堵。
SegWit的实际用途
除了修复可延展性,SegWit还带来了几个关键好处:降低手续费——更多交易空间意味着竞争减少,用户在高需求时段支付更低费用;为Layer-2铺路——可延展性问题曾是闪电网络等二层方案的主要障碍,SegWit的修复使得这些方案得以落地;提升网络灵活性——模块化的交易结构让后续升级更容易实施,例如Taproot升级就依赖SegWit提供的框架。
争议与代价
SegWit的推进并非没有阻力。矿工群体担心:更低的交易费用会削减他们的收入,且需要支持存储见证数据的侧链,而这部分侧链不产生直接收益。社区内部分为两派:一派主张通过SegWit软分叉解决问题;另一派则坚持直接增大区块硬上限的简单方案。这种对立最终在2017年8月1日导致Bitcoin Cash硬分叉,采用8MB区块大小并去除了SegWit。
此外,SegWit的采用率最初非常缓慢。许多钱包和服务商用了数年时间才完成升级;即便到2024年,仍有部分服务不支持SegWit地址。其复杂性也增加了开发者适配的难度。
总体而言,SegWit在保持对比特币原始协议最小改动的前提下,显著提升了网络的可扩展性和安全性。它引入的区块权重概念已成为后续协议设计的基石,并为闪电网络等创新提供了关键基础。至今,SegWit的地址格式(以“bc1”开头)已成为最常用的交易类型之一。

