对资源使用的限制:我们对一个中继区块所能处理的交易量进行了限制,目的是:a)确保每个区块即使在性能较差的节点上也能有效处理,避免区块生产的延迟;b)即使在网络流量很大的情况下,也能保证一定数量的高优先级、业务交易(如不当行为报告)的可用性。特别是,我们对以下资源设置了区块约束:链上字节长度,以及处理交易所需的时间和内存。
我们根据事务的优先级和资源消耗情况,将其分为几种类型。对于这些类型中的每一种,我们都根据最坏情况下的状态以及不同的输入参数进行了测试。从这些测试中,我们建立了每个事务的资源使用量的保守估计,我们使用这些估计来确保所有的资源使用限制得到遵守。
我们还增加了一个额外的资源约束:用来区分普通交易和高优先级交易,只让普通交易占到每个区块资源限制的75%。这是为了确保每个区块的高优先级交易至少有25%的资源保证空间。
交易费用:我们使用上述模型,根据三个参数设定交易费用水平:交易类型、链上长度以及预期资源使用量。这种费用的区分是用来反映一个交易在不同网络和地区环境中产生的不同成本,并鼓励处理某些类型的交易而不是其他。每笔交易费用的一部分被支付给区块生产者,而另一部分则被用于资助国库(第4.6.4节)。我们强调,对于区块生产者来说,来自交易费的奖励可能只占其总体收入的一小部分,只足以激励其加入区块。
我们还运行一个自适应的交易费用计划以应对不同流量状况,并确保日常区块避免满载的情况,因此活动的高峰期可以得到有效处理,并最小化尖峰时刻的出现概率。特别是,每笔交易的费用都乘以一个参数,该参数根据当前的网络流量随时间变化而变化。
我们使交易费的发展足够缓慢,所以任何交易的费用都可以在一个小时的框架内准确预测。特别是,我们并不打算让交易费成为验证人的主要收入来源。