扩展Marker和Flag字段

示例序列化交易的下两个字段是作为隔离见证(SegWit)软分叉对比特币共识规则进行的修改的一部分添加的。这些规则根据 BIP 141 和 BIP 143 进行了修改,但扩展的序列化格式在 BIP 144 中定义。

如果交易包含见证结构(我们将在第133页“见证结构”中描述),则标记必须为零(0x00),标志必须为非零。在当前的P2P协议中,标志应始终为1(0x01);备用标志保留用于以后的协议升级。

如果交易不需要见证堆栈,则标记和标志不得存在。这与比特币交易序列化格式的原始版本兼容,现在称为传统序列化。有关详细信息,请参阅第142页“传统序列化”。

在传统序列化中,标记字节将被解释为输入数量(零)。一笔交易不能有零个输入,因此标记向现代程序发出了使用扩展序列化的信号。标志字段提供了类似的信号,并且还简化了将来更新序列化格式的过程。

Last updated