Cardano的手续费

Understanding Cardano Fees | Cardano Explorer (cexplorer.io)

大多数区块链使用某种形式的费用市场来计算交易费用。 当大量人想要使用区块链时,费用就会上涨。 随着区块空间需求的增加,费用变得更加昂贵。 费用金额无法提前预测,并且可能会发生变化。 费用受网络拥塞影响较大,情况并不理想。 卡尔达诺没有这种常用的机制。 交易费用是固定且可预测的。 我们将向您解释交易和普利拓斯脚本的费用金额是如何计算的。 我们还将解释卡尔达诺在过载时的行为方式以及称为分层定价的计划改进。

计算资源需要付费
在分布式网络中处理交易或执行智能合约的成本很高。 为了实现这一点,许多计算机必须在世界各地运行,为网络提供资源。 运行节点不是免费的。 运营节点的人期望以定期奖励的形式从网络中获得补偿。

在交易进入区块之前,它必须在整个网络中扩散。 它消耗必须验证交易的节点的计算能力。 交易暂时存储在内存池(临时内存)中。 插入区块后,将永久保存在区块链中。 这会消耗磁盘空间。 随着每个新块的添加,区块链的大小都会增加。

区块链是一项用户必须付费的服务。 没有第三方补贴网络的运营并从用户数据或广告中赚钱。 在每个去中心化网络中,都必须有某种机制向区块生产者支付奖励。 用户费用是网络的收入来源。

常规交易费用
计算常规交易的费用非常简单。 计算基于两个参数和交易规模。 公式如下:

费用 = A + B * 尺寸(TX)

A和B是可以调整的协议参数。 Size(tx) 是事务大小(以字节为单位)。

参数 A 反映了处理任何交易的固定成本,无论其规模或复杂程度如何。 这可以防止 DDOS 攻击(分布式拒绝服务)。

参数 B 反映了处理交易的可变成本,具体取决于交易的大小。 交易规模越大,存储和处理它所需的资源就越多。

协议参数A和B当前分别设置为0.155381 ADA和0.000043946 ADA/字节。

常规交易的大小可以为 200 字节。 在这种情况下,计算如下:

A = 0.155381 艾达

B = 0.000043946 * 200 = 0.0087892 艾达

费用 = 0.155381 + 0.0087892 = 0.164271 ADA

对于 200 字节的交易,用户始终支付恰好 0.164271 ADA。 永远不会多或少。 计算总是相同的。

如果交易大小为 300 字节,则成本会更高。 费用为 0.1685648 ADA。

只有交易规模会影响费用金额。 在 UTxO 模型的上下文中,这意味着一笔交易可以有多个输入 UTxO 和多个输出 UTxO。 UTxO 越多,字节大小就越大。

最常见的交易有一个(或两个)输入 UTxO 和两个输出 UTxO(一个接收者 + 将部分发送金额返回给发送者)。

请记住,发送代币和 NFT,或使用元数据,会增加交易规模,从而增加费用。

未来参数A或B可能会发生变化,或者费用计算系统将完全改变。 目标是让用户为分布式网络提供的服务支付公平的费用。

有必要认识到,由于支付费用的代币的波动性,收费系统中引入了非确定性。 尽管费用在 ADA 价值中是稳定且确定的,但其美元价值会波动。 这并不理想。 以美元计算费用是最方便用户的,因为这会给系统带来最大程度的稳定性。

截至撰写本文时,用户为常规交易支付约 0.07 美元(0.17 ADA)。 然而,如果 ADA 的市值在牛市中增加 10 倍,那么费用也会上涨 10 倍,即 0.70 美元(仍然只有 0.17 ADA)。

验证 Plutus 脚本的费用
如果交易需要普利拓斯脚本验证,则费用的计算取决于几个因素。 除了以字节为单位的事务大小外,计算过程中还必须考虑计算(CPU)步骤数和内存单元数。

使用脚本的事务通常要大得多,因为必须处理更多数据。

每个 CPU 步代表 1 皮秒的执行时间。 典型脚本消耗的 CPU 单元应少于 1,000,000,000 个(1 毫秒)。

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

注:对于常规交易,计算费用时不考虑CPU步数和内存单元数。 它们被设置为 0。

Plutus 费用估算器可用于计算脚本验证费用。 该估算器可用于在开发之前或开发期间计算脚本交易或完成 DApp 的费用。

基元 Plutus 操作在参考架构上进行评估,以根据其使用的基本 CPU 和内存单元给出每个基元的成本。 这些是根据脚本使用的每个不同原语的数量进行缩放的,并且脚本的总体成本是根据每个 CPU 和内存单元的当前成本加上事务的大小来计算的。 它包括脚本的大小以及脚本所需的任何日期。

在下表中,您将找到几个脚本示例以及计算出的验证费用。

单个脚本的最大可能成本为 2.17 ADA。

使用该应用程序可能需要验证多个脚本,因此总费用可能会更高。

无费用市场
卡尔达诺网络不实现交易优先级。 交易按照先到先得的原则执行。

因此,如果网络达到其最大容量,交易将在内存池中排队。 然而,内存池的容量也是有限的。 如果内存池已满,网络将应用背压机制。 在这种情况下,网络不接受提交的交易。 用户必须稍后尝试再次提交交易。

如果卡尔达诺网络拥堵,用户无法支付额外费用来提前处理交易。

在比特币和以太坊网络中,用户可以设置比当前水平更高的费用,从而本质上优先考虑交易。 区块生产者根据费用的高低来选择交易。 他们试图最大化利润,因此他们选择费用最高的交易。

一方面,市场费用是一种自然的市场机制,旨在应对区块空间需求的增加。 然而,另一方面,它使网络变得不可靠和排他性(更喜欢富人)。 被跳过交易的用户必须等待更长的结算时间(数小时甚至数天),或者必须为交易支付更多费用。

然而,对于某些用例,有必要能够确定事务的优先级。

IOG 团队计划引入所谓的分级定价。

分层定价文件建议将区块空间分为几层。 每个等级都有不同的结算延迟和费用。 等级数量以及每层的延误和费用将根据当前需求自动调整。

您可以将该机制视为多车道高速公路。 每条车道都有不同的速度和不同的收费。 右车道速度较慢,费用便宜,而左车道速度较快,但费用昂贵。 左右车道之间可以有多个车道。 用户可以根据到达目的地所需的速度以及愿意支付的费用来决定走哪条车道。

结论
费用在一个纪元期间收集在虚拟底池中,并通过纪元之间的转换之间的质押机制进行分配。 储备金中 0.3% 的 ADA 币将添加到虚拟底池中。 在虚拟底池中,除了储备金之外还有费用。 虚拟池中 20% 的 ADA 币被放入项目金库。 其余的用于质押奖励。

区块链网络可以处理大量廉价交易,使其具有包容性和有用性。 或者它可能会处理少量非常昂贵的交易,从而使其具有排他性且无法使用。 在这两种情况下,网络都可以获得相同的费用收入。 如果网络可扩展性良好,那么这是理想的,因为不需要费用市场并且所有用户都满意。

卡尔达诺在 ADA 价值中具有固定且可预测的费用,可以说它公平地对待用户。 然而,它仍然缺乏优先级机制。 如果网络过载,则无法对必须在金融服务背景下的特定日期和时间之前结算的交易进行优先级排序。 随着牛市的临近,最好实行分级定价。