SIGHASH_ALL 覆盖所有输入和输出,钱包几乎总是使用它;NONE 对输出不作约束,SINGLE 只覆盖与该输入索引相同的输出,ANYONECANPAY 允许他人添加输入(类似众筹)。Taproot 的 SIGHASH_DEFAULT(0x00)效果与 ALL 相同,并省去这个字节。BIP-143(SegWit v0)和 BIP-341(Taproot)定义了摘要的构造方式,其中包括输入金额,因此硬件钱包能够验证手续费。
PSBT 中出现不寻常的标志是危险信号:签名者一旦被诱骗使用 SIGHASH_NONE 或 SINGLE,别人就能把资金转到别处。除非协议确实需要,签名者应当拒绝非默认标志。