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