分享百科

隔离见证

隔离见证(Segregated Witness, SegWit)

隔离见证(SegWit)是一个由多个 BIP(141、142、143、144 和 145)描述的软分叉,其主要用意是优化比特币交易和区块的结构,将交易的签名(也叫 “脚本签名(scriptSig)”、“见证(witness)” 或 “解锁脚本(unlocking script)”)从交易中移到一个独立的结构中。它不仅允许降低比特币交易的数据量大小(因此能让一个区块塞下更多的交易),也能解决 “交易延展性(transaction malleability)” 问题(也就是阻碍闪电网络实现的缺陷),对支付通道和闪电网络这样基于比特币交易结构的技术来说极为关键。

SegWit在2017年8月24日正式激活,成为比特币网络的一部分。

隔离见证改进点

提高扩展性

通过分离见证数据,增加了每个区块能容纳的交易数量,从而提高了比特币网络的处理能力。

包括两个主要部分:输入和输出。 如果没有隔离见证,则签名数据最多可占用一个区块的65%。使用隔离见证,会把签名数据从交易的输入中移除。这使有效区块大小从1 MB增加到大约4 MB。

此外,隔离见证还引入了区块权重(weight)的概念。将区块权重视为替代区块大小的概念。本质上,区块权重是一种度量单位,它包括所有的区块数据:包括交易数据(1 MB)和签名数据(最大 3 MB)。

交易延展性问题修复

交易延展性问题 (Transaction Malleability) 是比特币交易 A 发出之后,在还没有被确认之前,攻击者通过使用新的签名数据,使得一笔交易的唯一标识——交易哈希发生了改变,就形成了新的交易 B ,假如交易 B 先被记录到比特币账本中,那么交易 A 会因为双重支付问题,被验证为不合法,从而拒绝

使用隔离见证,签名不再是交易数据的一部分,从而消除了更改此数据的可能性。此修复程序支持在区块链社区内进行进一步的创新,包括二层协议智能合约

✍️更新/纠错
登链社区