比较PSBT v0与v2的全局、输入和输出字段,说明逐步构造交易、版本识别、modifiable flags和兼容性边界。
PSBT v2把交易构造信息拆散到全局、输入和输出字段,便于多方增量协作。
字段对照
全局区保存PSBT版本、交易版本、fallback locktime以及输入输出数量;它不再依赖v0里的完整unsigned transaction字段。
先看结论
| 证据项 | 规范结论 |
|---|---|
| 1 | PSBT v2不再把完整未签名交易作为必需全局字段,而把版本、锁定时间、输入数和输出数拆为独立字段。 |
| 2 | PSBT v2把prev txid与output index放在输入字段,把amount与script放在输出字段;全局字段记录版本、锁定时间及输入输出数量。 |
| 3 | TX_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签名流程、输出描述符。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。