Cardano 的 EUTXO 模型有何独特之处?
来自以太坊生态的开发者在初次查阅 Cardano 文档时,往往会感到困惑:全局状态在哪里?合约如何存储余额?答案隐藏在 Cardano 的 EUTXO 模型中,这是支撑网络每笔交易的底层会计系统。
EUTXO 即“扩展未花费交易输出”(Extended Unspent Transaction Output)。它源于比特币所采用的理念,并在此基础上增加了脚本和附加数据。正是这一微小的扩展,使得智能合约成为可能,同时也彻底改变了应用的设计范式。
本指南将深入解析 Cardano EUTXO 模型的工作原理、其与比特币及以太坊的对比,以及开发人员在编写代码前必须掌握的核心概念。
什么是 Cardano 中的 EUTXO 模型?
UTXO 意为“未花费交易输出”。为了便于理解,我们可以将其想象为一个装有价值的小型保险箱。一把钥匙可以打开它,一旦打开,该保险箱即被视为已消耗。随后,交易会将价值转移到新的保险箱中。
比特币正是采用这种机制。Cardano 的 EUTXO 模型保留了这一结构,但通过两种方式进行了扩展:锁可以是包含脚本逻辑而非简单的签名检查;输出也可以携带数据,从而使脚本能够追踪状态。
根据 Cardano 官方文档,Alonzo 升级引入了这种扩展设计,以便网络能够处理多资产和智能合约。截至 2026 年 9 月,该页面仍以此方式描述其机制。其安全性论证十分直观:交易仅基于其自身的输入进行判断,与链上的其他状态无关,因此你可以清晰地预见交易结果。
Cardano EUTXO 模型是如何工作的?
每一笔交易都会消耗现有的输出并创建新的输出。没有任何内容会被就地修改。这对于习惯更新余额的用户来说是一个巨大的转变。
基本流程如下:
- 指定输入:交易指明想要使用的未花费输出。
- 提供证明:每个输入都附带证明,要么是签名,要么是脚本数据。
- 节点验证:节点运行检查。任何一项失败都会导致整笔交易被拒绝。
- 更新集合:已使用的输出被归档,新生成的输出进入 UTXO 集合。
UTXO 集合本质上是账本的当前快照,每个节点都持有自己的副本。钱包只需跟踪其所有者可以花费的输出。所有这些操作都在 Cardano 的权益证明(PoS)网络上运行,尽管账本规则并不随区块生产者的变化而改变。
Cardano EUTXO 模型 vs. 比特币 UTXO
比特币的 UTXO 系统主要追踪谁可以花费哪些硬币。其锁定机制大多简单,且脚本功能受到刻意限制。它在处理支付方面表现良好。
Cardano 的 EUTXO 模型则增加了可编程的锁和附加数据。这一差异支持了智能合约和本地多资产代币。
特性比特币 UTXOCardano EUTXO锁类型主要是公钥签名任意脚本逻辑输出数据非常有限自定义数据(Datum)智能合约有限的脚本支持通过验证器支持多资产支持非原生支持原生多资产支持 Cardano EUTXO 模型 vs. 以太坊账户模型
以太坊维护着带有余额和合约存储的账户。交易调用合约,合约更新共享状态。结果取决于交易执行时状态的样子。
Cardano 的 EUTXO 模型工作方式不同。输出是独立的对象。脚本仅决定交易是否可以花费某个输出,它不会侵入全局存储并重写它。
官方文档指出一个重大后果:在发送交易之前,可以在链下检查交易的有效性。在基于账户的系统中,交易可能在脚本执行中途失败。而在 EUTXO 中这种情况不会发生,尽管如果另一个交易先花费了相同的输入,该交易仍可能被拒绝。
开发体验也随之改变。文档警告说,基于账户的链的设计模式不能直接移植。你需要新的模式,因为数据的结构截然不同。
Datum、Redeemer 和 Validator 是什么?
在几乎每一个智能合约中,Cardano EUTXO 模型的三个部分协同工作:
- Datum(数据):附加到输出的数据。它保存脚本关心的状态,例如所有者或截止日期。
- Redeemer(赎回者):交易在花费输出时带来的输入。可以将其视为请求,如“释放”或“取消”。
- Validator(验证器):保护地址的脚本。它读取 Datum、Redeemer 和交易,然后给出“是”或“否”的答案。
以一个简单的托管(Escrow)为例:Datum 存储买方、卖方和截止日期。Redeemer 请求释放资金。验证器检查正确的签名和截止日期。如果一切符合,交易通过。
EUTXO 如何处理智能合约执行?
当交易尝试花费被脚本锁定的输出时,脚本验证开始。验证器运行,检查条件,并批准或拒绝。它不向任何地方写入数据。
那么状态如何向前推进?交易本身提议新的输出,包括下一个 Datum。旧输出被花费,新鲜输出来承载更新后的状态。
由于输入、输出和脚本都位于交易内部,Cardano EUTXO 模型下的结果是确定性的。文档补充道,费用可以在发布前精确预测。
为什么 EUTXO 模型对开发人员很重要?
Cardano EUTXO 模型在日常工作中带来了一些实际影响:
- 可预测的成本:你在提交之前就知道费用。
- 本地验证:在交易上线之前,先在链下进行检查。
- 确定性结果:只要输入仍然存在,你测试的结果就是你得到的结果。
- 并发规划:每个输出只能被花费一次,因此共享输出可能会产生竞争。
- 更严格的控制:你可以精确定义交易可以做什么。
文档还指出,当节点不触碰相同的输入时,可以并行验证交易。这有助于提高效率,并使结果更容易分析。
Cardano EUTXO 的优势有哪些?
可预测性是 Cardano EUTXO 模型的首要优势。只要输入仍然可用,通过本地检查的交易在链上的行为方式是一致的。
其次是透明度。脚本所需的一切信息都明文显示在交易中,这使得审计更加简单。由于脚本无法悄悄修改其他地方的存储,因此意外的状态变更较少。
这种设计也适合谨慎的合同逻辑。官方文档指出,验证的本地性质有助于开发人员证明“坏事”不会发生。对于金融应用程序来说,这是一个非常有用的属性。
Cardano EUTXO 的局限性有哪些?
Cardano EUTXO 模型并非没有权衡。以下是开发人员报告的主要问题和文档承认的限制:
- 学习曲线:以输出为思维模式需要练习。
- 并发问题:当许多用户争夺同一个输出时,只有一个能成功。文档建议将逻辑分散到多个 UTXO 中以实现真正的并行处理。
- 以太坊习惯:从基于账户的链中熟悉的模式很少能原样移植。
- 交易设计:构建者必须仔细组装输入、输出和脚本。
诸如 Hydra 二层通道等扩展努力试图缓解吞吐量压力,但它们并不能消除良好 UTXO 设计的需求。
开发人员如何使用 EUTXO 构建 dApp?
典型的工作流程如下:
- 编写验证器:大多数团队从 Plutus(Cardano 的智能合约平台)或编译为它的语言开始。
- 设计 Datum 和 Redeemer:小而简单的数据类型更易于测试和阅读。
- 构造交易:选择输入,附加脚本,并设置输出。
- 连接钱包:钱包提供 UTXO 并签名。
- 测试并部署:在主网之前,先在公共测试网络上尝试一切。
代币遵循相同的账本规则,因此铸造也依赖于输出和脚本。
开发人员应了解关于 EUTXO 的什么?
Cardano EUTXO 模型最难的部分在于思维模式,而非技术层面。停止询问合约的状态住在哪里。转而询问交易消费了哪些输出,以及创建了哪些输出。
并发能力是真正的考验。将所有用户引导至单个输出的设计会导致排队。从一开始就将状态分散到多个输出中的团队通常能避免这一陷阱。
研究 Cardano DeFi 协议如何应对这些选择,是了解真实产品中权衡的一种有用方法。将每个设计视为一组交易,而不是函数调用。
结论
Cardano 的 EUTXO 模型通过脚本和附加数据扩展了比特币的 UTXO 设计。这正是 Cardano 上智能合约的动力来源。其显著特点是本地验证、可预测的费用和确定性结果。
开放的问题主要集中在实践层面:团队处理并发的能力如何?新开发人员适应的速度有多快?这些答案取决于工具和设计技能,而不仅仅取决于模型本身。
ADA
BTC
ETH

交易所
交易所排行榜
24小时成交排行榜
人气排行榜
交易所比特币余额
交易所资产透明度证明
去中心化交易所
资金费率
资金费率热力图
爆仓数据
清算最大痛点
多空比
大户多空比
币安/欧易/火币大户多空比
Bitfinex杠杆多空比
ETF追踪
索拉纳ETF
瑞波币ETF
香港ETF
比特币持币公司
加密资产反转
以太坊储备
HyperLiquid钱包分析
Hyperliquid鲸鱼监控
大额转账
链上异动
比特币回报率
稳定币市值
期权分析
新闻
文章
财经日历
专题
钱包
合约计算器
账号安全
资讯收藏
自选币种
我的关注