深入解析未花费交易输出(UTXO):区块链交易的核心机制

·

在加密货币领域,未花费交易输出(简称 UTXO)是数字货币模型中的一个核心概念。它代表了由发送方授权的一定数量的加密货币,可供接收方使用。UTXO 的使用是许多加密货币交易过程中的关键特征,尤其体现在采用 UTXO 模型的区块链系统中。

UTXO 通过公钥密码学来确认和转移所有权。具体来说,接收方的公钥被编码到 UTXO 中,从而限制了只有能够证明拥有对应私钥的账户才能使用该 UTXO。要花费一个 UTXO,必须提供与该公钥关联的有效数字签名

UTXO 构成了一条所有权链,表现为一系列可追溯至货币诞生时的数字签名,无论该货币是通过挖矿、权益证明还是其他协议规定的流程产生的。

采用 UTXO 模型的著名加密货币包括比特币卡尔达诺(Cardano)。卡尔达诺使用的是一种扩展版的 UTXO 模型,称为 EUTXO(扩展未花费交易输出模型)。

UTXO 模型的概念框架可追溯至哈尔·芬尼(Hal Finney)提出的“可重复使用的工作量证明”方案,该方案本身又基于亚当·巴克(Adam Back)1997 年提出的 Hashcash。2009 年发布的比特币是 UTXO 模型在实践中的首次大规模应用。


UTXO 模型如何运作?

UTXO 模型将加密货币的每个单位视为一个独立的、离散的对象。其运作方式类似于物理现金的流转:

这种设计确保了交易的独立性和可追溯性,是区块链透明性安全性的基石。


UTXO 模型与账户模型的比较

加密货币采用的 UTXO 模型与账户模型(如以太坊所用)在工作原理上有本质区别。

核心差异

特性UTXO 模型账户模型
记账方式追踪每个独立的、未花费的输出维护每个账户的全局状态和余额
余额查询需扫描区块链历史,汇总所有相关 UTXO直接查询当前账户状态即可
交易处理天然支持并行处理多个交易通常需要按顺序处理以避免状态冲突
状态存储状态(UTXO集)相对简洁,易于验证状态庞大且复杂,需存储所有账户信息
类比类似于使用和找零现金类似于银行账户间的转账

优势与劣势

UTXO 模型的优势:

账户模型的优势:

👉 探索更多区块链技术对比与策略


扩展 UTXO (EUTXO) 模型

为了在保留 UTXO 优势的同时支持更复杂的功能,扩展 UTXO (EUTXO) 模型 应运而生。

EUTXO 的核心创新

EUTXO 模型在传统 UTXO 的基础上引入了两大关键特性:

  1. 数据附着:UTXO 不仅可以携带货币价值,还能关联任意数据。这使得 UTXO 能够代表复杂的状态信息,而不仅仅是币的数量。
  2. 逻辑脚本:UTXO 可以与一段脚本(智能合约逻辑)绑定。这些脚本定义了花费该 UTXO 必须满足的附加条件,远超“提供有效签名”这一基本要求。

EUTXO 的优势与应用

卡尔达诺 区块链是 EUTXO 模型的主要实践者,其 Plutus 智能合约平台便构建于此模型之上,使之能够处理复杂的状态化合约,同时保持高安全标准。


常见问题 (FAQ)

Q1: 一个UTXO可以被部分花费吗?
不可以。一个UTXO必须被全额花费。这就像你无法撕下一部分纸币来付款一样。如果你只想支付一部分,交易会消耗整个UTXO,并同时创建一个新的输出(“找零”)给你自己,将剩余金额返回。

Q2: 钱包如何知道我的余额?
你的加密货币钱包会扫描整个区块链,找出所有由你的私钥控制的地址所对应的UTXO,然后将这些UTXO的价值加总,从而计算出你的总余额。

Q3: UTXO模型如何防止双花问题?
防止双花是UTXO模型的核心功能。一旦一个UTXO被一笔交易作为输入消耗掉,它就会从UTXO集中立即移除。任何后续试图再次使用同一个UTXO的交易都会被网络节点拒绝,因为验证时会发现该UTXO已不存在。

Q4: 普通用户需要直接管理UTXO吗?
对于大多数用户来说,无需直接管理。现代钱包软件会自动处理UTXO的选择、组合和找零等复杂技术细节。用户只需像使用传统支付应用一样,输入地址和金额即可。

Q5: UTXO模型的主要缺点是什么?
其主要缺点是可编程性受到限制。传统的UTXO模型难以支持需要复杂状态存储的智能合约应用(DeFi、NFT等),这也是催生EUTXO等扩展模型的原因。此外,对于拥有大量小额UTXO的账户,交易手续费可能更高。

Q6: 除了比特币和Cardano,还有哪些链使用UTXO?
其他一些采用或兼容UTXO模型的知名项目包括比特币现金 (BCH)莱特币 (LTC) 以及狗币 (DOGE) 等。它们都继承了UTXO模型的安全和简洁特性。