最后更新时间:2026年11月2日
Cardano 的 eUTXO(扩展未花费交易输出)模型解释了 Cardano 如何通过未花费输出来追踪价值并运行智能合约交易。与直接更改账户余额不同,交易会消耗现有的输出并创建新的输出。Plutus 脚本用于检查某个输出是否允许被花费。
快速解答
Cardano 的扩展 UTXO(eUTXO)模型将脚本逻辑和可选数据附加到输出中。交易提供验证器所需的动作和上下文,然后花费符合条件的输入以创建新输出。不同的输出可以支持并行活动,但尝试花费同一输出的交易可能会发生冲突。
Cardano eUTXO 模型的工作原理详解
根据 Cardano Alonzo 升级文档,Cardano 于 2021 年 9 月通过 Alonzo 升级引入了 eUTXO,在支持多资产的同时启用了 Plutus 智能合约开发。该模型扩展了熟悉的 UTXO 方法,用于追踪未花费的交易输出。
- 价值存储在输出中: UTXO 是此前交易中尚未被花费的输出。Cardano 的 eUTXO 解释文档指出,每个 UTXO 必须被整体花费,且只能被消费一次。任何未使用的价值必须在新的输出中返回。
- 交易选择输入: 为了转移价值或与合约交互,交易会识别它将消费的输出。这些输入是显式的,而非对共享余额的隐形修改。
- 验证器检查花费: 脚本逻辑与输出地址相关联。如 Cardano eUTXO 文档所述,验证器会检查拟议的交易是否符合花费条件。
- 交易提供合约输入: Cardano 开发者文档描述了三个关键组件:Datum(与输出关联的状态)、Redeemer(提供花费动作或参数的数据)以及 Transaction Context(向验证器提供有关交易的信息)。这些要素共同帮助验证器做出判断。
- 新输出记录结果: 如果交易通过了所有必要检查并被纳入区块,它将消耗其输入并创建输出。这些剩余的输出可以代表未来交易的合约状态。
内联 Datum 使输出数据可直接获取。CIP-32 描述了将 Datum 数据存储在输出中,而不是要求花费交易单独提供完整的 Datum。具体应用细节取决于合约设计。
合约验证器在输出被花费之前会检查交易数据。
Cardano eUTXO 模型与共享状态方法的对比
此比较关注交易状态的表示和检查方式。这是一般性的技术对比,并非声称所有区块链或基于账户的应用程序工作方式完全相同。
| 主题 | Cardano eUTXO | 共享状态方法 |
|---|---|---|
| 状态表示 | 未花费的输出可以携带价值和关联数据。 | 交易通常引用并更新账户或共享合约状态。 |
| 交易花费对象 | 一个或多个指定的输出,每个输出仅被消费一次。 | 通常是账户余额或状态条目,具体取决于系统规则。 |
| 合约检查 | 验证器检查拟议的花费是否被允许。 | 合约逻辑检查请求的状态变更。 |
| 并发问题 | 使用不同 UTXO 的交易可能并行验证;争夺同一个 UTXO 会导致冲突。 | 涉及共享状态的交易可能需要协调,具体取决于实现方式。 |
Cardano 开发者指南指出,当交易花费不同的 UTXO 时,独立交易可以并行验证。但是,两笔交易不能同时消费同一个 UTXO。正如 Cardano eUTXO 开发者指南所解释的那样,开发者可以通过扇出(fan-out)、批处理或参考输入来管理竞争问题。
Cardano 的 eUTXO 模型并不意味着所有的合约交互都会同时发生。应用程序的设计至关重要:如果一个流行的单一输出成为瓶颈,而无关的输出仍可供其他交易使用,那么该单一输出就会限制整体吞吐量。
独立的 UTXO 允许单独的交易在不竞争相同输入的情况下进行。
常见错误与风险
- 误以为验证保证包含在内: Cardano 文档指出,可以在提交前检查交易的有效性和脚本成本。但这些提交前的检查并不能确立交易将被包含,也不能确保预期的输入仍然可用。如果另一个交易先花费了该输入,提交的交易可能会失败。
- 将 eUTXO 视为无限并行的承诺: 并行验证取决于交易使用单独的输出。如果应用程序引导许多用户通过同一个 UTXO,他们将竞争花费它。批处理和其他设计选择可以减少竞争,但模型本身并不能消除它。
- 混淆技术设计与财务安全: Cardano 的 eUTXO 模型描述的是交易会计和验证,而不是代币、去中心化应用(dApp)或合约是否安全或有利可图。智能合约漏洞、交易所故障、诈骗、监管变化和价格波动仍然是风险。加密资产可能会损失大量价值或变得无法访问。切勿共享钱包助记词。
开发工作随时间而变化。在 2026 年 9 月 18 的一份报告中,Input Output Global 表示已实施 Dijkstra 批处理验证,以便子事务的 Plutus 脚本运行,其执行预算计入区块和费用限制。Intersect 在 9 月 26 日的更新中表示,Node 11.2 预计将包含一种新的区块格式和 Plutus V4 上下文,同时指出这并非准备好硬分叉的版本。这些过时的更新描述了报告的开发状态,而非部署确认。
常见问题解答
什么是 Cardano eUTXO 模型?
它是 Cardano 的扩展未花费交易输出会计模型。交易消耗现有输出并创建新输出,同时脚本检查输出是否允许被花费。
什么是 Datum、Redeemer 和交易上下文?
Datum 是与输出关联的数据,Redeemer 是为花费提供的动作或参数,交易上下文是验证器可以检查的有关交易的信息。它们共同帮助 Plutus 脚本决定拟议的花费是否符合其规则。
Cardano eUTXO 交易可以并行运行吗?
根据 Cardano 开发者文档,当它们花费不同的 UTXO 时,交易可以并行验证。依赖同一个 UTXO 的交易会竞争该输入,因此只有一笔交易可以消费它。

资金费率
资金费率热力图
多空比
大户多空比
币安/欧易/火币大户多空比
Bitfinex杠杆多空比
账号安全
资讯收藏
自选币种