比特币原生扩容方案回顾:SegWit和Taproot

时间:2024-09-25 编辑: 浏览:(327)

作者:Chakra;翻译:0xjs@

比特币是世界上最早、最安全、最去中心化、市值最高的区块链。然而,其较低的每秒交易量 (TPS) 和有限的编程能力经常受到批评,难以支持大规模应用,严重阻碍了比特币生态系统的发展。作为比特币生态系统的建设者,本文将带领你了解比特币扩容解决方案的过去、现在和未来。

本文是比特币可扩展性系列文章的第一篇,主要介绍比特币主网上历史上实现的原生扩容解决方案。下一篇文章将讨论具有更高扩容性的链下扩容方案。敬请期待。

增加区块大小限制

2010 年,中本聪在bitcoin-core中引入了1MB 的区块大小限制。之后十多年这一明确限制一直未曾修改。

有趣的是,中本聪并没有公开解释他提出区块大小限制的原因,这个限制“隐藏”在代码合并的 PR 中,没有详细解释。在中本聪离开几年后,社区在区块大小限制问题上出现了严重分歧,对更大区块的需求引发了广泛的讨论。

区块越大,容纳的交易数量越多。假设共识时间不变,区块越大,TPS 越高。

为什么TPS这么重要?因为在1MB的区块限制下,以当时的交易规模,每秒能完成的交易数量只能有3-7笔,对于大规模应用是远远不够的,无法实现比特币“点对点的电子现金系统”的愿景。

然而,更大的区块也带来不同程度的问题。

首先,更大的区块对存储、计算和带宽等硬件的要求更高,导致全节点的运营成本增加。比特币的历史交易数据迅速扩展,需要新的全节点花费更多时间与网络同步。这些要求降低了用户操作全节点的意愿,从而降低了去中心化程度。

其次,区块越大,节点间的同步时间越长,出现孤块的可能性越大,导致区块重组更加频繁,分叉风险增大,大大降低安全性。

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

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

不幸的是,分裂确实发生了。尽管社区内部缺乏共识,但一些矿工和开发人员还是更改了客户端中的区块大小限制,最终导致网络分叉。2016 年,Bitcoin Classic 采用 BIP 109 将区块大小限制分叉至 2MB;2016 年,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 可以在比特币上实现复杂的脚本编程,为未来的扩展尝试铺平了道路。

这些发展凸显了比特币谨慎而创新地向更具可扩展性和更强大的网络迈进,这对其作为全球支付系统的未来至关重要。

然而,这些扩容方案的影响还不足以实现“点对点电子现金系统”的愿景。

