撰文:ProtocolLabs
翻译:FileCombo
Gas是我们在Filecoin中经常听到的词,Gas译为「汽油费」,本篇将讲述关于汽油费收费的运作方式以及为什么它们对Filecoin网络很重要。
Filecoin是区块链经济,参与者在分布式网络上进行交易。通过矿工在他们挖掘的区块中记录和处理消息来更新网络状态。有多种消息,包括存储入库,存储交易,正在进行的证明,令牌交易等。
但是,由于链性能,可伸缩性和验证时间所施加的约束条件,一个块中可以处理的消息数受到限制。这样,在任何给定时间,网络上只有消息的子集可以使其成为一个块。
此外,执行消息会消耗网络上的计算和存储资源。在这里,Gas开始发挥作用,以衡量消息消耗的资源。消息消耗的Gas直接影响发送者将消息提交到区块链所支付的成本。并且一个区块中所有消息所消耗的Gas总量是有限的。
Gas可以被视为Filecoin区块链的燃料,就像汽车燃料一样。在进行公路旅行之前,您必须支付在行驶距离和为山上和下坡引擎供电时消耗的汽油。同样,Filecoin上的消息发送者要为「推动」Filecoin区块链上的消息执行的Gas付费。
Gas最初是在以太坊区块链上实现的,用于衡量消息消耗的计算和存储资源。这是短语「GasUnit」的起源。从历史上看,在其他区块链中,矿工以本机货币指定GasFee,然后根据消息消耗的Gas量向生产矿工的区块支付优先费用。
但是,Gas消耗是整个网络应承担的成本,因为网络上的每个节点都必须花费存储和计算资源来验证每条消息并保持网络的一致状态。这样,基于特定消息的Gas使用量,会燃烧一些Gas以补偿网络。不散布此成本会造成激励失调,因为成块生产的矿工可能会免费包含计算上昂贵的消息,而其他人则会为此付出代价。
BaseFee是以太坊的EIP1559引入的概念。一条消息的BaseFee乘以Gas使用量将会被「燃烧」。这意味着将其发送到无法使用的地址,并从网络上的流通中删除。它会根据给定时刻对网络带宽的需求进行动态调整。当网络变得拥塞时,它会上升,从而使估值低于网络BaseFee的邮件发件人将保留并等待直到拥塞消除。BaseFee的变化速率旨在快速增加潜在的DOS攻击,并随着网络变得不那么繁忙而迅速降低。导致网络变得更加拥塞的消息发件人也将通过支付更高的费用来内部化成本。燃烧还会产生缓慢的通缩压力,使所有网络参与者受益。
回到我们的公路旅行类比中,考虑一下汽车中汽油之类的Gas,以及正常交通中的网络。如果道路拥堵(例如在高峰时段),并且交通停走,您的汽车将消耗更多的汽油。在这种情况下,可能需要稍等片刻然后再开始旅行。相同的理论也适用于Filecoin网络-当网络流量拥塞时,汽油费将很高,因此等待稍后再试可能是有意义的。
除了烧掉一些费用以补偿网络之外,消息发送方还包括针对生产矿工的区块的优先级费用,该费用不受消息消耗的Gas量的束缚。这称为GasPremium,也可以在协议之外进行安排。
为了帮助大家更好地了解加油站收费机制,以下内容描述了消息的相关Gas概念及其相互作用。这些字段可以由消息发送者设置,但是目前在Lotus中是自动的,可以开发更多工具。
GasLimit–消息发送者可以消耗,估计和指定的消息执行量的限制。块中包含的所有消息的GasLimit之和不得超过BlockGasLimit。这以GasUnit为单位。
GasUsage–一条消息的执行实际消耗的Gas量。当前协议不知道消息在执行之前将确切消耗多少Gas。这以GasUnit为单位。
GasFeeCap–发件人愿意为每个GasUnit为在块中包含消息而支付的最大代币数量。发送消息时,消息发送者的最低余额必须等于GasFeeCap乘以GasLimit的最低余额,即使并非所有余额都将被消耗掉。以attoFIL/GasUnit为单位。
GasPremium–优先权费用,它按每单位GasLimit的价格支付给块状生产矿工。这受GasFeeCap的限制,BaseFee具有更高的优先级。这以attoFIL/GasUnit为单位,并且可以低至1attoFIL/GasUnit。
BaseFee–一个网络范围的变量,可以根据上一个技巧集中的所有消息的GasLimit之和动态调整。当总GasLimit超出某个块的GasLimit目标(信号网络拥塞)时,它将增加,而当低于此值时,它将减少。以attoFIL/GasUnit为单位。
消息发送者只需为每个消息指定一个GasFeeCap和GasLimit。随着链上资源的消耗,GasUsage乘以BaseFee将被燃烧。从GasFeeCap中减去BaseFee将产生GasPremium。GasPremium乘以GasLimit将默认实现是矿工基于GasFeeCap/GasLimit选择消息,以在给定GasLimit的情况下最大化其预期收益