深入计算FIL网络中的Gas费用

释放双眼,带上耳机,听听看~!

之前星际原社区发布了文章《深入探讨FIL中的Gas费运行机制》探讨了Gas费用产生的原理,帮助大家了解FIL网络中的Gas费。今天我们来了解如何核算Gas费,从矿工的角度看如何支付Gas费比较合适,避免转账失败或迟到账的情况。

如今,FIL网络中信息数量超过100万,这是导致网络数量拥堵的直接原因,本质是FIL网络TPS的不足,每个区块只能够打包完成几百笔信息,间接影响了Block Gas Limit。

深入计算FIL网络中的Gas费用

举个简单的例子,如果一个Block Gas Limit只能容纳100箱子,而市场上的5个矿工分别有10,20,30,40,50个箱子需要打包运输,因区块只能打包不超过100的数量,那么这个区块只能装(10+20+30+40)或者(40+50)。目前FIL当前就面临这样的困境。

那么是否通过技术手段提升区块的容纳量呢?但目前很难实现,这点需要从安全性和经济收益说起。

安全性:众所周知所有区块链项目都遵循“蒙代尔不可能三角定律”:效率、安全性和“去中心化”无法同时实现。以目前的技术水平,升级其中一个指标就不可避免的牺牲其他两个指标。假如提高TPS,很多数据不能及时上传的话,会逐步削弱去中心化的性能,在影响去中心化的同时也影响着网络的共识和安全性。

经济收益:若提高区块链的容纳量,就会导致很多信息延迟上传,出现空块或者孤块的概率就高,直接影响矿工收益。即便是延长区块时间,FIL网络原本每日2880高度,减少每日产块无疑是减少区块奖励。所以从经济收益角度上看,扩大容纳量会降低矿工的收益。

综合安全性和经济性,目前很难有行之有效的策略降低Gas费。官方接下来FIP-08提案的解决方法是聚合提交PreCommitSector 消息,通过合并消息降低网络拥堵,减少Gas消耗;还有一种提高TPS但是不失安全性的方式,即是扩容区块,从而实现Block Gas Limit上限的提升,同时提高矿工硬件的性能,继续投入新的硬件,这种方式对矿工来说不太友好。

Gas费=基本燃烧费(BaseToBurn)+小费(Miner Fee)+超额燃烧费(OverEstimateToBurn)

目前官方团队并不倡议大家使用过高的Gas费,所以会对超额部分作出惩罚,即超额燃烧费。

深入计算FIL网络中的Gas费用

小费(Miner Fee)

当 BaseFee + GasPremium > GasFeeCap,Miner Fee=Gas Limit*(GasFeeCap-BaseFee)

当 BaseFee + GasPremium ≤GasFeeCap,Miner Fee=Gas Limit*GasPremium

BaseFee、GasPremium和GasFeeCap分别是三种费率,BaseFee针对基本燃烧费,GasPremium针对小费费率,GasFeeCap针对总的支付费率。官方对小费设定了一个参数,主要是为了让GasFeeCap与两者的关系BaseFee + GasPremium,尽可能地支付更少的小费。

目前按市场上的消息小费都是BaseFee + GasPremium ≤GasFeeCap,即是Miner Fee=Gas Limit*GasPremium

基本燃烧费(BaseToBurn)

我们都知道BaseToBurn=Base Fee*Gas Used。

超额燃烧费(OverEstimateToBurn)

对于超额燃烧费FIL为gas设定了一个指标Over,主要是为了避免使用过高的Gas费,其中Over=Gas Limit-11/10*Gas Used。

深入计算FIL网络中的Gas费用

根据之前文章的内容可知,整理后,我们需要得知Gas Limit/Gas Used的范围。

深入计算FIL网络中的Gas费用

以上图二的数据为例,先求得Gas Limit/Gas Used=439951486/352018389=1.24979688490081,符合图三条件,代入Over求得超额燃烧费。

深入计算FIL网络中的Gas费用

代入以上求出的OverEstimateToBurn和BaseToBurn,Burn Fee=OverEstimateToBurn+BaseToBurn=0.0515588402332158+1.37788616484047=1.4294450050Filecoin,即是图二的Burn Fee费用。

所以实际总支付的Gas费为OverEstimateToBurn+BaseToBurn+Miner Fee,多余的部分会被退回去。

如何设定费用能驱动矿工打包?

矿工打包两个主要步骤:检查Gas Fee Cap是否比目前Base Fee大,以及Gas Premium是否足够大。

Gas Fee Cap是否比目前Base Fee大。因为Gas Fee Cap是用户能支付的最大费率,假如费率过低会三倍惩罚矿工。例如,本来一笔转账用户需要支付10元,但是用户填写了最大能支付9元,但是矿工由于忽略打包完成了,差额1元需要矿工支付,同时还要额外2倍惩罚,即2元,所以总的来说差额部分会对矿工造成三倍惩罚(3元)。因为现在一天信息超过百万条,矿工有可能会因为忽略了这一点造成严重的Filecoin惩罚。

确保了信息可以打包后,矿工需要权衡自己的利益是否最大?

Gas Premium是否足够大。这块主要是涉及矿工的利益,Gas Premium越大矿工获得手续费会较多(当BaseFee + GasPremium ≤GasFeeCap时),因为Miner Fee=Gas Limit*GasPremium,即使矿工获得利益最大。否则就会如图二的数据,Gas Fee Cap为19.57nanoFilecoin很大,但是Gas Premium为1 attoFilecoin,实际给到矿工的利益很小,市场行为就会延后打包。

所以用户需要快速转账时,需要先确保Gas Fee Cap是否比Base Fee大,以及Gas Premium是否足够大,这样才能确保转账被即使执行。

 

矿业新闻

GPU测评|RTPundi3060Ti和RTNPXS3070挖矿哪个更划算?

2020-12-17 18:30:00

矿业新闻

【存储市场峰会】全球大佬们关于FIL都聊了啥?

2020-12-17 20:48:04

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索