Filecoin的Gas 费归“零”?计算方式告诉你没真的归零

相较于单个证明而言,聚合证明除消息Gas Fee以外,还增加了聚合扇区Gas Fee的消耗。

随着Filecoin v13“HyperDrive”网络的升级,万众期待的Base Gas Fee比起升级前确实有很大幅度的下降,但似乎并没有网传的“归零”的态势,那么未来的Gas Fee到底会是多少,该如何计算?

数据数据来源:filfox网站(https://filfox.info/zh/stats/gas) 根据24h内Base Gas Fee的统计数据(Base Gas Fee不断波动,并没有趋于平衡)可以看出,很多节点已经开始使用聚合扇区提交证明,但还有部分节点并未使用。

数据数据来源:filfox网站(https://filfox.info/zh/stats/gas) 今天,我们就从Github抓取了关于Base Gas Fee的代码。我们将通过「解码」计算Base Gas Fee,并根据它来最优化、最便宜地选择扇区提交证明方式。那首先我们从聚合扇区证明与单个扇区证明的消耗开始吧~

相较于单个证明而言,聚合证明除消息Gas Fee以外,还增加了聚合扇区Gas Fee的消耗。 但额外增加消耗并不代表聚合证明的单扇区总消耗>单个证明总消耗 聚合扇区Gas Fee

我们一起通过以下代码计算一下聚合扇区Gas Fee。

数据代码来源:filfox网站(https://github.com/filecoin-project/)

代码关键词解读:(很重要,需理解才能解析公式) ①BatchDiscount(聚合折扣)=1/20 unitless:一个GAS使用折扣工具,它使聚合证明原则上比单条证明消息的GasUsage更便宜(仅占1/20)。 ②BatchBalancer(聚合平衡值)=2 nano FIL:设置了GasCharge的最低值,它调节ProveCommit聚合和Gas费,确保大规模存储上线支付网络费用并建立使用阈值,使之为其他网络操作维持较低的BaseFee。

③SingleProofGasUsage(单扇区消耗GAS量) =65,733,296.73

④NumProofsBatched(聚合扇区总数) ⑤BatchGasFee(聚合GAS价格)= Max(BatchBalancer, BaseFee):取聚合平衡值与base gas fee两者的最大值

公式解读:

原公式(图片最后一条代码):BatchGasCharge = BatchGasFee * SingleProofGasUsage * numProofsBatched * BatchDiscount

翻译下来就是:聚合扇区Gas Fee=聚合Gas价格*单扇区消耗Gas量*聚合扇区总数*聚合折扣

※ 鉴于聚合Gas价格是取聚合平衡值与base gas Fee两者的最大值。

代入后最终得到以下公式:聚合扇区GasFee= Max(聚合平衡值, BasegasFee)*单扇区消耗Gas量*聚合扇区总数*聚合折扣

∴ 聚合扇区Gas Fee中的单扇区消耗= Max(聚合平衡值, Base Gas Fee)*单扇区消耗Gas量*聚合扇区总数*聚合折扣=2*65,733,296.73*1/20=0.1*65,733,296.73=6,573,329.673 聚合证明的单扇区消耗vs单个证明的扇区消耗

前文说到两者公式如下:聚合证明的单扇区消耗Gas Fee=消息Gas Fee+聚合扇区Gas Fee单个证明的扇区消耗Gas Fee=消息Gas Fee

※而其中消息Gas Fee=平均gas消耗/聚合扇区总数*BaseGasFee

根据以上公式,我们计算一下两者孰高孰低。这里,以64G扇区为例。

数据本图是聚合证明的64G扇区消耗Gas Fee数据来源:filfox网站(https://github.com/filecoin-project/)

聚合证明的单扇区消耗Gas Fee最大值和最小值计算过程如下:

最小值=509,880,640/819*Basegasfee+6,573,329.673最大值=102,581,240/6*Basegasfee+6,573,329.673

单个证明的单扇区消耗Gas Fee计算过程如下:消耗Gas Fee=50,873,192*Basegasfee

计算两者均衡值

接着,我们再计算聚合证明和单个证明的均衡值:

最小均衡值:509,880,640/819*Basegasfee+6,573,329.673=50,873,192*Basegasfee∴ Basegasfee最小均衡值≈0.13 nano fil 最大均衡值:102,581,240/6*Basegasfee+6,573,329.673=50,873,192*Basegasfee∴ Basegasfee最大均衡值≈0.19 nano fil 现在我们以同样的公式,设定Basegasfee后,代入32G扇区看看聚合证明的单扇区总消耗最小值与单个证明的Gas Fee的数据:

数据

『综上所述』无论是32G还是64G,※ 当基础Gas费>0.19 nano fil,聚合扇区内的单扇区消耗Gas费<单扇区消耗Gas Fee(即:聚合扇区证明更便宜)※ 当基础Gas费<0.13 nano fil,聚合扇区内的单扇区消耗Gas费>单扇区消耗Gas Fee(即:单个扇区证明更便宜)※ 当0.13 nano fil<基础Gas费<0.19 nano fil时,需计算聚合证明的单扇区总消耗与单个证明的消耗Gas Fee差距再做决定。

转载声明:本文 由CoinON抓取收录,观点仅代表作者本人,不代表CoinON资讯立场,CoinON不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。

声明:图文来源于网络,如有侵权请联系删除

风险提示:投资有风险,入市需谨慎。本资讯不作为投资理财建议。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2021年7月9日 下午4:41
下一篇 2021年7月9日 下午4:41

相关推荐

Filecoin的Gas 费归“零”?计算方式告诉你没真的归零

星期五 2021-07-09 16:41:53

随着Filecoin v13“HyperDrive”网络的升级,万众期待的Base Gas Fee比起升级前确实有很大幅度的下降,但似乎并没有网传的“归零”的态势,那么未来的Gas Fee到底会是多少,该如何计算?

数据数据来源:filfox网站(https://filfox.info/zh/stats/gas) 根据24h内Base Gas Fee的统计数据(Base Gas Fee不断波动,并没有趋于平衡)可以看出,很多节点已经开始使用聚合扇区提交证明,但还有部分节点并未使用。

数据数据来源:filfox网站(https://filfox.info/zh/stats/gas) 今天,我们就从Github抓取了关于Base Gas Fee的代码。我们将通过「解码」计算Base Gas Fee,并根据它来最优化、最便宜地选择扇区提交证明方式。那首先我们从聚合扇区证明与单个扇区证明的消耗开始吧~

相较于单个证明而言,聚合证明除消息Gas Fee以外,还增加了聚合扇区Gas Fee的消耗。 但额外增加消耗并不代表聚合证明的单扇区总消耗>单个证明总消耗 聚合扇区Gas Fee

我们一起通过以下代码计算一下聚合扇区Gas Fee。

数据代码来源:filfox网站(https://github.com/filecoin-project/)

代码关键词解读:(很重要,需理解才能解析公式) ①BatchDiscount(聚合折扣)=1/20 unitless:一个GAS使用折扣工具,它使聚合证明原则上比单条证明消息的GasUsage更便宜(仅占1/20)。 ②BatchBalancer(聚合平衡值)=2 nano FIL:设置了GasCharge的最低值,它调节ProveCommit聚合和Gas费,确保大规模存储上线支付网络费用并建立使用阈值,使之为其他网络操作维持较低的BaseFee。

③SingleProofGasUsage(单扇区消耗GAS量) =65,733,296.73

④NumProofsBatched(聚合扇区总数) ⑤BatchGasFee(聚合GAS价格)= Max(BatchBalancer, BaseFee):取聚合平衡值与base gas fee两者的最大值

公式解读:

原公式(图片最后一条代码):BatchGasCharge = BatchGasFee * SingleProofGasUsage * numProofsBatched * BatchDiscount

翻译下来就是:聚合扇区Gas Fee=聚合Gas价格*单扇区消耗Gas量*聚合扇区总数*聚合折扣

※ 鉴于聚合Gas价格是取聚合平衡值与base gas Fee两者的最大值。

代入后最终得到以下公式:聚合扇区GasFee= Max(聚合平衡值, BasegasFee)*单扇区消耗Gas量*聚合扇区总数*聚合折扣

∴ 聚合扇区Gas Fee中的单扇区消耗= Max(聚合平衡值, Base Gas Fee)*单扇区消耗Gas量*聚合扇区总数*聚合折扣=2*65,733,296.73*1/20=0.1*65,733,296.73=6,573,329.673 聚合证明的单扇区消耗vs单个证明的扇区消耗

前文说到两者公式如下:聚合证明的单扇区消耗Gas Fee=消息Gas Fee+聚合扇区Gas Fee单个证明的扇区消耗Gas Fee=消息Gas Fee

※而其中消息Gas Fee=平均gas消耗/聚合扇区总数*BaseGasFee

根据以上公式,我们计算一下两者孰高孰低。这里,以64G扇区为例。

数据本图是聚合证明的64G扇区消耗Gas Fee数据来源:filfox网站(https://github.com/filecoin-project/)

聚合证明的单扇区消耗Gas Fee最大值和最小值计算过程如下:

最小值=509,880,640/819*Basegasfee+6,573,329.673最大值=102,581,240/6*Basegasfee+6,573,329.673

单个证明的单扇区消耗Gas Fee计算过程如下:消耗Gas Fee=50,873,192*Basegasfee

计算两者均衡值

接着,我们再计算聚合证明和单个证明的均衡值:

最小均衡值:509,880,640/819*Basegasfee+6,573,329.673=50,873,192*Basegasfee∴ Basegasfee最小均衡值≈0.13 nano fil 最大均衡值:102,581,240/6*Basegasfee+6,573,329.673=50,873,192*Basegasfee∴ Basegasfee最大均衡值≈0.19 nano fil 现在我们以同样的公式,设定Basegasfee后,代入32G扇区看看聚合证明的单扇区总消耗最小值与单个证明的Gas Fee的数据:

数据

『综上所述』无论是32G还是64G,※ 当基础Gas费>0.19 nano fil,聚合扇区内的单扇区消耗Gas费<单扇区消耗Gas Fee(即:聚合扇区证明更便宜)※ 当基础Gas费<0.13 nano fil,聚合扇区内的单扇区消耗Gas费>单扇区消耗Gas Fee(即:单个扇区证明更便宜)※ 当0.13 nano fil<基础Gas费<0.19 nano fil时,需计算聚合证明的单扇区总消耗与单个证明的消耗Gas Fee差距再做决定。