Cardano与比特币UTXO:关键模型差异解析
Cardano 与 Bitcoin UTXO:模型差异解析
理念相同,规则迥异?
Bitcoin 和 Cardano 都不维护传统的账户余额。两者都将资金追踪为被称为“未花费交易输出”(UTXO)的独立区块。这就像钱包里的纸币:你花掉整张纸币,找零会以新的纸币形式返回。
Bitcoin 有意保持规则的简洁。每个区块通常仅锁定一个简单的条件,即“只有拥有此密钥的所有者才能花费它”。这种简单性是比特币模型自围绕挖矿和工作量证明构建以来一直保持稳定的一大原因。
Cardano 则将这一理念进一步延伸。每个区块可以携带额外数据,持有除 ADA 之外的其他代币,并位于一个在移动前检查规则的脚本之后。因此,关于 Cardano 与 Bitcoin UTXO 的问题归结为:价值区块被允许做什么。Bitcoin 保持基础功能,而 Cardano 允许其存储信息并运行逻辑。
什么是 Cardano eUTXO 和 Bitcoin UTXO 模型,它们如何运作?
Bitcoin 于 2009 年推出,主要用作数字货币。它的职责是转移和存储价值,因此有意保持规则简单。Cardano 于 2017 年出现,不仅用于支付。Cardano 区块链运行智能合约(驻留在网络上的小程序),并使用 ADA 作为其原生代币。
两条链都以相同的基本方式记录价值,使用 UTXO。UTXO 是未花费的交易输出,简单来说就是你尚未花费的价值块。你可以将其想象成一张钞票。你不持有一个巨大的总余额;你持有的是单独的钞票。你交付整张钞票进行支付,任何找零都会以新钞票的形式返回。
Bitcoin 使用的是简化版本。每张钞票都通过简短的条件锁定,通常是只有所有者的密钥才能花费它。Cardano 使用的是扩展版本,称为 eUTXO。每张钞票也可以携带数据,并位于一个在移动前检查规则的脚本之后。因此,Bitcoin 的钞票主要说明谁可以花费它,而 Cardano 的钞票还可以说明如何以及在什么条件下花费。
Bitcoin UTXO 模型如何追踪硬币和处理交易?
每笔 Bitcoin 交易都有输入和输出。输入是你正在花费的钞票,输出是你正在创建的新钞票。每个输出包含一个金额和一个锁定脚本,该脚本设定了花费它的规则。
你不能花费半个输出。如果一张钞票的金额大于支付金额,剩余部分将作为找零输出返回给你。正如开发者指南所述,每个节点都独立检查每笔交易。
Cardano 如何通过智能合约功能扩展 Bitcoin UTXO?
Cardano 保留了“钞票”的概念,并增加了三个要素。根据 Cardano 的开发者文档,这些要素是数据(datums)、赎回器(redeemers)和脚本上下文(script context)。
数据(Datum):附加到输出的数据。赎回器(Redeemer):花费者提供的输入。脚本上下文(Script Context):对整个交易的视图。地址也可以持有脚本,因此 Cardano eUTXO 模型可以决定是否允许花费。这就是将普通输出转变为智能合约的关键所在。
Cardano 和 Bitcoin UTXO 的主要区别是什么?
特性Bitcoin UTXOCardano eUTXO输出包含的内容金额和锁定脚本值、可持有脚本的地址以及附加数据脚本可见内容仅限解锁数据数据、赎回器和整个交易智能合约简单脚本,主要用于支付完整的验证器脚本费用由费用市场设定,随需求波动发送前即可计算 简而言之,Cardano 与 Bitcoin UTXO 之间的差距在于脚本能知晓多少信息。由于代币也存在于输出中,你甚至可以在 Cardano 上创建代币,而无需为每个代币单独编写合同。
两种模型中的交易和花费条件如何工作?
在 Bitcoin 中,花费者提供满足锁定脚本的解锁数据。如果验证通过,输出即被花费,并产生新的输出。
Cardano 遵循相同的路径,但多了一个步骤。Cardano 的文档展示了一个简单的计数器示例:
UTXO 在脚本地址处锁定,数据值为 0。有人使用声称“递增”的赎回器来花费它。验证器检查结果,新输出携带的数据值为 1。旧输出被消耗,新输出持有更新后的状态。Datum、Redeemer 和 Scripts 在 Cardano eUTXO 中扮演什么角色?
如 datum 和 redeemer 指南所述,每个 Cardano 验证器接收三个参数:
Datum:锁定在脚本地址的状态。Redeemer:花费者想要采取的行动。Script Context:正在检查的整个交易的快照。称为验证器的脚本只批准或拒绝。构建交易的应用程序是在链下运行的。
Cardano eUTXO 和 Bitcoin UTXO 如何处理交易安全?
Bitcoin 的安全性依赖于签名检查和小型、简单的脚本系统。功能越少,出错的可能性就越小。
Cardano 的文档指出,脚本可以仅从交易中判断,而不需要整个链的状态。这有助于分析。但这并不能保证合约的安全。编写不当的验证器仍可能导致资金损失,且审计并非万无一失的保证。
两种 UTXO 模型在费用和交易可预测性上有何不同?
Bitcoin 的费用来自市场。费用是输入和输出之间的差额,繁忙时期会推高费用。
在 Cardano 上,eUTXO 解释器指出有效性仅取决于交易及其输入。因此,钱包可以在本地检查并首先计算出确切的费用。如果输入已被花费,交易将在链下失败且不产生任何费用。
Cardano 和 Bitcoin UTXO 的优势和局限性是什么?
Bitcoin UTXOCardano eUTXO优势简单易懂。部件少,因此更容易检查且更难破坏。支持智能合约。你可以在发送之前看到交易的预期结果。额外优势多个输出可以并行检查,从而保持稳定性。每个输出可以携带数据和其他代币,而不仅仅是 ADA。局限性脚本功能有限,无法运行复杂程序。设计难度较大。构建者需要与其他链不同的思维方式。额外劣势不适合具有大量移动规则的应用程序。一次只能花费一个输出,当许多人使用同一应用程序时这会变得尴尬。 对于 Cardano 而言,更强的信号是可预测的结果。主要的担忧是两个用户不能同时花费同一个输出,因此繁忙的应用程序需要变通方案。最大的未知数是如何随着使用量的增长,设计是否能很好地扩展。Cardano Hydra 扩展解决方案就是应对这一问题的一次尝试。
两种 UTXO 模型如何支持不同的区块链用例?
Bitcoin 的模型适合支付和简单的条件(如多重签名)。它在完成这一项工作上非常出色。
Cardano 的模型支持代币铸造、NFT、DAO 和 DeFi。你可以看到这些 Cardano 用例如何映射到该模型中。
在交易所中,流动性池展示了这种权衡。因为一个输出不能同时被花费两次,应用程序通常会将订单批量处理在一起。
结论
Bitcoin 的 UTXO 简单且专为支付而建。Cardano 的 eUTXO 添加了数据和脚本,同时保持结果的可预测性。目前尚不清楚的是 Cardano 的设计扩展能力如何。在构建或做出决定之前,请查阅官方文档。
一分钟读懂:Cardano 与 Bitcoin UTXO:模型差异解析理念相同,规则迥异?Bitcoin 和 Cardano 都不维护传统的账户余额。两者都将资金追踪为被称为“未花费交易输出”(UTXO)的独立区块。这就像钱包里的纸币:你花掉整张纸币,找零会以新的纸币形式返回。Bitcoin 有意保持规则的简洁。每个区块通常仅锁定
