xiyu

Posted on Mar 27, 2023Read on Mirror.xyz

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

比特币的部分签名比特币交易(PSBT)格式

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

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

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交易中发挥更大的作用。