什么是隔离见证SegWit?SegWit的新脚本类型详解
2024-11-03分类:区块链技术 阅读()
隔离见证,通常称为 SegWit,代表了 2017 年推出的比特币核心协议的关键升级。SegWit 最初是作为解决比特币扩容挑战和特定漏洞的一种手段,带来了许多重大改进。该协议最重要的成就之一是纠正了交易可延展性问题并扩大了比特币的区块大小限制,从而促进每个区块中包含更多交易。此外,这次升级为比特币交易引入了两种创新的脚本类型,并提出了一种称为Bech32的新编码方法。
SegWit 的激活之路并非没有挑战,因为它在比特币社区内引起了相当大的争论。此类争议凸显了比特币固有的去中心化本质——一个依赖于全球参与者共识的生态系统。虽然中心化系统可以通过权威法令实施变更,但比特币需要对任何协议修改达成集体协议。尽管围绕隔离见证存在争议,但比特币表现出了弹性和适应性,凸显了其抵御矿工和知名社区人物不当影响的能力。
隔离见证如何运作?
隔离见证,通常称为 SegWit,代表了比特币交易协议的变革性更新。其核心意图是提升交易效率,解决无意识交易延展性。通过将交易分为两个部分,第一个部分包含发送者和接收者钱包地址,第二个部分保存交易签名或见证数据,SegWit 减轻了区块重量。这种分离确保了更多交易可以容纳在单个比特币区块中,从而提高吞吐量并降低交易费用。
与将区块链分成两条不同链的硬分叉不同,SegWit 是作为软分叉实现的。这意味着仍然存在一个统一的比特币区块链,接受来自启用 SegWit 和未启用 SegWit 的用户的块。通过将签名数据移出主交易块但保留其验证功能,比特币的完整性得以维护,从而允许在标准 1 MB 块内进行更多交易。结果是一个更快、更安全的比特币网络。
Bech32 地址标准是 SegWit 的补充。这些“原生 SegWit”地址可通过“ bc1 ”前缀进行识别,与以“1”开头的传统旧地址形成鲜明对比。通过采用 SegWit 和 Bech32 标准,用户将受益于交易费用的降低。值得注意的是,虽然存储在旧地址中的比特币在交易之前一直保留在那里,但这些地址的任何更改(作为交易的一部分)都将转换为 SegWit 地址。随着时间的推移,随着用户参与交易并接收资金到 SegWit 地址,他们的比特币余额将有机地转向这些更高效的地址。
SegWit如何解决交易延展性?
隔离见证,通常称为 SegWit,是比特币协议的重要升级,主要旨在解决交易可延展性问题。这个问题指的是交易数据在区块链上确认之前可能被修改。
深入研究交易延展性
想象一下约翰欠史蒂文 10 BTC 的场景。史蒂文恶意地在网络确认交易之前更改了约翰的见证数据。即使交易内容保持不变,交易 ID 也会发生变化。被操纵的交易得到确认后,原始交易将被取消。如果史蒂文谎称他没有收到 10 个比特币,约翰可能会重新发送比特币,甚至在没有意识到的情况下成为骗局的受害者。此类操纵对于网络来说是不可见的,因此很难预防。
SegWit 的问题解决方案
SegWit 的主要功能是将见证数据与交易数据分离,确保无法通过更改交易 ID 来更改见证数据。通过开发侧链来将见证数据与主区块链分开存储,SegWit 消除了此类恶意更改的可能性。
此外,SegWit 保持向后兼容性,这意味着在 SegWit 协议上运行的节点仍然可以与旧节点交互。这种升级是软分叉,不像硬分叉,硬分叉不向后兼容并且可以分裂区块链。 SegWit 的一个独特之处在于,虽然它对侧链上的所有见证数据进行加密,但根代码仍保留在主区块链上。
SegWit 和可扩展性:面向未来的匹配
除了解决交易可延展性之外,SegWit 还带来了显着的可扩展性优势。可扩展性是网络在不影响速度的情况下处理激增交易的能力。尽管许多区块链网络在扩张时速度会变慢,但隔离见证提高了比特币的效率。
共识过程是许多加密货币面临可扩展性挑战的根本原因。一笔交易在添加到区块链之前必须经过一半以上的比特币节点验证。随着节点数量的增加,达成共识需要更长的时间。然而,SegWit 缓解了这种担忧。此前,见证数据消耗了比特币区块约 65% 的空间。 SegWit 从主区块链卸载见证数据的方法为交易提供了更多空间,优化了网络的处理能力,而无需扩大比特币的区块链。从本质上讲,SegWit 简化了区块链,使其更加高效。
SegWit 有缺点吗?
SegWit,或称隔离见证,与比特币的演变密切相关,并引发了对其功效和意图的各种观点。
SegWit 的设计核心在于,以主链为参考,有选择地将某些交易数据存储在主链之外,从而优化区块容量。开发这种方法是为了缓解原始比特币设计固有的可扩展性问题。批评者认为,卸载数据会损害区块链的完整性,这表明这是一个固有缺陷系统的解决方法。
这种对 SegWit 的怀疑导致社区中的一小派出现分歧,发起了一次硬分叉,最终在 2017 年创建了比特币现金。本质上,比特币现金反映了 SegWit 实施之前的原始比特币模型。其可扩展性问题的解决方案侧重于扩大区块大小,确保所有交易数据保持在链上。这种方法与比特币核心开发人员的理念形成鲜明对比,他们将 SegWit 视为多层区块链系统的基础。
比特币的演变和比特币现金的兴起体现了关于如何最好地扩展和维护去中心化区块链网络的不同观点。各种其他加密货币和协议已经出现,每种都带来了新的解决方案和创新。虽然隔离见证仍然是比特币开发者社区的一个重要里程碑,但它也代表了区块链技术更广泛、不断发展的前景及其解决固有挑战的多种方法。
SegWit启用闪电网络
SegWit 实现的最具突破性的进步之一是闪电网络的集成,这是一种旨在解决比特币可扩展性挑战的第二层解决方案。闪电网络通过在各方之间创建链外支付通道,承诺更快的交易速度并降低费用。这种创新方法允许在主比特币区块链之外处理大量交易,仅将最终账户余额记录在链上。其结果是一个更高效、更精简的系统,能够在更短的时间内处理更大数量的交易。
然而,如果不激活隔离见证,闪电网络的全部潜力就无法发挥。这主要是因为闪电网络的基础严重依赖于未经确认的比特币交易。在比特币网络的初始状态下,这些交易很容易受到一种称为“交易延展性”的攻击。从本质上讲,攻击者可以在交易得到确认之前更改交易的唯一标识,从而造成差异和潜在的双重支出情况。
通过激活 SegWit,比特币社区解决了这一交易延展性问题。这样做不仅增强了网络的防御能力,还为闪电网络的安全部署铺平了道路。在不存在交易延展性风险的情况下,闪电网络可以平稳运行,确保用户可以更快、更安全、更经济地进行交易。
SegWit 的区块大小增加
SegWit 虽然被归类为软分叉,但却给比特币的核心共识规则之一带来了重大变化。此更改以保持向后兼容性的方式实施,旨在增加每个块内的交易容量。
在 SegWit 出现之前,每个区块都限制最多可容纳 1MB 的数据,当区块填满其最大容量时,相当于大约1650 个交易。然而,SegWit 引入了区块权重的概念,它取代了区块大小,成为区块内容的主要约束。如今,一个满载的区块容纳了近2700笔交易。
值得注意的是这种区别:在 SegWit 推出之前,每个块的大小都受到 1MB 的限制,这代表 100 万字节的交易数据。
相比之下,块重量使用更细致的测量系统,依赖于重量单位。在该系统中,交易的非Witness数据的一个字节相当于4个重量单位,而Witness数据的一个字节仅相当于1个重量单位。由于块的上限设置为 400 万重量单位,仅填充非 SegWit 交易的块仍将遵守之前的 100 万字节限制。
这种创新的测量方法确保区块大小的增量与软分叉的原理保持一致。此外,它还为比特币矿工和用户提供了采用 SegWit 的经济动机。使用 SegWit 进行交易的用户可以受益于交易费用的降低,因为见证数据占据区块重量限制的较小部分。同时,处理 SegWit 交易的矿工有机会在其区块中包含更多交易,从而导致费用收入增加。
SegWit 的新脚本类型
在比特币世界中,脚本类型代表通过其名为“Script”的专有脚本语言在区块链上交易比特币的不同方法。随着 SegWit 的出现,引入了两种新的脚本类型来利用见证人领域的功能:即 Pay-to-Witness-Pubkey-Hash (P2WPKH) 和 Pay-to-Witness-Script-Hash (P2WSH)。
基本见解:那些在 SegWit 时代之前就存在的脚本类型,包括 P2PKH 和 P2SH,被称为“遗留脚本类型”。
付费见证公钥哈希(P2WPKH)
在 SegWit 成立之前,最常用的脚本是 Pay-to-Pubkey-Hash (P2PKH),这是一种有效地将比特币锚定到公钥哈希的机制。 P2WPKH 是 SegWit 的一项创新,它反映了 P2PKH 的功能,但略有不同。在使用 P2WPKH 输出的情况下,基本组件(签名和公钥)被安全地存放在见证人中。与此同时,ScriptSig 保持不变。这一战略举措旨在避免交易 ID 的潜在可塑性。
付费见证脚本哈希(P2WSH)
继 P2PKH 之后,Pay-to-Script-Hash (P2SH) 作为一种重要的遗留脚本类型而受到关注。它使用户能够将比特币发送到一个独特的任意脚本的哈希值,称为“redeemScript”。任何配备此赎回脚本并符合其规定标准的人都可以收回此比特币。
在早期,P2SH 主要迎合多重签名交易,与裸多重签名等同类交易相比,它提供了更高的空间效率和自由裁量权。
输入 SegWit 的付费见证脚本哈希 (P2WSH)。其作案手法与 P2SH 密切相关。当提供见证脚本(SegWit 的赎回脚本版本)以及必要的签名和公钥时,P2WSH 输出将被解锁。与 P2WPKH 中的方法相同,P2WSH 输入需要一个空的 ScriptSig 字段,将脚本见证(包含重要签名和公钥)降级到见证区域。
封装的隔离见证
考虑到与之交互的钱包、应用程序和服务过多,向比特币协议引入新颖的脚本类型并不是一件小事。为了平滑过渡,促进 SegWit 的逐步采用,概念化了一种称为“包装的 SegWit”的中介。
本质上,包装的 SegWit 功能就像传统的 P2SH 脚本变体一样。它无缝集成了本机 SegWit 脚本(无论是 P2WPKH 还是 P2WSH),并将其扮演 P2SH 脚本的赎回脚本的角色。因此,生成的包装 SegWit 脚本被分类为 P2SH-P2WPKH 或 P2SH-P2WSH。
这样的安排确保即使那些未针对 SegWit 进行更新的系统也可以将比特币转移到 SegWit 地址。这些打包的 SegWit 交易的受益人有权通过 SegWit 输入使用比特币,这可能是节省费用的潜在途径。
Tags:
本栏推荐
标签云
-
CoinMarketCap 炒币 币圈 Rust MOVE IFO filecoin GRT near AAVE DAI Ethereum TVL 加密钱包 ERC20 区块链应用 零知识证明 区块链公司 什么是DeFi BOBA 区块链游戏 DePIN 比特币是什么 加密货币钱包 加密货币 FIL 比特币ETF 比特币挖矿 比特币减半 虚拟货币 比特币交易 加密货币投资 比特币投资 Coinw 数字货币交易所 区块链交易所 区块链开发 矿机 BitMEX OKCoin 比特币钱包 狗狗币怎么买 以太币 虚拟货币交易所 加密货币诈骗 中本聪 加密货币挖矿 BitoPro 什么是区块链 SHIB