什么是隔离见证 (SegWit)?

作者: Kraken Learn team
11 分钟
2024年11月26日

比特币SegWit初学者指南 💭

隔离见证(SegWit)是对比特币源代码于2017年8月1日进行的升级。

尽管许多人认为这对比特币区块链是一次改进,但SegWit遭到了强烈反对,导致社区分裂。 

问题的核心在于矿工的盈利能力与网络开发者之间的竞争利益,后者希望使比特币的使用更便宜、更快速。

这种紧张关系在社区内造成了裂痕,最终导致网络首次用户激活的软分叉和敌对分裂。这一分裂催生了一系列新的比特币分叉项目,包括比特币现金。

迄今为止,SegWit仍然是比特币历史上最具争议的事件之一。但它也被证明是协议长期可行性最重要的更新之一。 

每年,比特币社区的许多人庆祝8月1日为“比特币独立日”。这一事件标志着人民的意志战胜了已建立的比特币矿业公司的集中利益。

让我们探讨这些事件发生时的情况,并解读SegWit背后的历史。

BTC icon
$70,676.00
-0.20%
24小时
btc

SegWit之前的比特币 ⏮️

在SegWit激活之前,比特币的区块容量多年来一直没有变化。区块容量是指在给定区块内可以记录的最大交易数量。

当比特币在2009年推出时,其创造者Satoshi Nakamoto并没有设定比特币区块的大小参数。

然而,在2010年,Nakamoto在未获得其他比特币贡献者批准的情况下,秘密添加了1兆字节(MB)的区块大小限制。

许多人认为 Nakamoto设置这个限制是为了防止未来可能影响网络的分布式拒绝服务(DDoS)攻击

这一固定的区块容量上限对比特币的扩展潜力产生了不利影响。

低吞吐量和慢交易时间

只有有限数量的交易可以适应比特币现在采用的相对较小的1MB区块。这一小容量意味着比特币网络每秒只能处理约2-3笔比特币(BTC)交易——与能够处理数万笔交易的传统数字支付网络相去甚远。

此外,要将一组交易视为有效的一部分,必须获得六次确认,作为比特币挖矿过程的一部分。换句话说,在相关区块被最终确认之前,必须在区块链上添加六个新块。以平均十分钟的区块时间计算,这意味着比特币区块确认大约需要一个小时。

当时,只有少数“密码朋克”密码学家知道比特币,这并不一定是一个大问题。但是,如果比特币网络要成为一个全球“点对点电子现金系统”,正如中本聪在比特币白皮书中设想的那样,事情需要改变。

费用高

比特币的低吞吐量受限于其小的区块容量,这意味着费用也比今天高得多。

这里有一个简单的方法来理解这个问题。想象一下,你在观看完一场戏剧表演后,站在人群中。剧院里的每个人都想同时打车回家。如果周围有很多出租车,大家应该很容易就能回家。但是,如果只有少数出租车,人们可能会试图向出租车司机支付更高的价格,以激励司机先送他们回家。根据需求,出租车的价格可能会显著高于正常费率。

比特币费用遵循这些供需原则。如果很多人希望同时处理他们的交易,有些人可能会选择支付更多的费用,以便让矿工更快地处理他们的交易。在比特币网络高使用期间,拥堵可能导致用户之间的竞争,从而导致交易费用急剧上升。

交易可变性

比特币区块工作方式的另一个固有细微差别被称为交易可塑性。在SegWit之前,人们可以在交易获得足够的区块链确认之前更改交易的ID。

将与特定交易相关的信息通过哈希函数处理会生成一个交易ID。您可以在我们的文章中了解更多关于哈希函数的信息加密货币如何使用密码学?

但为了简单起见,你可以将这些交易 ID 视为数字指纹,用于识别和引用区块链上的交易。

更改交易 ID 会创建一个全新的哈希,这有时会使区块链客户端软件感到困惑。所有节点运行客户端软件以与区块链交互,并执行重要角色,例如数据验证。

比特币代码中的这种可变性漏洞为恶意攻击打开了大门。最臭名昭著的交易可变性攻击案例之一是 2014 年的 Mt. Gox 交易所黑客事件——因其成为历史上最大的比特币黑客事件而闻名。

专家报告 一名黑客或一组黑客,耗尽了 Mt. Gox 交易所的比特币钱包。他们部分是通过更改提款的交易 ID 来做到这一点的。 

交易可变性攻击使得提款在区块链上看起来没有被确认,而实际上它们是被确认的。

这种漏洞,加上其他攻击向量,使黑客能够从交易所 siphon 超过 840,000 BTC。

SegWit 做了哪些改进?⚙️

比特币贡献者 Pieter Wuille 于 2015 年在香港的比特币活动中首次提出 SegWit 升级。

他的解决方案在三个方面都是创新的。SegWit 改善了比特币的可扩展性,消除了可变性,并允许节点采用新的交易结构。最重要的是,这可以在不硬分叉网络的情况下实施。

分开的数字签名和交易信息

Wuille 的提案通过将 "见证" 数据 "隔离" 出区块并将其移动到 coinbase 交易中,增加了比特币区块容量。Coinbase 交易是每个新比特币区块内的第一笔交易。Coinbase 交易负责将新铸造的加密货币作为 比特币挖矿 过程的奖励投入流通。

成功赢得比特币基于密码学的工作量证明竞争的矿工,作为 "区块奖励" 获得这些新铸造的代币。

见证数据,也称为 ScriptSig 或解锁脚本,包括解锁转移比特币所需的数字签名和公钥信息。SegWit升级为交易的ScriptSig部分引入了一个单独的“见证字段”。

