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