# #046 介绍部分签名比特币交易PSBT

By [xiyu](https://paragraph.com/@xiyu-3) · 2023-03-27

---

比特币的部分签名比特币交易（PSBT）格式

之前写过一个关于如何使用PSBT在openordex交易比特币nft的文章，[https://twitter.com/ohxiyu/status/1631085289035780097?s=20](https://twitter.com/ohxiyu/status/1631085289035780097?s=20)，大约一个月过去了，PSBT交易模式已经被普及，今天我们详细介绍一个PSBT的相关原理，让大家更加深入了解PSBT。

部分签名比特币交易（PSBT）是一种比特币标准，可促进未签名交易的可移植性，允许多方轻松签署同一交易。当多方希望向同一交易添加输入时，这非常有用。PSBT由[BIP 174](https://river.com/learn/terms/b/bip-174-psbt/) 引入，允许用户更轻松地在冷存储设备上签署交易，然后从连接到互联网的设备广播已签名的交易。

PSBT 的主要设计目标包括：

*   简化多签名交易：PSBT 使多个参与者能够轻松地共同完成一个交易，而无需关心底层实现细节。
    
*   增强兼容性：PSBT 为不同钱包软件之间的交互提供了一个通用、可扩展的格式。
    
*   支持离线签名：PSBT 允许离线设备（如硬件钱包和隔离签名设备）在不访问比特币网络的情况下进行签名。
    

PSBT 包括以下几个部分：

*   未签名交易（Unsigned Transaction）：包含交易的输入和输出信息，但尚未包含签名。
    
*   输入数据（Input Data）：为每个交易输入提供签名所需的信息，如 UTXO 详细信息、公钥、部分签名等。
    
*   输出数据（Output Data）：为每个交易输出提供额外信息，如赎回脚本和公钥等。
    

使用 PSBT 完成多签名交易的基本流程如下：

1.  创建者：构建一个包含输入和输出信息的未签名交易。
    
2.  更新者：为每个输入提供必要的签名信息，如 UTXO 详细信息、公钥等。
    
3.  签名者：使用私钥对输入进行签名，并将部分签名添加到 PSBT。
    
4.  组合者：将多个部分签名的 PSBT 合并成一个完整的 PSBT。
    
5.  最终化者：确保所有输入已经完全签名，并将签名信息添加到原始交易。
    
6.  提交者：将最终签名的交易广播到比特币网络。
    

部分签名比特币交易（PSBT）格式为比特币多签名交易提供了一个简单、通用且可扩展的解决方案。通过将签名过程分为多个步骤，PSBT 能够提高多个参与者之间的互操作性，并支持离线签名设备。随着比特币生态系统的不断发展，PSBT 可能会在未来成为多签名交易的标准。

PSBT 在以下场景中具有较高的应用价值：

*   多重签名钱包：PSBT 可以简化多重签名钱包的创建和使用流程，使得多个参与者可以轻松地共同管理资金。
    
*   硬件钱包：PSBT 允许硬件钱包在不连接互联网的情况下对交易进行签名，从而提高安全性。
    
*   企业级解决方案：PSBT 可以帮助企业实现对比特币资产的高级控制和安全管理，例如多层授权和访问控制。
    

尽管 PSBT 已经在比特币生态系统中得到广泛应用，但仍然存在一些挑战和改进空间：

*   更广泛的兼容性：尽管许多钱包软件已经支持 PSBT，但仍有一些钱包尚未实现 PSBT 支持。未来，社区需要进一步推广 PSBT，以提高其在比特币生态系统中的普及率。
    
*   扩展功能：PSBT 格式的设计允许其轻松地扩展以支持未来的比特币协议和功能。未来，PSBT 可能需要不断更新以适应比特币网络的发展。
    
*   优化性能和效率：随着 PSBT 的使用范围不断扩大，可能需要对其进行性能和效率方面的优化，以满足不断增长的需求。
    

部分签名比特币交易（PSBT）为比特币多签名交易提供了一个简单且强大的解决方案。随着ordinals生态系统的不断发展，PSBT 有望在未来比特币nft交易中发挥更大的作用。

---

*Originally published on [xiyu](https://paragraph.com/@xiyu-3/046-psbt)*