最新 更多 >
  • 1 莱特币发行价格和发行总量是多少?

    莱特币发行价格和发行总量是多少?莱特币(Litecoin)是一种基于区块链技术的加密货币,它于2011年由前谷歌工程师查理·李(Charlie Lee)创建。与比特币类似,莱特币也是通过挖矿产生并进行交易的。那么,莱特币的发行价格和发行总量是多少呢?发行价格莱特币的发行价格是指在初始阶段交易时所需支付的货币金额。与比特币不同,莱特币在初始阶段没有进行ICO(首次代币发行)或类似活动,而是通过挖矿的

  • 2 ciph币怎么买卖

    如何购买和出售 Ciph 币作为一种加密货币,Ciph 币在数字货币市场越来越受欢迎。购买和出售 Ciph 币是一种投资和交易方式,本文将介绍如何购买和出售 Ciph 币。购买 Ciph 币购买 Ciph 币的第一步是选择一个可靠的数字货币交易平台。确保这个平台具有良好的声誉、安全性高以及提供 Ciph 币的交易功能。在注册一个账户后,您需要进行实名验证和绑定身份证、银行账户或其他付款方式。这些步

  • 3 zch币最高价是多少?zch币值得入手吗?

    zch币最高价是多少?zch币是一种数字货币,它在近期的市场中表现非常出色。根据数据显示,zch币的最高价是XXX(填入具体金额)。这个数字令人惊讶,引起了很多投资者的关注。zch币值得入手吗?对于是否值得入手zch币,我们可以从多个方面来进行分析。首先,我们需要考虑zch币的背景和技术基础。zch币是基于区块链技术的加密货币,具有去中心化、不可篡改等特点。其背后的团队也是经验丰富的专业人士,具备

  • 4 zbv币最高价是多少?zbv币值得入手吗?

    ZBV币最高价是多少?近年来,随着加密货币市场的兴起,越来越多的人开始关注和投资不同种类的数字货币。其中,ZBV币作为一种新兴的加密货币,在市场上引起了广泛的关注和讨论。那么,ZBV币的最高价是多少呢?根据市场数据,ZBV币的历史最高价是XX美元。作为一种加密货币,ZBV币的价格有很大的波动性。在过去的几年里,ZBV币的价格经历了多次大幅度的上涨和下跌。尽管如此,它的最高价仍然给投资者带来了相当可

  • 5 CHESS币交易所有哪些

    CHESS币交易所有哪些CHESS(Cryptocurrency and High-Speed Solution)是一种基于区块链技术的数字货币,它的交易行为可以在CHESS币交易所进行。CHESS币交易所是一个在线平台,旨在促进CHESS币的买卖和交换。1. 买卖CHESS币首先,CHESS币交易所提供了买卖CHESS币的功能。交易所上有一个订单薄,列出了想要买入或卖出CHESS币的用户和他们提

  • 6 CLU币怎么交易

    CLU币怎么交易CLU币是一种加密货币,类似于比特币和以太坊。它是由一家名为CLU Foundation的区块链公司开发和发行的。CLU币的交易方式类似于其他加密货币,以下是如何交易CLU币的步骤:步骤一:选择合适的交易平台首先,你需要选择一个合适的交易平台来买卖CLU币。有许多加密货币交易平台提供CLU币的交易功能。你可以通过互联网搜索并评估不同的交易平台,以选择一个安全、值得信赖和易于使用的平

  • 7 CHO币去哪里交易

    CHO币的交易去向CHO币(Capital Holdings Options)是一种新兴的数字货币,它基于区块链技术,旨在提供更安全、高效的交易和投资平台。对于拥有CHO币的人来说,了解CHO币可以在哪里交易是非常重要的。本文将介绍一些常见的CHO币交易场所,供您参考。1. 加密货币交易所加密货币交易所是最常见的CHO币交易场所之一。这些交易所是专门用于交易各种数字货币的在线平台。您可以通过在加密

  • 8 CHER币交易所有哪些

    CHER币交易所有哪些CHER币(CHER)是一种加密数字货币,受到了越来越多投资者的关注。想要购买或交易CHER币,你需要到一个CHER币交易所进行操作。下面将介绍一些常见的CHER币交易所。1. ABC交易所ABC交易所成立于2017年,是一家知名的加密货币交易所之一。它提供了CHER币与其他主要数字货币(如比特币、以太坊等)的交易对。ABC交易所平台简洁易用,支持快速充值和提现,同时也提供了

  • 9 CMFI币去哪里买

    CMFI币是什么?CMFI币是一种加密货币,全称为CMFI Token。它是基于区块链技术发行的数字资产,用于支持CMFI平台的生态系统。CMFI币具有快速、安全、去中心化等优点,使其成为越来越多人关注和投资的对象。选择一个可靠的交易平台如果你有兴趣购买CMFI币,你可以选择一个可靠的交易平台。在选择交易平台时,你需要考虑以下几个关键因素:1. 安全性:确保交易平台具有高级加密技术和安全防护措施,

  • 10 CHT币用什么app买

    购买CHT币的App介绍CHT币是一种基于区块链技术的加密货币,它的发行和交易是通过特定的App实现的。在购买CHT币之前,我们需要了解一些可以用来购买该币种的App。下面将介绍一些常用的购买CHT币的App,并对它们进行简要的介绍。1. CoinbaseCoinbase是全球最大的加密货币交易平台之一,该App提供了CHT币的购买、存储和交易功能。用户可以通过在Coinbase上注册账户,并完成