UTXO 模型的全称是 Unspent Transaction Output 模型。它是共享账本(区块链)的主要记账模型之一,用于记录、存储和执行交易。UTXO 模型通常与比特币 (BTC) 一起被提及。但事实上,许多其他区块链网络也应用 UTXO 作为其记账模型,例如 NEO、Litecoin、Zcash、Cardano(扩展 UTXO 模型)等。
UTXO 模型的工作原理
UTXO 模型的名称其实就包含了它的基本概念,即该模型使用交易中加密货币的未被使用的部分用作交易的记账方式。
在 UTXO 模型中,不存在“账户”和“余额”。UTXO 是帮助执行交易的计量单位。UTXO 是指交易执行后剩余的加密货币数量(即未使用的加密货币)。换句话说,在 UTXO 模型中用户可以转移的余额是他之前交易中尚未花费的金额。
在 UTXO 模型中,每笔交易都由表示为 UTXO 的输入和输出组成。输入消耗一个现有的 UTXO,而输出创建一个新的 UTXO。交易完成后,任何未使用的输出都将作为输入记录在数据库中,以后可用于新交易。
UTXO 模型的示例
A 的钱包里有 5 个比特币(UTXO_0)。B 有一个空钱包。 现在,A 想向 B 的钱包发送 3.15 BTC。A 的 5 个 BTC 将被记录为输入,然后被消耗(可以视为销毁)。同时,将创建 3.15 BTC 和 1.85 BTC(UTXO_1 和 UTXO_2)作为交易的输出。UTXO_2 将转到 A 的钱包,UTXO_1 转到 B 的钱包。交易完成后,A 的钱包有 1.85 BTC 的未使用余额。B 的钱包有 3.15 BTC 的未使用余额。
注意:在真实的区块链交易中,会扣除交易费用。举例来说,UTXO_2 扣除交易手续费后的余额会略低于 1.85 BTC。
UXTO 模型的特征
UXTO 模型被应用为区块链的主要记账模型,是因为它可以追溯交易的起源并进行验证。
- 从上面的例子中,我们可以看到每一个资产的起源都可以追溯到它的创建。因为每个交易输出都必须有相应的输入。在比特币系统中,每一个比特币都可以追溯到它被开采的区块。在 UTXO 模型中,一旦发生错误交易,系统可以精确定位其来源。
- UXTO 模型也可以看作是一个验证系统。它只允许在输入为 Unspent Inputs 时执行交易。系统将在执行交易之前验证输入的状态。如果输入未使用,则交易继续进行。它可以防止恶意行为(例如双花问题)的发生。
原创文章,作者:惊蛰财经,如若转载,请注明出处:http://www.xmlm.net/jibi/31631.html