比特币未签名交易是指一笔尚未由交易输入的持有者签名授权的交易。这些交易最初是由创建者创建的,但尚未准备好广播给比特币网络。未签名交易可以用于各种目的,包括创建多签名交易、使用硬件钱包以及在离线环境中准备交易。
创建未签名交易
创建未签名交易包括以下步骤:
1. 准备交易输入和输出:确定要花费的交易输入和要发送到的交易输出。这包括指定输入的交易 ID 和输出索引以及输出的地址和金额。
2. 构建交易框架:使用比特币交易库或软件库构建交易框架。这包括设置交易版本、锁定时间和输入/输出的信息。
3. 计算交易 ID:使用交易框架计算交易 ID。交易 ID 是交易的唯一标识符,根据交易输入和输出的哈希值计算得出。
4. 创建签名脚本:为每个输入创建签名脚本。签名脚本定义如何解锁交易输入。对于未签名交易,签名脚本被设置为占位符,将在稍后签名。
广播未签名交易
创建未签名交易后,可以将其广播到比特币网络等待签名。广播交易的方式有两种:
1. 使用比特币钱包:将未签名交易导入比特币钱包,钱包将自动广播交易以供签名。
2. 手动广播:使用交易广播服务或使用比特币的核心命令行界面手动广播交易。
签名未签名交易
一旦未签名交易广播到网络,它可以由持有交易输入私钥的人签名。签名过程如下:
1. 导入未签名交易:将未签名交易导入签名设备,例如硬件钱包或软件钱包。
2. 验证交易信息:检查交易信息是否正确,包括输入、输出和交易费用。
3. 签名交易输入:使用私钥对每个交易输入签名。签名脚本将替换占位符脚本。
4. 序列化交易:将签名的交易序列化为可广播的格式。
使用未签名交易
未签名交易可用于多种目的:
多签名交易:创建要求多个签名才能验证的交易。
硬件钱包:在离线环境中准备交易,并在稍后使用硬件钱包签名和广播交易。
提高隐私:在不向网络广播签名之前准备交易,以提高隐私。
FAQ
Q1:创建未签名交易有什么好处?
A1:创建未签名交易的好处包括:允许协作创建交易、使用硬件钱包以及在离线环境中准备交易。
Q2:未签名交易如何广播到网络?
A2:未签名交易可以通过比特币钱包或手动广播服务广播到网络。
Q3:谁可以签名未签名交易?
A3:只有持有交易输入私钥的人才能签名未签名交易。