descriptorprocesspsbt 可用输出描述符为 PSBT 补充 UTXO、派生信息并尝试签名。本文按参数、补全过程、complete 判断和协作签名边界给出可复现操作清单。
一份 PSBT 可能有交易骨架,却缺少输入 UTXO、派生路径、签名或最终脚本。descriptorprocesspsbt 的作用是拿描述符作为证据目录,把能够确定的信息补入 PSBT,并在条件允许时签名与最终化。它不是万能修复器,缺少材料时必须明确停在哪一层。
交接契约:先冻结处理前的 PSBT
每次处理都从一个不可变副本开始,记录 PSBT 摘要、参与方、描述符 checksum、允许的派生范围和约定 sighash。没有这份交接契约,就无法判断返回结果是“补齐了预期信息”还是“混入了意外密钥材料”。
descriptorprocesspsbt用一组输出描述符更新PSBT,可补充匹配输入所需的UTXO、密钥派生信息,并在具备私钥时签名。
装配状态机
原始PSBT
→ 描述符匹配
→ 补UTXO与派生信息
→ 可用私钥签名
→ 尝试finalize
→ complete=true时输出可广播候选hex
每个箭头都必须保留前后差异。第一位参与方只补元数据、第二位参与方添加签名,是完全正常的协作方式;工具不应为了追求一次 complete=true 而绕过职责分离。
参数台
| 观察项 | 正确用途 | 常见误读 |
|---|---|---|
| psbt | 待补全的基础对象 | 先保留输入哈希用于前后比较 |
| descriptors | 匹配脚本与密钥来源 | 不得混入来源不明的私钥描述符 |
| range | 派生搜索范围 | 默认范围不一定覆盖真实索引 |
| sighashtype | 签名承诺范围 | 必须符合参与方约定 |
| bip32derivs/finalize | 保留派生与尝试最终化 | 默认 true 也要显式确认 |
range默认上限为1000,bip32derivs与finalize默认true;调用方应按描述符类型、派生范围和协作签名流程显式确认这些参数。
range 的上限要覆盖真实索引又不能无限放大;sighashtype 属于签名策略;bip32derivs 和 finalize 虽有默认值,仍应在交接单中显式记录。参数缺省不是“无需讨论”,而是由客户端替你做了决定。
失败分流,不把 false 当成无效交易
- 缺UTXO或派生信息:检查描述符和range。
- 信息齐备但缺签名:移交下一签名方。
- 签名齐备但未finalize:检查脚本与finalize参数。
- complete=true且返回hex:仍需做策略与输出复核。
返回包含更新后的psbt与complete布尔值,完成且finalize成功时还可返回hex;complete为false并不等同于交易无效,通常表示仍缺签名或元数据。
缺元数据时回查描述符和范围,缺签名时移交正确参与方,缺最终脚本时检查 finalize 与脚本条件。只有完成构造后,才进入费用、输出、策略接受与广播层;这些后续检查不能被 complete 替代。
一份差异样例
多签流程中,第一位参与方可能只补齐派生信息,第二位参与方再加入签名。此时第一次返回 complete=false 完全合理。只有当所有必需签名和最终脚本都齐备,且 finalize 路径成功时,hex 才能作为后续广播候选。
复核表至少列出每个输入新增的 witness/non-witness UTXO、BIP32 派生、部分签名和最终字段。输出端则核对收款、找零、金额与脚本。若差异表出现来源无法解释的私钥或描述符,立即停止。
范围故障演练
创建一份测试 PSBT,故意把真实派生索引放到默认范围之外。让复核者先根据 complete=false 找原因,再扩大到最小必要范围。修复后逐输入比较新增字段,确认没有引入与目标脚本无关的密钥材料。
复核者应解码处理前后的 PSBT,逐输入列出新增、未变和仍缺失字段;如果只验证 complete 一个布尔值,复核不合格。
PSBT 的“完整”只针对构造和签名状态,不保证费用合理、输出地址正确、节点接受或网络确认。最终广播前仍要解码交易、核对金额与找零,并使用本地策略测试。
当前未知边界:描述符范围、sighash类型和参与方签名策略由具体钱包流程决定,文章示例不能替代对真实PSBT输入逐项核验。
descriptorprocesspsbt 操作来源
- Bitcoin Core descriptorprocesspsbt:支撑“descriptorprocesspsbt如何补全”中的第 1 组字段定义与边界判断;访问于 2026 年 7 月 26 日。
- Bitcoin Core RPC index:支撑“descriptorprocesspsbt如何补全”中的第 2 组字段定义与边界判断;访问于 2026 年 7 月 26 日。
继续阅读 Bitcoin Core PSBT流程、描述符派生地址、bumpfee费用调整。本文讨论 PSBT 处理证据,不替代真实交易的金额、费用和广播复核。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。