基本概念
在比特币交易中"1输入2输出"指的是一个典型的交易结构,其中包含一个输入(Input)和两个输出(Outputs)。这种结构在实际场景中非常常见,尤其是在涉及支付或提现的业务中。以下是对"两个输出"具体含义的解释,以及它们通常对应的情况。
比特币交易的基本结构
比特币交易由以下部分组成:
- 输入(Inputs):指明从哪些未花费的交易输出(UTXO)中获取资金。
- 输出(Outputs):指明资金的去向,每个输出指定一个金额和接收地址。
- 其他元数据:如版本号、锁定时间、签名等。
一个交易的大小(以字节为单位)主要取决于输入和输出的数量,因为每个输入和输出都会增加固定的字节数:
- 一个输入:约148字节(包括前一交易的引用和解锁脚本)。
- 一个输出:约34字节(包括金额和锁定脚本)。
- 基础开销:约10字节(版本号、输入/输出计数等)。
对于"1输入2输出"的交易,大小通常在 250字节左右(具体取决于签名大小等细节,可能略有浮动,例如230-260字节)。
"两个输出"是什么?
在比特币交易中,两个输出的情况通常出现在以下场景:
1. 支付目标地址 + 找零地址
这是最常见的情况。假设你有一个UTXO(未花费的交易输出),里面有0.01 BTC,现在你要支付0.006 BTC给某个接收方(比如商家或提现地址)。由于比特币的UTXO模型要求输入金额必须被完全花费,剩余的金额需要返回给自己。这种情况下:
- 输入:0.01 BTC(来自你的某个UTXO)。
- 输出1:0.006 BTC(支付给目标地址)。
- 输出2:0.0039 BTC(找零返回给自己,减去网络费用,例如0.0001 BTC)。
交易结构如下:
ini
输入: [0.01 BTC]
输出:
- [0.006 BTC] -> 目标地址
- [0.0039 BTC] -> 自己的找零地址
- 字节大小:1个输入(148字节) + 2个输出(2×34 = 68字节) + 开销(约10字节) ≈ 226字节,再加上签名数据(可能增加20-30字节),总大小接近250字节。
这种"支付+找零"的模式在比特币钱包的日常转账中非常普遍。
2. 中心化钱包的提现场景
在中心化钱包的提现业务中,"1输入2输出"可能代表一种简单的手动提现交易。例如,钱包从一个大的UTXO池中提取资金,支付给用户,同时将剩余资金返回内部地址:
- 输入:从钱包的某个UTXO(比如0.1 BTC)。
- 输出1:提现金额(比如0.05 BTC,支付给用户)。
- 输出2:找零(0.049 BTC,返回钱包的冷/热存储地址,减去0.001 BTC手续费)。
这与上述支付场景类似,只是目标地址是用户的提现地址。
3. 多方支付的简化形式
在某些情况下,两个输出可能代表支付给两个不同的接收方。例如:
- 输入:0.01 BTC。
- 输出1:0.004 BTC(给地址A)。
- 输出2:0.0055 BTC(给地址B,剩余0.0005 BTC作为网络费)。
不过,这种情况在单笔交易中较少见,通常更可能是批量交易(多输出)的简化版本。
为什么是"两个输出"而不是一个?
比特币交易很少只有一个输出,因为:
- UTXO模型的限制:输入金额必须完全花费,如果支付金额小于输入金额,剩余部分需要通过找零输出返回给自己。
- 网络费用:交易费通常从输入金额中扣除,剩余部分通过第二个输出返回。如果只有一个输出且金额等于输入,则无法支付网络费(除非矿工免费打包,但这不现实)。
例如:
- 输入0.01 BTC,支付0.01 BTC给对方,网络费怎么办?不可能实现。
- 正确的做法是:输入0.01 BTC,输出1为0.0099 BTC(支付对方),输出2为0.0001 BTC(找零给自己,实际用作网络费)。
因此,"1输入1输出"的交易在技术上不常见,除非输入金额恰好等于输出金额+网络费(这种情况需要精确匹配,极少发生)。
交易大小的计算
以"1输入2输出"为例:
- 1个输入:148字节(包含前一交易的哈希、索引、解锁脚本等)。
- 2个输出:2 × 34字节 = 68字节(每个输出包含金额8字节和锁定脚本26字节,通常是P2PKH地址)。
- 基础开销:10字节(版本号、输入/输出计数、锁定时间)。
- 总计:148 + 68 + 10 = 226字节。
- 签名数据:输入的解锁脚本中包含签名和公钥,可能额外增加20-30字节(取决于签名类型,如P2PKH签名约为70字节)。
最终大小接近250字节,这是一个经验值,实际情况可能因脚本类型(P2PKH、P2SH、SegWit等)略有变化。例如:
- SegWit交易会稍微小一些(因为签名数据分离)。
- 多签名(Multisig)交易会更大。
##总结 "两个输出"通常是:
- 支付+找零:一个输出给目标地址,一个输出返回给自己。
- 提现场景:一个输出给用户,一个输出回钱包内部地址。
这种结构是比特币交易中最基础、最常见的模式,250字节的估算也反映了这种典型交易的大小。