丁丁打折网 - 网友优惠券分享网站,有688999个用户

京东优惠券 小米有品优惠券

当前位置 : 首页>web3>比特币扩容秘诀:SegWit与Taproot解析

比特币扩容秘诀:SegWit与Taproot解析

类别:web3 发布时间:2025-09-29 13:20

一文读懂比特币原生扩容方案SegWit和Taproot!

比特币作为世界上最早、最安全、最去中心化的区块链,其市值一直领先。然而,它的交易速度(TPS)低和编程能力有限常常被人诟病,限制了大规模应用的发展。作为一个对比特币生态系统充满热情的参与者,我将带你回顾比特币扩容方案的历史,展望其未来发展。

今天,我将分享比特币可扩展性系列文章的第一篇,聚焦于比特币主网上已经实现的原生扩容解决方案。下一篇文章将探讨更高效的链下扩容方案,敬请期待。

增加区块大小限制

2010年,中本聪在Bitcoin-core中设定了1MB的区块大小限制,这一限制在接下来的十多年里从未改变过。

有趣的是,中本聪并没有公开解释为什么要设定这个限制,这限制“隐藏”在代码合并的PR中,没有详细说明。在中本聪离开几年后,社区对区块大小限制问题产生了激烈争论,对更大区块的需求引发了广泛讨论。

区块越大,能容纳的交易就越多。假设共识时间不变,区块越大,TPS就越高。TPS为什么这么重要?因为在1MB的区块限制下,以当时的交易规模,每秒只能处理3-7笔交易,这对于大规模应用来说显然不够,无法实现比特币“点对点的电子现金系统”的愿景。

然而,更大的区块也会带来一些问题。首先,更大的区块对存储、计算和带宽等硬件要求更高,导致全节点运行成本增加。比特币的历史交易数据迅速增长,需要新的全节点花费更多时间与网络同步。这降低了用户运行全节点的意愿,从而影响了去中心化程度。其次,区块越大,节点间的同步时间越长,出现孤块的可能性越大,导致区块重组更加频繁,分叉风险增大,降低了安全性。

后来这个问题被Vitalik称为区块链不可能三角,即区块链无法同时实现去中心化、可扩展性和安全性。区块越大,可扩展性就越强,但去中心化和安全性就越弱。

更重要的是,修改区块大小限制需要硬分叉,这意味着全网所有节点必须同时升级,否则将导致网络分裂。对于依赖去中心化共识的比特币来说,这不是一个好的选择。在中本聪的影响下,避免硬分叉似乎已经成为比特币的原则。

不幸的是,分裂确实发生了。尽管社区内部缺乏共识,但一些矿工和开发人员还是更改了客户端中的区块大小限制,最终导致网络分叉。2016年,Bitcoin Classic采用BIP 109将区块大小限制分叉至2MB;同年,Bitcoin XT客户端采用BIP 101,将区块大小提高至8MB。然而,绝大多数矿工和用户仍留在我们现在所知的比特币主网上。

通过硬分叉明确增加区块大小的努力失败了。

隔离见证

如果硬分叉不可接受,那么软分叉是否可以作为解决方案呢?SegWit就是其中一种方法。

见证是解锁UTXO的凭证,长期以来,见证被放置在UTXO的输入脚本字段中以完成交易。然而,这种方式存在循环依赖、第三方交易延展性、第二方交易延展性等潜在问题。

早在2011年,开发者就注意到了这个问题,并提出了隔离见证(SegWit)的解决方案,即将见证与其他交易数据分开。但当时的硬分叉提案并未获得支持,直到2015年SegWit软分叉的提出才最终实现合并。

SegWit是如何通过软分叉实现向后兼容的呢?这主要包括以下两个方面:新版本节点可以识别并接受旧版本节点产生的区块和交易;虽然旧版本节点无法识别新版本引入的新规则和特性,但它们仍然将新版本产生的区块视为有效。

SegWit软分叉允许新交易使用空输入脚本,并在区块结构中添加见证字段以存储见证。由于升级前的比特币核心支持空输入脚本,因此旧版本节点不会拒绝新版本生成的区块。此外,通过使用版本字段,旧的交易类型仍可使用,并且节点会根据版本以不同的方式处理它们。

SegWit中的扩展是通过权重的形式实现的,见证字节的权重为1,其他数据字节的权重为4,从而限制每个区块的最大权重为400万。为什么要为不同类型的数据分配不同的权重?一个常识性的想法是,见证数据在使用时只起到验证作用,不需要长期保存在存储中,因此成本相对较低,权重也较低。

这实际上是变相提高了区块大小限制,理论上的区块大小上限被提升到了4MB(完全归功于见证数据),平均下来区块可以达到2MB左右。从旧区块结构来看,这还是秉承了中本聪当初每个区块不超过1MB的限制。

Taproot

利用比特币的操作码比如OP_IF,我们可以为比特币的花费脚本设置复杂的条件,比如时间锁、多重签名等。然而,复杂的花费条件往往需要多次输入和签名进行验证,从而增加区块负载并降低交易速度,同时暴露所有的支付条件,导致隐私泄露。

Taproot使用MAST来增强比特币,用户使用Merkle Trie来表示花费条件。每个叶节点代表一个花费脚本,在花费过程中,只需要提供实际执行的脚本和相应的Merkle Path,而无需透露其他条件。这可以减少区块空间消耗并提高隐私性。

Taproot升级还引入了Schnorr签名,该签名具有加法同态特性,允许签名聚合和批量验证,从而提高整体每秒交易数(TPS)。Schnorr签名的聚合签名优势大大简化了验证多重签名交易的逻辑。以前,ECDSA签名需要将多个签名发送到链上才能与脚本匹配,而Schnorr签名只需要将单个链下聚合签名发送到链上,从而减少了多重签名支付对链上空间的使用。

通过将Schnorr签名与MAST相结合,并使用支付到合约(Pay to Contract,P2C)概念,通过MAST根提交复杂的合约代码,以调整并生成支持单一Schnorr签名支付的标准比特币公钥。

有趣的是,由于Schnorr签名的单个签名和多个签名在链上看起来相同,因此复杂脚本、多重签名和单次签名的逻辑在链上无法区分,从而进一步增强了隐私性。

结论

比特币的可扩展性解决方案反映了其在提高性能的同时保持去中心化和安全性的不断发展的方法。

最初,考虑增加区块大小,直接解决低交易率的问题,但引发了与节点成本和网络分叉相关的问题,对社区共识提出了挑战。

SegWit的引入标志着一项重大进步,通过软分叉优化区块容量,确保向后兼容性并避免分裂的硬分叉。

随后,Taproot通过MAST和Schnorr签名进一步完善了可扩展性和隐私性,减少了交易空间并提高了验证效率。更重要的是,Taproot可以在比特币上实现复杂的脚本编程,为未来的扩展尝试铺平了道路。

这些发展凸显了比特币谨慎而创新地向更具可扩展性和更强大的网络迈进,这对其作为全球支付系统的未来至关重要。然而,这些扩容方案的影响还不足以实现“点对点电子现金系统”的愿景。

丁丁打折网©版权所有,未经许可严禁复制或镜像 ICP证: 湘ICP备2023003002号-11

Powered by 丁丁打折网本站为非营利性网站,本站内容均来自网络转载或网友提供,如有侵权或夸大不实请及时联系我们删除!本站不承担任何争议和法律责任!
技术支持:丁丁网 dddazhe@hotmail.com & 2010-2020 All rights reserved