随着比特币网络的应用规模日益扩大,目前面临诸多困难。向链中添加更多块必不可少,但这些区块每10分钟就要创建一次,最大大小限制为1兆字节(MB)。这种限制导致了交易延迟;此外,处理和验证交易都需要花费很长时间,有时甚至达数个小时。
Pieter Wuille介绍了一种称为隔离见证(SegWit)的扩容解决方案。该过程涉及将签名数据(见证)与交易数据分离/隔离,以便在数据块上存储更多的交易空间。
如果不实施SegWit,随着比特币的日益普及和交易数量的持续增多,比特币交易验证几乎不可能实现。
此外,SegWit还修复了比特币协议中的一个漏洞;交易可锻性缺陷。可锻性缺陷允许节点篡改网络上交易的TXID。通过从区块的输入字段中删除所谓的“签名数据”,该缺陷得以解决。
总之,
· 隔离见证致力于防止非故意的交易可锻性,同时允许存储块内的更多交易。
· SegWit还旨在解决区块链规模限制的问题,因为规模限制会减缓比特币交易速度。
隔离见证是一种工程解决方案,旨在增加数据块的存储大小,以允许在不增加数据块大小限制的情况下进行更多交易(如下所述)。SegWit通过将数据块中包含的签名与交易记录分离,并将签名存储在不同的位置来进行操作。
通常,数据以兆字节存储,但SegWit引入了块权重的概念(即块中包含的所有数据的度量,包括签名和交易数据)。由于非SegWit块的大小限制为1MB,一些人认为1MB等于1M重量单位(WU),但重量单位和兆字节并不完全相同。
例如,2022年1月25日开采了一个区块。容量为1558 MB,重量为399.3万WU。几分钟后,另一个区块被开采出来,容量为1.457 MB,重量为399.3万WU。同一天,又有一个区块被开采出来,容量为1.188 MB,重量为3.993万WU。这表明不一定存在以兆字节为单位的大小限制,而是基于重量单位的限制,将块的基本大小和总大小考虑在内。
图源:buybitcoinworldwide.com
比特币网络上的每个区块都包含有限数量的交易,每秒仅处理约七个区块。因此,每个数据块必须在不增加数据块大小的情况下承载尽可能多的交易。
SegWit的主要功能是重新排列块数据,将数字签名与交易数据分开存储。在标准术语中,SegWit是见证(签名数据)与交易数据的分离。这样可以在单个块中存储更多交易。那么,隔离见证如何处理没有签名数据的有效交易呢?SegWit认为只有在验证块时才需要签名数据,验证后可以丢弃。它通过创建两个哈希来提供解决方案,一个用于名为“常规哈希”的交易数据,另一个用于名为“见证哈希”的签名数据和交易数据。隔离见证建议创建一个单独的Merkle树来存储见证哈希,同时可以丢弃数字签名。
在处理传统支付方式时,每分钟处理1000多笔交易,这一数量远远超过比特币网络,比特币网络每秒仅处理约7笔交易,交易处理和验证需要大量时间。如果没有开发出隔离见证,比特币网络将受到极大损害,甚至会随着网络使用人数的增加而不得不停滞发展。SegWit是作为交易问题的解决方案和区块链开发平台出现的。它由Pieter Wuille于2015年开发,随后几年在比特币区块链和其他网络上真正实施。
为什么隔离见证很重要?
隔离见证为区块链网络面临的许多问题提供了解决方案,例如:容量有限,交易速度低,存在安全漏洞等。
容量有限
容量有限问题在上文中已有所阐述。不过,在引入SegWit之前,签名数据可能占容量的60%(300万WU),而容量的剩余40%(100万WU)则需留给交易数据。通过将见证与交易数据分离,块可以存储更多交易,从而增加每秒处理的交易数量。
签名包含发送方确实拥有其打算转移资金的证据,并可以证明交易在发送方与接收方之间未被篡改。SegWit创建的块大小限制为4 WU。
交易速度低
通过增加块的大小以容纳更多交易,隔离见证提高了交易的速度,因为每秒将处理和验证更多交易。尽管开采区块所需的时间保持不变,但正在处理的交易数量可以更高。
存在安全漏洞
每个块携带的签名对于该块来说都具有唯一性,因此,如果一个子句被修改,整个输出将有所变化。这可以被视为某种安全漏洞。隔离见证保护签名不被篡改,并防止交易数据的可锻性。
隔离见证的限制
失效:隔离见证是一种假设签名不能实际存储,而是作为哈希存储的方案。如果以后需要验证这样的交易是否真的被签名,并且只剩下一个哈希,因为原始数字签名将被丢弃,这样就会出现一个问题,会使区块提供的信息不可靠。有关信息详见此处。如果交易有争议性,就不可能证明其真实性。
法律限制:隔离见证提供的解决方案存在发布不可信且可能被拒绝法律效力的记录的风险。从法律上讲,如果电子记录的存储形式不能准确复制/收回以供参考,则可以拒绝。像Coin Center主管Jerry Brit一样,一些人认为,由于缺乏数据而可能产生的问题被高估了。如果只有一个人持有数据,就足以证明交易的有效性。有关信息详见此处。
实施隔离见证的网络
比特币:SegWit达到了一个区块内实现的阈值。比特币挖矿池表示100%支持该提议。所有矿工和挖矿池都获得了一段宽限期,可以升级其采矿软件以激活隔离见证,之后,任何不支持变更的区块都会被拒绝。
莱特币:莱特币实现了隔离见证,并在验证交易的能力上得到了提升。在SegWit实施后,莱特币的价格也迅速上涨。
SegWit2x
与SegWit不同,Segwit2x(S2x)是一个需要硬分叉才能实现的方案。解决方案的重点只是将块的大小从1MB增加到2MB。不幸的是,由于比特币社区和核心开发者内部缺乏共识,该提案未能实施。
实施硬分叉会导致区块链代码发生完全变化,使旧区块与创建的新链不兼容。
图源:buybitcoinworldwide.com
结语
SegWit为加密货币领域存在的瓶颈性问题提供了有效解决方案,但风险很大。它能优化加密货币交易速度的优势使其成为不可或缺的概念/创新。同时,SegWit也在不断发展,以确保区块链网络在应用时能保持其安全性和记录有效性。
作者:Gate.io研究员
M. Olatunji 译者:
Joy Z.
声明:
*本文仅代表研究员观点,不构成任何交易建议。
*本文内容为原创,版权为Gate.io所有,如需转载请注明作者和出处,否则将追究法律责任。