Cardano eUTXO 模型解析
Cardano 是由 Input Output Global 开发的主流权益证明(PoS)区块链平台,它采用扩展的未花费交易输出(eUTXO)模型来追踪价值并执行智能合约交易。与传统的基于账户的系统不同,Cardano 的模型依赖于“未花费输出”的概念:每笔交易都会消耗现有的输出并产生新的输出。这一过程由 Plutus 脚本控制,Plutus 是 Cardano 的智能合约编程框架,负责判定特定输出是否可被花费。
eUTXO 模型的核心特性
eUTXO 模型随着 Cardano 在 2021 年 9 月推出的 Alonzo 升级而引入,它在传统 UTXO 方法的基础上进行了扩展,将可编程逻辑和可选数据直接附加到输出中。这使得更先进的智能合约功能成为可能,并支持 Cardano 网络上的原生多资产交易。
每个未花费的交易输出(UTXO)都持有价值和关联数据,当作为新交易的输入使用时,必须被完全消耗。任何剩余的价值将在新创建的输出中返回。交易输入是显式引用的,而不是调整共享的账户余额。
验证器(以 Plutus 脚本的形式实现)会检查拟议的交易,以确认其是否符合预定的花费条件。这些条件通过附加的数据(datum,与输出关联的数据)、赎回者(redeemer,花费指令)以及交易本身的上下文进行验证。
如果交易满足所有必需的检查,它将消耗选定的输入并生成新的输出,这些新输出可能会为 Cardano 上未来的交易建立合约状态。
微型词典:Plutus 指的是 Cardano 的原生智能合约开发语言,专为在 Cardano 区块链上创建和管理高级去中心化应用程序而定制。Plutus 脚本强制执行输出花费规则,并为 Cardano 网络提供可编程性。
内联数据与交易数据
根据 Cardano 改进提案 32(CIP-32)描述的内联 datum 功能,允许将相关的 datum 信息直接存储在交易输出中。这一功能减少了交易在每次花费输出时重新提供整个 datum 的需求,简化了合约操作,并增强了 dApp 开发人员的灵活性。
并行处理与冲突管理
Cardano eUTXO 模型提供的重大优势之一是支持并行交易处理。由于每个 UTXO 只能被消耗一次,引用不同 UTXO 的独立交易可以同时验证。然而,当多笔交易尝试花费同一个 UTXO 时,会发生冲突,且只有一笔能够成功。
开发人员可以通过扇出(fan-out,将输出分配给多个用户)、类似操作的批处理或利用参考输入等方法来解决资源争用问题。应用设计在管理瓶颈方面起着关键作用,因为该模型的并行化承诺取决于输出的架构方式。
对比分析
| 特性 | Cardano eUTXO | 共享状态(基于账户) |
|---|---|---|
| 状态表示 | 在独立的输出中跟踪价值和数据 | 使用账户余额或集中式合约状态 |
| 交易花费 | 一次性消耗指定的输出 | 更新共享余额或状态条目 |
| 验证逻辑 | 验证器检查花费权限 | 合约根据逻辑更新状态 |
| 并行性 | 如果 UTXO 不同,则并行验证 | 需要协调共享状态 |
风险与开发者指南
Cardano 的预提交检查可以模拟交易的有效性和脚本成本,但不能保证交易将被包含在区块链中。如果另一笔交易首先花费了所需的输入,原始交易将无法执行。该模型的并发优势仅在交易不竞争同一个 UTXO 时才适用。
eUTXO 框架支撑着合约如何验证交易,但并不能保证代币、dApp 或资产的整体安全性或盈利能力。与交易模型无关的风险,如智能合约漏洞、交易所故障、诈骗、监管变化和波动性,仍然对用户构成威胁。
Cardano 开发团队表示,实施了诸如 Dijkstra 批量验证等更新,以聚合 Plutus 子交易,执行预算应用于区块和费用限制。他们还报告了对 Cardano Node 和 Plutus 脚本上下文的持续升级,并澄清并非所有版本都意味着网络硬分叉。
常见问题解答
问:Cardano eUTXO 模型的作用是什么?
答:Cardano eUTXO 模型是区块链记录和验证所有权及交易逻辑的主要方法。交易消耗选定的输出并生成新的输出,验证器脚本根据附加的数据和上下文确定花费资格。
问:Datum、赎回者和交易上下文如何工作?
答:Datum、赎回者和交易上下文共同使 Plutus 验证器能够评估花费行为是否合法。当交易触及不同的 UTXO 时,可以进行并行验证;然而,同时尝试访问一个 UTXO 将会发生竞争,且只有一笔能够继续进行。

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