走进 Web3

如何用 PSBT 完成比特币多签转账?

By Safeheron Team

用 PSBT 完成比特币多签转账分三步:协调软件创建待签交易并补全信息,生成 PSBT;把 PSBT 分发给签名人,各自在自己的设备上核对并签名;收回签名并合并,凑够门限后完成交易并广播。下面以企业最常见的 2-of-3 多签钱包为例。

签名前需要准备什么?

三位签名人各自在自己的硬件钱包或离线设备上生成密钥,只把扩展公钥交给协调软件。协调软件把三个扩展公钥和门限组合成一份钱包配置,由此生成多签收款地址,它自己不持有任何私钥。

这份配置还应该注册到每一台签名设备上,让设备知道另外两把公钥是什么,签名时才能验证找零确实回到了同一个多签钱包。配置本身也要备份,丢了它即使凑够私钥也很难花费,这一点和 P2SH 多签备份赎回脚本的道理一样。

第一步:怎样创建多签 PSBT?

发起人在协调软件里填写收款地址和金额,软件选择要花费的 UTXO,并把余额发到多签钱包的新找零地址。接着它为每个输入附上花费的 UTXO、多签见证脚本,以及三把密钥各自的派生路径,为找零输出也附上派生路径,这就是一份可以分发的 PSBT。

第二步:签名人怎样签名?

有两种方式。顺序签名是把 PSBT 先交给第一位签名人,签完后带着他的签名交给第二位;并行签名是把同一份 PSBT 同时发给两位,各自签完交回,由协调软件合并。并行更快,顺序更方便审批人看到前一位已经确认。

无论哪种方式,每位签名人都要在自己设备的屏幕上独立核对收款地址、金额、手续费和找零,不能因为前一位已经签了就跟着签。设备无法显示清楚的交易不应该签,否则就是盲签。

第三步:怎样合并、完成并广播?

协调软件把收回的 PSBT 合并。合并前它会检查每一份里的未签名交易是否完全一致,任何一份被改过都会合并失败。凑够两个签名后,软件按脚本要求的顺序把签名和见证脚本拼成最终的解锁数据,提取出普通交易并广播,再用交易哈希跟踪确认。

有人拒签或想撤回时怎么办?

如果一位签名人发现问题拒签,交易就凑不够门限,资金仍留在多签地址里。但要注意,已经签了一个签名的 PSBT 并没有自动失效,只要再有一人签名就能广播。

想彻底作废它,可以用同样的输入重新发起一笔转回本钱包的交易并先行上链,让旧 PSBT 花费的 UTXO 不再存在。企业流程里应该把“作废待签 PSBT”写成一个明确的操作,而不是简单地删除文件。

结语

PSBT 让多签转账变成一个清晰的流程:创建、分发、各自核对签名、合并广播,各签名人可以用不同的设备。真正的风险点在于签名人是否独立核对,以及待签 PSBT 是否被妥善作废。Safeheron 的 MPC 钱包即服务为企业提供 MPC 密钥管理和策略引擎。

想让多人审批和签名在一个流程里自动完成?

联系 Safeheron 销售团队,预约一对一演示

分享

预约演示

正在评估数字资产安全方案?不妨与 Safeheron 专家聊聊,获取专属方案建议

预约演示