未花费的交易输出(UTXO)是指可以用作新交易输入的交易输出。本质上,UTXO 定义了每个区块链交易的开始和结束位置。 UTXO 模型是比特币和许多其他加密货币的基本要素。
换句话说,加密货币交易由输入和输出组成。每当进行一笔交易时,用户都会使用一个或多个 UTXO 作为输入。接下来,用户提供数字签名来确认输入的所有权,最终产生输出。消耗的 UTXO 现在被视为“已用”,并且不能再使用。同时,交易的输出成为新的 UTXO –稍后可以在新交易中使用。
通过示例可能可以更好地解释这一点。 Alice 的钱包里有 0.45 BTC。这并不是我们想象的硬币的一小部分。它更像是 UTXO 的集合。具体来说,两个 UTXO 分别价值 0.4 BTC 和 0.05 BTC –过去交易的输出。现在假设 Alice 需要向 Bob 支付 0.3 BTC。
她在这里唯一的选择是分解 0.4 BTC 单位并将 0.3 BTC 发送给 Bob,并将 0.1 BTC 发送回给自己。由于挖矿费用,她通常会回收不到 0.1 BTC,但让我们简化一下,将矿工排除在外。
Alice 创建的交易本质上是对网络说:将我的 0.4 BTC UTXO 作为一个输入,将其分解,将其中的 0.3 BTC 发送到 Bob 的地址,然后将 0.1 BTC 返回到我的地址。 0.4 BTC 现在已被消耗掉,无法重复使用。同时,创建了两个新的 UTXO(0.3 BTC 和 0.1 BTC)。
请注意,我们在本例中分解了 UTXO,但如果 Alice 必须支付 0.42 BTC,她可以轻松合并她的 0.4 BTC 和另外 0.05 BTC 产生一个价值 0.42 BTC 的 UTXO,同时向她自己返回 0.03 BTC。
总而言之,UTXO 模型作为协议的机制来跟踪硬币的位置任何给定的时间。从某种意义上说,它们的运作方式很像支票:它们发送给特定用户(或者更确切地说,他们的公共地址)。 UTXO 不能部分使用 –相反,必须根据旧检查创建新检查并相应地传递。