PSBT v2与v0的字段有什么区别? 图 1
PSBT v2与v0的字段有什么区别? · 图 1

比较PSBT v0与v2的全局、输入和输出字段,说明逐步构造交易、版本识别、modifiable flags和兼容性边界。

PSBT v2把交易构造信息拆散到全局、输入和输出字段,便于多方增量协作。

字段对照

全局区保存PSBT版本、交易版本、fallback locktime以及输入输出数量;它不再依赖v0里的完整unsigned transaction字段。

先看结论

证据项规范结论
1PSBT v2不再把完整未签名交易作为必需全局字段,而把版本、锁定时间、输入数和输出数拆为独立字段。
2PSBT v2把prev txid与output index放在输入字段,把amount与script放在输出字段;全局字段记录版本、锁定时间及输入输出数量。
3TX_MODIFIABLE标志声明输入、输出或SIGHASH_SINGLE配对是否仍可修改,签名方仍需独立核对最终承诺范围。

构造流程

输入区分别记录previous txid与output index,还可带sequence、required time/height locktime等;输出区记录amount与script。字段归属不能混写。

可修改标志

TX_MODIFIABLE位告诉参与者后续是否允许增删输入、输出,以及是否存在SIGHASH_SINGLE配对约束。它是协调提示,不替代签名器检查sighash承诺。

客户端怎样实现

检查层需要留下的证据阻断条件
字段对照从BIP 370确认PSBT v2的正式定义,并保存网络、地址与读取时间定义或版本对不上时,不继续套用本文步骤
构造流程在原始返回、签名消息或交易指令中定位对应字段,不用界面缩写代替找不到原始值时,把结果标为未验证
可修改标志用BIP-174 PSBT v0复核实现行为,特别记录可选扩展与权限主体实现与规范语义不一致时,按具体部署重新评审
兼容性构造一个失败样例,确认客户端会明确拒绝而不是静默修正失败仍被显示为成功时,停止上线并补充状态校验

记录BIP-370 PSBT v2时,把“输入快照”和“判断结果”分开。该主题的快照包含原始bytes、字段单位、对象地址、区块高度与BIP 370版本;结果注明通过的规则和仍未知的兼容性。这样即使PSBT v2随后变化,也能复现当时的结论。

BIP-370 PSBT v2的测试至少覆盖正常路径、缺少构造流程、提交前状态改变及客户端不支持当前版本。前几类验证可修改标志边界,最后一类确认产品不会删除字段或改走未经用户确认的回退路径。

规范和实现材料

来源用途
BIP 370正式接口、字段与规范语义
BIP-174 PSBT v0实现路径、兼容性或安全边界

BIP-370 PSBT v2的资料访问口径为2026-07-17;遇到Draft状态、可升级部署或可变网络参数,应在后续复核日重新读取BIP 370。

兼容性

跨设备流程先交换能力,再决定使用v0或v2。转换工具必须保留未知字段,并让签名器重新核对最终交易;静默删除字段会破坏多方审计。

仍需单独确认

支持PSBT v0不代表支持v2,跨硬件钱包传递前应明确版本和未知字段保留行为。 相邻知识可继续对照PSBT签名流程输出描述符