什么是 「部分签名的比特币交易(PSBT)」?

23-03-09 12:54
阅读本文需 7 分钟
总结 AI 总结
看总结 收起
原文标题:《 什么是「部分签名的比特币交易(PSBT)」? 》
原文作者:River Financial
原文来源:BTCStudy


什么是「部分签名的比特币交易(PSBT)」?


PSBT 是一个比特币标准,用来协助未签名交易(unsigned transactions)的传输;该标准可以让多方更容易签名同一笔交易。


PSBT 标准定义了用来传递比特币交易的一种精确格式。这种格式可以携带一笔交易的元数据,让签名者更容易签名和验证这笔交易。这个标准也定义了签名合并和交易终局化的流程,所以多方可以并行地签名同一笔交易,然后将相应的 PSBT 合并起来、形成一笔完整签名的交易。



PSBT 有什么用处?


PSBT 给比特币社区提供了许多好处,也让此前的复杂协议得到简化,变得更容易验证。


互通性。PSBT 的设计初衷是强化钱包和其它比特币软件的互通性,让交易可以更容易地在钱包和节点间传输。PSBT 在很大程度上已经成功了,它获得了所有主要的钱包供应商和节点软件的支持,也就是已经得到了行业的接受。


离线签名。PSBT 格式提供了有用的元数据,可以协助冷存储设备验证即将被签名的交易相关的地址和金额。这使得从冷存储设备发起签名变得更加安全,而且 观察钱包构造交易-冷钱包签名-比特币节点广播交易 的整个过程也变得更加容易。


多签名流程。因为 PSBT 让一个部分签名的比特币交易变得更容易传输和理解,多方(或者说多个设备)签名一笔交易也变得更容易、更安全,因此多签名技术也变得更容易使用。用户友好型多签名钱包将给比特币社区带来进一步的好处,包括更好的隐私性、安全性和私钥丢失抗性。


多方交易。PSBT 对想要签名同一笔交易的协作多方尤为实用。比如,CoinJoin、CoinSwap 和 PayJoin 协议,都要求多方签名同一笔交易。PSBT 格式提供了构造交易、在多个签名者之间传输交易、组装成最终交易的方法。


PSBT 的工作原理


PSBT 在许多场景下都很有用。举个例子,五位参与者要建构一笔 CoinJoin 交易,他们各自给一位协调员发送一条消息,包含自己希望放入这笔 CoinJoin 中的 UTXO。每个参与者也都提供接收比特币的地址。


协调员实用所有的 UTXO 作为输入,建构出一笔交易,并创建相应的输出,将相同数量的比特币发到各参与者的接收地址。


下一步,协调员将这笔交易转化成一个部分签名的比特币交易,然后将这个 PSBT 发送给每一位参与者。参与者们各自为自己收到的 PSBT 加入自己的签名,然后将签过名的 PSBT 发回给协调员,协调员会将这 5 个 PSBT 合并起来、形成最终的交易。最终,协调员得到了一个完整签名的交易,每个参与者的输入都有相应的签名。


这个过程是完全免信任的:虽然每个成员都依赖于协调员来创建和敲定 PSBT,无论协调员还是参与者,没有人能从其他参与中手上偷取资金。


采用 PSBT


PSBT 标准由 BIP174 定义,而且已经得到了行业内的硬件钱包、软件钱包、比特币节点软件(包括 Bitcoin Core)的广泛采用,但还不是全面采用。


但是,PSBT 标准也有一些缺点,这也是为什么有人正在开发 PSBT v2 标准。具体来说,迭代式地添加输入来构建交易是低效的,而且 PSBT 文件会变得相对比较大。


就当下来看,PSBT 已经极大地强化了比特币软件和硬件之间的互通性,协助了 CoinJoin 和其他合作型交易的运作,也让多签名变得更加易用。


 原文链接


欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

选择文库
新增文库
取消
完成
新增文库
仅自己可见
公开
保存
纠错/举报
提交