IOHK官网博客:Plutus 费用估算器:找出在 Cardano 上交易的成本

image
原文来自IOHK Kevin Hammond,由卡尔达诺大使陈哲Anson翻译

我们今天发布的新费用估算器将帮助开发人员估算智能合约脚本的成本,以实现最高效率和最低成本

2021 年 9 月部署到 Cardano 主网的“Alonzo”智能合约升级将 Cardano 变成了一个功能平台,用于开发内置于 Plutus 中的去中心化应用程序(DApps)。

随着 Cardano 生态系统的稳步增长,大量 DApp 正在构建并准备在 Cardano 上发布。无论是在最终测试、部署中,还是积极发展,Cardano 将很快托管各种 DApp,涵盖 DeFi 产品、NFT 市场、钱包、交易所、游戏等。

卡尔达诺账本的确定性设计允许开发人员预测他们将为合约执行支付多少费用,并且合约失败不收取任何费用。确定性交易处理、低费用和安全性——所有这些都是在 Cardano 上进行交易和构建的主要好处。在这里,我们将仔细研究 Cardano 的定价,并介绍一种新的 Plutus 费用估算器,该估算器旨在提供更清晰的处理费用。

在 Cardano 上构建的好处

许多因素会影响区块链的价格竞争力:功能、质量、安全性,当然还有流动性。

支撑卡尔达诺分类账的设计原则确保了高性能,同时尊重严格的安全属性。 Cardano 使用扩展的未使用交易输出 (EUTXO) 会计模型,这极大地有助于其确定性设计。确定性是指结果的可预测性。这意味着可以在本地(链下)验证 Cardano 交易和脚本,因此在链上执行交易之前让用户知道交易是否有效,并且无需支付任何费用。此外,交易费用是固定的和可预测的。相比之下,以太坊上的智能合约执行成本因网络负载而异,费用从 5 美元到数百美元不等(请参阅以太坊上高得离谱的 Gas 成本)。此外,即使是失败的以太坊交易也可能产生费用,从而增加定价的不确定性。

相比之下,在 Cardano 上,用户可以提前计算交易处理的潜在费用。因为用户提前知道交易是否有效,所以无需为可能失败的交易付费。这可以节省资金浪费并消除链上故障。例如,卡尔达诺在 ada 中的执行费用始终是稳定的,因为它取决于预设的网络协议参数,而不是变化的网络拥塞因素。

卡尔达诺的定价模型依赖于供求关系

卡尔达诺的定价方法主要依赖于市场需求而不是实际供应。借助 Cardano 上的智能合约支持,现在有不止一种类型的需求在争夺共同供应。因此,考虑相对定价和绝对定价至关重要。一种方法是检查智能合约定价、不可替代代币 (NFT) 操作等的影响,涉及一些共同价值——在我们的例子中,是卡尔达诺处理能力的消耗。

对于 Cardano,智能合约定价模型基于固定成本,它依赖于所用资源的定价(UTXO 大小或运行时使用的计算/内存)。

必须支付费用以公平补偿权益池操作 (SPO) 工作和用于验证网络交易的资源。此外,确保使用 Cardano 的任何特定方式不会比另一种方式便宜很多,这有助于缓解各类对抗性攻击(例如经典的 DDoS 攻击)。

灵活性也是 Cardano 协议的关键和重要特征,因为它提供了更改其参数和适应价格波动的可能性。例如,如果 ada 的价值显着增加,则可以根据需要调整协议参数,以防止用户为执行智能合约多付钱。

Plutus费用估算器

Plutus 费用估算工具由 IOG 开发,用于价格基准和比较。今天,我们在我们的公共测试网网站上向开发人员或好奇的 Cardano 用户提供它。估算器使用来自真实世界 Plutus 交易的信息来预测交易将收取的费用。估算器可用于计算实际交易的费用(例如,确定如果网络参数发生变化将收取的费用),也可用于估算单个脚本交易或完整 DApp 在开发之前或期间的费用。确定脚本更改或优化对费用的影响也可能很有用。

估算器使用与实际 Cardano 节点相同的费用计算公式。给定足够准确的输入,它可以准确地了解所需的费用。通过结合多个交易的成本,用户可以轻松预测整个 DApp 的成本。这对于开发人员、业务分析师等来说很有价值。估算器包括许多基于真实交易的示例,这些真实交易已经根据实际费用进行了验证。

费用计算需要三个信息:

• 链上总交易大小(以字节为单位):例如,简单交易约为 300 字节,元数据约为 650 字节,Plutus 脚本通常为 4,000-8,000 字节(未来的优化将减少这一点)。

• 脚本使用的计算 (CPU) 步骤数:每个步骤代表 1 皮秒的执行时间在基准机器上准时。典型的脚本应该消耗少于 1,000,000,000 个 CPU 单元(1 毫秒)。

• 脚本使用的内存单元数:这表示脚本分配的字节数。典型的脚本应该消耗少于 1,000,000 个内存单元(1MB 的内存分配)。

让我们看一下 Plutus 脚本示例以了解它们的执行成本(图 1):
image

图 1. Cardano 脚本处理的估计费用

估算器表明,发送一个简单的交易将与 0.17 ada 一样便宜,而单个脚本的最大可能成本将是 2.17 ada。

该计算可以扩展到 DApp 执行(参见图 2)。例如,一个使用三个事务(一个简单事务和两个脚本事务)的 DApp 可能花费约 1.50 ada。
image

图 2. 在 Cardano 上执行 DApp 的估计费用

写在最后

Alonzo HFC 事件在 Cardano 主网上启用了 Plutus 脚本执行。这实际上只是 Cardano 智能合约旅程的开始。现在,随着主要智能合约项目的启动,我们可以开始优化和扩展的过程。这包括对实际的、现实世界的智能合约使用情况的持续评估。

我们需要平衡用户的需求和对网络有利的因素、速度与正确性,并且一如既往地在安全性、可扩展性和去中心化之间取得平衡。

未来的代码/脚本优化和系统性能改进将有助于随着时间的推移改进 Cardano 费用模型。我们将与我们的开发人员和权益池运营商社区一起监控智能合约的增长,优化 Cardano 节点和 Plutus 解释器的实施,并进行其他调整,以在公平和可预测的交易费用方面为我们的用户群提供最佳支持。

查看 testnets.cardano.org 上的 Plutus 费用估算器并确保 - 您可以轻松估算处理费,而不会在交易失败的情况下损失您的资金。

原文链接:Plutus fee estimator: find out the cost of transacting on Cardano - IOHK Blog