UTXO

什么是 UTXO?

本文介绍了比特币的 UTXO 机制,包括其定义、工作原理和应用实例,解释了 UTXO 在比特币网络中的重要作用。UTXO 是比特币账本模型的核心,每笔交易都需要引用之前的 UTXO,且必须满足输入总价值大于转账金额加矿工费的总价值才能有效。

UTXO 的定义

UTXO,全称为未花费的交易输出(Unspent Transaction Output)。与传统的账户模型不同,当交易被广播到比特币网络时,该交易的输出(Output)会被认为是未花费的 UTXO,直到其被其他交易消耗。每个 UTXO 包括了一个地址(Address)和一个金额(Value),这些信息会被存储在比特币的区块链上。

UTXO 的工作原理

当用户发送比特币时,必须选择一些未使用的 UTXO 作为输入,然后创建新的 UTXO 作为输出。每笔交易都会消耗未使用的 UTXO,并且新的 UTXO 将被创建并记录到区块链上,以防止双花问题。比特币网络中的每个交易都必须引用之前的交易,而且必须要保证输入 UTXO 总价值大于转账金额  + 矿工费的总价值,否则这笔交易就是无效的。

举个例子,Alice 在区块高度 77963 时收到含有 1 BTC 和 2 BTC 的 2 笔 UTXO。

如果 Alice 在区块高度 78001 时向 Bob 转账 0.5 BTC,那么 Alice 只需消耗含有 1 BTC 的 UTXO  就能满足转账条件,剩余资产会作为新的 UTXO 转移到新的找零地址。

注:找零地址是在 UTXO 被消耗后,用于存储剩余资产的,其由主地址管理。用 imKey 在比特币网络转账时,imKey 会自动为用户生成新的找零地址,这样做的好处是增强匿名性和节省矿工费。

(便于更好理解 UTXO 机制,图中忽略矿工费)

如果 Alice 在区块高度 78001 时向 Bob 转账 2.5 BTC,那么 Alice 需要消耗两笔 UTXO 才能满足转账条件,剩余资产会作为新的 UTXO 转移到新的找零地址。

(便于更好理解 UTXO 机制,图中忽略矿工费)