部分签名的比特币交易(PSBT)是什么?一文详解

2025-01-25分类:比特币市场 阅读(


比特币交易是比特币网络运作的基石,确保其安全至关重要。为了帮助促进更复杂、更安全和更灵活的交易,引入了部分签名比特币交易 (PSBT) 的概念。PSBT 允许多个参与者协作进行交易,而无需任何一方完全控制交易,这使其成为多重签名钱包、硬件钱包和高级比特币用例的宝贵工具。

什么是 PSBT?

部分签名的比特币交易 (PSBT) 是一种标准化格式,允许多方协作创建和签署比特币交易。与完全签名的交易不同,PSBT 是一个中间步骤,其中交易由一个或多个参与者部分签名,允许其他人在将其广播到比特币网络之前查看或添加他们的签名。

PSBT 是通过比特币改进提案 174 (BIP 174) 引入的。PSBT 的主要优势在于它简化了处理复杂比特币交易的过程,例如多重签名设置、CoinJoin 交易或与需要离线签名的隔离硬件钱包进行交互。

PSBT 如何工作?

PSBT 通过分离比特币交易的创建、签名和广播阶段来运作。以下是它在典型流程中的工作方式:

  1. 交易创建:一方(通常是交易的创建者)生成一个 PSBT 文件,概述交易的详细信息,例如输入、输出和发送的金额。
  2. 部分签名:PSBT 文件传递​​给参与交易的其他各方。各方审查交易,如果同意,则添加部分签名,而无需完成整个交易。由于文件尚未完全签名,因此尚无法广播。
  3. 最终签名和广播:一旦所有需要的各方都签署了 PSBT,该文件就可以最终确定并广播到比特币网络。

PSBT 还支持多重签名交易,即需要多方授权交易,从而提高资金的安全性。它允许硬件钱包、软件钱包和多重签名设置之间轻松协作,而无需任何一方完全控制交易。

如何创建 PSBT 比特币?

创建 PSBT 是一个多步骤的过程,通常由支持 PSBT 的钱包来完成。以下是有关如何创建 PSBT 的分步指南:

  • 选择与 PSBT 兼容的钱包:选择支持创建 PSBT 的比特币钱包(我们将在下面列出其中一些钱包)。
  • 设置交易详情:在钱包界面输入比特币地址、要发送的金额和其他必要的交易详情。
  • 创建 PSBT 文件:钱包不会立即签署交易,而是生成一个 PSBT 文件,其中包含除完整签名之外的所有必要交易信息。此文件将包括输入、输出、UTXO(未使用交易输出)数据以及部分签名的输入(如果适用)。
  • 发送给参与者进行签名:如果您使用多重签名钱包或涉及其他参与者,请将 PSBT 文件发送给他们。他们可以查看交易并添加部分签名。
  • 完成交易:一旦所有参与者都添加了签名,交易就完成了。此时,它可以被广播到比特币网络。

什么是 PSBT 交易的示例?

让我们看一个涉及多重签名交易的基本示例:

  1. Alice、Bob 和 Charlie 共享一个 2-of-3 多重签名钱包,这意味着他们中的任意两个都需要签署交易。
  2. Alice 想要从多重签名钱包中向 Dave 发送 0.5 BTC。她生成一个 PSBT,将 Dave 的地址设置为收件人,并指定 0.5 BTC 的金额。
  3. Alice 对 PSBT 进行部分签名并将其发送给 Bob 进行签名。Bob 审核交易,添加签名,然后将 PSBT 发回给 Alice。
  4. 现在交易有了两个有效签名(Alice 和 Bob 的),PSBT 已完成。Alice 将交易广播到比特币网络,资金发送给 Dave。

比特币的 PSBT 格式是什么?

PSBT 格式遵循 BIP 174 定义的清晰、标准化的结构。PSBT 格式是二进制的,但为了易于使用和可读性,它通常以 base64 编码显示。

PSBT 格式由几个关键字段组成:

  • 全局交易信息:这包括适用于整个交易的信息,例如未签名的交易本身。
  • 输入数据:对于交易中的每个输入,PSBT 包含有关先前的 UTXO、scriptSig、部分签名等的信息。
  • 输出数据:对于每个输出,PSBT 包含地址、要发送的值以及任何相关脚本信息等详细信息。

PSBT 格式还允许扩展,从而支持未来的升级和新功能,而不会破坏与现有 PSBT 实现的兼容性。

结论

PSBT 是比特币生态系统中一个强大的工具,可以实现更安全、更灵活的交易管理。无论您是想促进多重签名交易、与硬件钱包集成,还是为了保护隐私而参与 CoinJoin,PSBT 都提供了一种标准化的方式来协作比特币交易,而不会损害安全性。

通过支持 PSBT,钱包可以确保您完全控制私钥,同时允许多个参与者审查和签署交易。随着比特币的不断发展,PSBT 可能会在帮助用户安全高效地管理交易方面发挥越来越大的作用。

Tags: