descriptorprocesspsbt如何补全? 图 1
descriptorprocesspsbt如何补全? · 图 1

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 操作来源

  1. Bitcoin Core descriptorprocesspsbt:支撑“descriptorprocesspsbt如何补全”中的第 1 组字段定义与边界判断;访问于 2026 年 7 月 26 日。
  2. Bitcoin Core RPC index:支撑“descriptorprocesspsbt如何补全”中的第 2 组字段定义与边界判断;访问于 2026 年 7 月 26 日。

继续阅读 Bitcoin Core PSBT流程描述符派生地址bumpfee费用调整。本文讨论 PSBT 处理证据,不替代真实交易的金额、费用和广播复核。