回到我们的公路旅行类比中,考虑一下汽车中汽油之类的 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 网络由客户、矿工、开发人员、合作伙伴和代币持有者组成,将继续合作并将网络发展到更好的方向。 (责任编辑:admin) |