01什么是SegWit?
SegWit 引入验证花费所需的 witness 数据,与 txid 使用的序列化分开。它是通过 soft fork 部署的共识变更,并非不再验证签名。
02两个标识符与区块承诺
txid 不包含 witness;wtxid 包含带 witness 的新序列化。因此相关 SegWit 输入的签名数据变化不会改变 txid,但不是禁止一切交易修改。coinbase 中的 witness commitment 将这些数据绑定到区块,验证节点仍会检查。 [BIP 141: Segregated Witness]
03重量而非简单兆字节
BIP 141 将重量定义为基本大小的三倍加总大小,区块上限为 4,000,000 weight units。基本字节占四单位,额外 witness 字节占一单位。虚拟大小为重量除以四并向上取整;实际字节数依赖区块组成。 [BIP 141: Segregated Witness]
04地址不是全部协议
P2WPKH 和 P2WSH 使用 witness 版本 0,可原生使用或嵌入 P2SH。bc1 前缀不能独自决定全部花费条件:Taproot 使用版本 1。SegWit 不保证匿名或绝对手续费总是更低,交易结构和所选费率仍重要。 [BIP 141: Segregated Witness] [BIP 341: witness version 1]
↗结合上下文阅读
要获得更完整的理解,请将本词条与以下词条结合阅读: 交易, 交易费, Lightning Network, Taproot. 反向关联还来自: 交易, 交易费, Taproot, Lightning Network.