通过将数字签名信息与交易输入字段分开处理,每个区块中可以容纳更多的交易空间。

每个区块的更多交易意味着更高的交易吞吐能力。因此,比特币可以处理每秒7-10个SegWit交易,而不是每秒2-3个交易。容量的增加也意味着更低的费用,因为比特币区块链可以处理更高数量的交易。

尽管分开处理,但重要的是要注意节点仍然在链上处理交易数据和见证数据。没有使用侧链或第二层协议。

区块权重

在SegWit之前,矿工通过大小(以字节为单位)来测量比特币区块。当区块同时包含见证和交易数据时,这个系统运作良好,但在它们分开时遇到了问题。

为了解决这个问题,升级引入了一种称为区块权重的度量来管理区块的大小。

根据这个概念,每个1MB的区块由4,000,000个权重单位(WU)组成。每个交易根据以下公式赋予一个权重:

基础交易大小(以字节为单位,未包含见证数据)* 3 + 总交易大小(以字节为单位)。

通过从计算中移除见证字段数据,SegWit交易的权重大大降低。另一方面,非SegWit交易仍然包含见证数据。这意味着非SegWit交易的权重总是比SegWit交易重4倍。

这个概念理论上将比特币区块的大小从1MB增加到4MB,如果一个区块几乎完全由见证数据组成。然而,这在实践中是不可能的。

加权系统的主要好处是它激励矿工处理主要包含SegWit交易的区块。假设SegWit交易的费用与传统区块相同,矿工可以在每个区块中处理更多的SegWit交易。他们每个区块处理的交易越多,赚取的费用就越多。

对双方都是双赢。或者你会这么认为。

不再有交易可塑性问题

在SegWit结构下,哈希交易ID仅包含交易信息,而不包含见证字段信息。

这一变化消除了比特币交易中可修改的组件,之前该组件使得可塑性攻击成为可能。

因此,像比特币闪电网络这样的二次扩展解决方案成为可能。

 

为什么SegWit会引发争议?🤔

许多开发社区的人认为SegWit并没有足够解决比特币的扩展问题。

反对SegWit激活的主要论点包括:

  • 比特币每秒增加7-10笔交易的吞吐量仍然远远不够,无法满足去中心化的全球支付系统。
  • 费用仍然相对较高,使得微交易在经济上不可行。
  • 矿工仍然可以处理传统交易区块,这意味着可塑性仍然是一个威胁。
  • 后来发现,SegWit会否定比特大陆的ASICBOOST机制;这是一种用于显著提高矿机效率的漏洞。

在Wuille提出建议大约一年后,他和其他比特币核心开发者,包括Eric Lombrozo,准备了代码以在即将到来的比特币核心0.13.1更新中上线。激活SegWit的唯一剩余步骤是矿工开始处理新的SegWit区块。 

为了巩固其实施,超过95%的比特币矿工需要在其启动的前两周内表示对SegWit的支持——考虑到当时的情况,这是一个重大障碍。

用户激活的软分叉

不用说,像比特大陆这样的大型矿业公司对提议的变更仍然不满,并拒绝支持SegWit的激活。

在2017年初,一位化名为“Shaolinfry”的开发者提出了比特币节点执行软分叉的可能性,在一个在线比特币开发者论坛中。 

在比特币网络上,从未尝试过用户激活的软分叉,但这将允许开发者在矿工支持约51%的情况下推动SegWit。那些拒绝支持新块的人面临着被节点拒绝其块的风险。这个解决方案并非没有风险。如果SegWit未能获得矿工的足够支持,结果将不可避免地导致链分裂。

反对SegWit的人提出了一个不同的SegWit 2X硬分叉升级。这个升级将实施SegWit 将比特币的区块大小增加到2MB。

与之前的升级不同,SegWit 2X将不与之前版本的比特币客户端向后兼容。这些变化意味着节点必须更新其软件才能继续在网络上运行。

隔离见证与纽约协议 🗽

行业顶尖公司在2017年共识会议上会面,并共同签署了一份名为“纽约协议”的备忘录。该文件列出了SegWit在夏季上线的计划在11月将比特币的区块大小增加到2MB。

在11月之前,Shaolinfry起草了两个比特币改进提案(BIPs);BIP148和BIP149。前者代表了一种明确的解决方案;为SegWit块发出信号支持,否则节点将拒绝你的块。后者为矿工提供了更长的时间框架,以便上船,设定了明年7月的激活截止日期。

随着日期的临近,比特大陆的工程师James Hillard提出了一个新的BIP;BIP91。他的解决方案旨在使SegWit 2X和BIP148彼此兼容。为什么要冒着链分裂的风险去竞争两个SegWit更新,而不让它们都兼容呢?

在8月1日,足够的矿业支持巩固了SegWit的激活。然而,纽约协议的第二阶段未能获得同样的支持。

未能将比特币的区块大小增加到2MB导致了比特币现金(BCH)的形成——这是一个从比特币区块链分叉的新项目。

$470.97
+1.45%
24小时
bch

比特币独立日的重要性

隔离见证的引入以及社区拒绝增加区块大小的决定标志着比特币社区的一个重要时刻。

隔离见证展示了在比特币区块链变更时共识的重要性,以及比特币所提供的权力去中心化的程度。

没有任何个人能够接管网络并推动他们的提案。

相反,社区进行了辩论、迭代,并继续作为一个集体群体进行达成共识的漫长过程——而不是在单个个人的指导下。

开始购买比特币

现在你已经了解了隔离见证,你准备好继续你的加密之旅并购买比特币了吗?

请查看我们的Kraken学习中心指南,获取有关如何购买比特币(BTC)立即注册Kraken账户的更多信息。