Filecoin Gas费用借鉴EIP 1544。引入了basefee燃烧的概念,而不像以前一样,会把所有gasused*gasPrice的费用全部给矿工。
首先我们先对其中的名词概念做一些解释。
- BaseFee,单位是attofil/gas。这个参数是filecoin网络根据网络拥堵情况动态变化的,用户无法设置。可以根据节点的RPC接口获取。
- GasFeeCap,单位是attofil/gas。参数是用户发送消息时设置在消息里面的,意思是用户愿意对每个gas出的最高单价。
- GasLimit,参数也是用户设置在消息中的,意思是用户愿意对这个消息最多出多少gas。也就是说,GasFeeCap*Gaslimit就是用户愿意为这个消息话费多少钱的最大值。不能超过。
- GasPremium,单位是attofil/gas。参数也是用户设置在消息中的。意思是愿意给矿工每个gas多少的钱的小费。为了让矿工选择简单,矿工的小费收入应该是Gaslimit * GasPremium,注意这里用的是gaslimit而不是gasused。
- gasUsed,是网络计算消息后,得出具体花费了多少gas的值。
用户的发送一个消息的成本:
燃烧:(baseFee * gasUsed)+
矿工小费:(GasPremium*GasLimit)+
溢出燃烧:(ComputeGasOverestimationBurn() * baseFee)
溢出燃烧的主要逻辑是不允许用户随意设置GasLimit,如果超过了GasUsed 的1.1倍,就会被燃烧一部分。从而防止用户随意设置GasLimit,进而挤占BlockLimit,形成是一种恶意攻击形式。
评论前必须登录!
注册