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 会自动为用户生成新的找零地址,这样做的好处是增强匿名性和节省矿工费。
如果 Alice 在区块高度 78001 时向 Bob 转账 2.5 BTC,那么 Alice 需要消耗两笔 UTXO 才能满足转账条件,剩余资产会作为新的 UTXO 转移到新的找零地址。
(便于更好理解 UTXO 机制,图中忽略矿工费)
0 条评论
文章评论已关闭。