仅供教育参考,不构成投资建议;投资可能产生损失。
直接回答
未花费交易输出(UTXO)模型把可花费价值表示为彼此独立的输出,而不是记在某个账户名下的一笔余额。在比特币中,普通交易的输入通过交易标识符和输出索引指向先前的输出。该输出记录金额和锁定脚本。钱包显示的余额是它能够花费的各项输出之和,并非存放在某个地址里的余额字段。
一个输出必须整体花费。如果选中的输入超过付款额与手续费之和,交易必须明确创建找零输出;协议不会自动退回找零。一笔交易可以消耗多个既有 UTXO,并创建多个新的 UTXO,每个都有自己的金额和花费条件。
运作机制
一笔普通的非 coinbase 交易要有效,每个被引用的输出都必须存在且尚未花费,每个输入都必须满足对应输出的锁定条件,而且输出总额不得超过输入总额。两者之差可作为交易手续费:
fee = sum(inputs) - sum(outputs)
节点接受区块时,会从当前 UTXO 集中移除已消耗的输出,并加入新创建的输出。验证和重建这一状态仍需要区块历史。链重组可能替换近期区块,因此链尖附近的输出可能重新变成未确认状态,也可能从已接受的历史中消失。
在一条已接受的链历史中,某个输出只能被消耗一次。互相冲突的未确认交易可能争用同一个输出,但内存池的接纳和替换属于节点策略,并不是让链上双花变得有效的规则。BIP 125 定义了选择性替换信号及相应策略,因此收到未确认交易不等于最终结算。
比特币区块空间的价格主要取决于交易权重和费率,而不是转账金额。BIP 141 定义 virtual size = ceil(weight / 4)。输入通常比输出增加更多交易数据,所以在相同费率下,花费许多小 UTXO 可能比花费一个较大的 UTXO 更贵。准确大小取决于所用脚本和见证类型。
花费不同 UTXO 的交易具有各自的输入依赖,因而验证和交易构建更容易并行处理。但它们并非在每种实现或应用中都会自动独立:选择同一输出的两笔交易会冲突,子交易也依赖其未确认父交易。钱包的选币逻辑必须协调这些依赖。
UTXO 不会带来匿名性。合并输入可能暗示共同控制,找零识别模式或地址复用也可能关联活动。这些只是启发式线索,并非密码学证明,但合并操作可能暴露分开花费时不会显现的关系。
与账户模型相比,UTXO 模型会明确呈现每个可花费对象及其消耗路径。账户系统通常更新余额、nonce 等共享账户状态。两种模型没有普遍意义上的优劣之分;它们在状态表示、可编程性、并发性和钱包设计上采取了不同权衡。
完整示例
Alice 控制 0.08 BTC、0.12 BTC 和 0.50 BTC 三个 UTXO。为了向 Bob 支付 0.15 BTC,她的钱包选择前两个输入,总计 0.20 BTC,并估算手续费为 0.0002 BTC。交易创建以下输出:
- Bob:
0.15 BTC - Alice 的找零:
0.0498 BTC
计算过程为 0.20 - 0.15 - 0.0002 = 0.0498 BTC。确认后,0.08 BTC 和 0.12 BTC 两个输出已被花费;Bob 的输出与 Alice 的找零成为新 UTXO;0.50 BTC 的输出保持不变。
如果交易只创建 Bob 的 0.15 BTC 输出,遗漏的 0.05 BTC 会成为手续费,而不会自动退回。钱包也可以改选另一组输入、批量支付,或在费率较低时合并小额输出。这些选择需要权衡当前费用、未来费用、确认可靠性和隐私。
风险与控制
- 费用风险: 碎片化 UTXO 会增加输入权重;广播前应估算签名后交易的大小和费率。
- 隐私风险: 合并输入与可识别的找零可能关联地址;不能把新地址视为必然无法关联。
- 确认风险: 冲突交易、替换策略和链重组会使未确认收款具有可逆性。
- 恢复风险: 链上保存 UTXO,钱包则保存或派生查找和花费它们所需的密钥与发现数据;应备份所有必要恢复要素。
常见误解
地址就是永久账户
地址编码或表示花费条件。钱包可以控制发送至多个收款地址和找零地址的输出,因此单个地址并不是钱包的完整状态。
手续费与付款金额成比例
手续费主要取决于交易权重和所选费率。输入较少的大额付款,可能比由许多输入拼成的小额付款更小、更便宜。
协议会自动创建找零
找零是付款方钱包主动构建的普通输出。输入中未分配给输出的任何价值,都可由矿工作为手续费取得。
未确认就等于已结算
内存池只是节点的临时视图,不是共识账本。接纳、替换和清除策略可能不同;确认风险会随时间下降,但不会在广播时消失。
相关主题
来源
- Bitcoin: A Peer-to-Peer Electronic Cash System - Satoshi Nakamoto (查阅日期: 2026-08-22)
- Transactions — Bitcoin Developer Guide - Bitcoin.org (查阅日期: 2026-08-22)
- Block Chain — Bitcoin Developer Guide - Bitcoin.org (查阅日期: 2026-08-22)
- BIP 141: Segregated Witness (Consensus layer) - Bitcoin Improvement Proposals (查阅日期: 2026-08-22)
- BIP 125: Opt-in Full Replace-by-Fee Signaling - Bitcoin Improvement Proposals (查阅日期: 2026-08-22)