在Filecoin网络中,gas概念用于测量执行给定链上交易所需的计算资源。这些资源的成本需要支付,导致必须围绕谁应该承担这些成本以及需要如何确定消耗有限资源的交易的优先级来做出许多决定。
例如,一种方法可能是进行第一价格拍卖。在这样的系统中,希望在区块链上执行交易的参与者提交出价以阻止矿工。然后,当矿工将相关交易包含在开采的区块中时,它们便将这些投标作为费用收取。给定区块的大小或区块可以交易的天然气量的上限,矿工对交易进行优先排序,以优化他们收取的费用。
尽管在概念上很简单,但已表明此类方法存在许多缺陷。一价拍卖的操作可能很复杂,并且可能导致投标人多付很多钱。它们还会在网络拥塞期间导致不良行为。
上面详述的系统还奖励矿工全部的汽油费,而忽略了网络中非矿业参与者也必定会花费资源来处理每笔交易的事实。
EIP-1559
以太坊改进提案(EIP)1559是针对许多这些问题而开发的标准。它的主要创新是引入了与每个区块相关的基本费用(每单位天然气)。由于网络拥塞,该费用会增加或减少,从而将网络流量推回到目标水平。
在EIP-1559下,交易创建者指定了费用上限(他们愿意为包含此交易而花费的每单位天然气最高支付的费用)。如果费用上限小于模块的基本费用,则不能将其包括在模块中。交易创建者还指定了一个小费(也以每单位天然气为单位);这个技巧是由区块矿工收集的。
交易创建者支付的最低费用为a)费用上限和b)基本费用加小费,再乘以交易所用的费用,而不是单价拍卖。基本费用中的所有收入都会被消耗掉,从而产生通缩压力,从而使整个网络补偿执行交易所花费的资源。
反过来,矿工则至少要获得a)小费,b)费用上限减去基本费用,再乘以交易所用的气体。
在这种方案下,交易创建者可以确保他们的高优先级交易仍能将其放入区块链中,而通常支付的费用要少得多。
EIP-1559在Filecoin
EIP-1559具有许多引人注目的特性,与Filecoin的设计注意事项非常吻合:
●效率。EIP-1559概述了用于设置和计算天然气的更有效模型。
●用户体验。估算和费用设定比参加一次价格拍卖要容易得多。
●关键消息吞吐量。Filecoin中的WindowPost消息是时间紧迫的,因此必须以对拥塞鲁棒的方式进行处理。EIP-1559为此类消息提供了更高的可靠性和吞吐量。
●交易奖励网络。整个网络承担处理交易的费用,因此应相应补偿。
由于所有这些原因,Filecoin进行了少量修改就将EIP-1559纳入了其核心协议。Filecoin使用技巧集;它的交易在执行之前就进入了链条,在这种情况发生之前,无法确定实际的天然气使用量。因此,Filecoin要求用户提供估计的交易限额。为了恰当地调整激励措施,高估一定幅度以上会被高估烧伤。
当前结果和总结
EIP-1559已实现并存在于Filecoin主网上。当前,由于网络事务,每天消耗约100k到150k FIL。纳入标准至少取得了两个关键胜利:
●高价值交易的快速通道。有时,存储入职消息可能会威胁到对时间更敏感的WindowPost消息的价格。然而,正如预期的那样,集成EIP-1559为Filecoin参与者提供了一种直接的机制来解决这种拥塞问题,而无需始终付出高昂的代价。
●网络容量管理。到目前为止,EIP-1559的基本费用机制在将网络容量保持在其目标的100%方面做得很好。
随着时间的流逝,交易创建者在估计交易所需的天然气量方面也变得更加出色,从而长期减少了高估消耗量。
还有一些改进的余地:基本费用差异很大,其变化率很尖刻。这是由于随着新存储的推出,大量的拥塞。在过去,这也导致重要的WindowPost消息也被定价。
Filecoin社区可以研究多种方法来解决这些定价问题:
●气体控制飞机。解决网络拥堵的一种可能方法是为控制平面交易创建专用的供气通道,将每个块的一部分留给对区块链功能至关重要的特定消息。
●消息类型费用结构。解决此问题的另一种方法可能是减少WindowPost的成本,或者增加其他消息(尤其是Pre / ProveCommit消息)的成本。
●基本费用变动率。基本费用随时间推移的尖峰度表示费率选择不理想,可能会更平滑。
可以引入与气体模型无关的其他方法来帮助缓解拥堵:
●缩放证明。扩展Filecoin的证明机制的构想包括SNARK的批量验证,以及基于斜线的验证,以减少需要预先完成的验证量。
●标度共识。考虑到当前的拥塞率,Filecoin可能需要迅速寻求分片。
未来的工作
Filecoin满存算力产品是星际数据推出的Filecoin算力业务,专注于Filecoin挖矿。V丨hugoschan
展望未来,到目前为止,对于Filecoin网络所取得的成果,还有许多潜在的数据分析工作,并且有机会与其他研究人员和区块链社区合作,以EIP-1559的思想为基础。一些可能的研究领域包括将排队论引入气体模型(当前模型中可能存在效率低下),保证某些消息和交易的服务质量以及探索将加密交易引入区块链的方法可以在将来的某个时间点执行。