原力研究 | 如何核算Filecoin网络上的Gas费

2020-12-15 17:06:02 来源:IPFS原力区 作者:IPFS原力区 阅读:4291
   
计算Gas费?看本文就够了......
本文由IPFS原力区原作

之前撰写了一篇《一文读懂Filecoin Gas费供需现状与超额燃烧》文章,收到一些用户的反馈。基于有部分用户不太理解如何运用该公式,这次我们分享一下如何一步步核算Gas费,从矿工的角度来看如何支付Gas比较适合,避免转账失败或迟到账的情况。

首先我们先回顾下Filecoin网络的近况。

1)居高不下的信息数量超过100万

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

(图一)11月14日-12月13日Filecoin信息数量,来源:IPFS原力区,2020-12-15

假如一个区块的Block Gas Limit只能容纳100箱子,市场上五个矿工分别有10、20、30、40、50(Gas Limit)个箱子需要打包运输,因区块只能打包不超过100的数量。那么在这个区块只能装(10+20+30+40)或者(40+50)。

那么大家会问,能否提高区块的容纳量?目前来说很难实现,主要从安全性和经济收益说起。

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

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

从安全和经济收益角度看,目前尚未有一种可直接降低Gas的策略,不过最近官方也提及到FIP-08提案聚合提交PreCommitSector 消息,通过合并消息降低网络拥堵,减少Gas消耗;还有一种提高TPS但是不失安全性的方式,即是扩容区块,从而实现Block Gas Limit上限的提升,同时提高矿工硬件的性能,继续投入新的硬件,这种方式对矿工来说不太友好。

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

之前超额燃烧文章有提及过,协议实验室官方不太提倡使用过高的Gas费,所以会对超额的部分做一些惩罚,即是超额燃烧费。下文,我们以某一Gas费为例子,展开计算说明。

(图二),来源:filfox.info,2020-12-14

小费(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,代入上图数据得出

因为图二的Burn Fee是包含基本燃烧费和超额燃烧费,所以我们需要计算出两个值。

基本燃烧费(BaseToBurn)

我们都知道BaseToBurn=Base Fee*Gas Used,代入图二数据计算得

超额燃烧费(OverEstimateToBurn)

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

(图三)Over指标,来源:IPFS原力区,2020-12-15

根据之前文章的内容可知,整理后,我们需要得知Gas Limit/Gas Used的范围。图三是我们整理了11月14日-12月14日的Gas Limit/Gas Used,大多数都是在1.2-1.3范围内,所以可用以下公式。

(图三)《一文读懂Filecoin Gas费供需现状与超额燃烧》,来源:IPFS原力区,2020-11-08

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

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

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

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

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

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

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

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

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

该以上建议适合用户使用,对于矿工仅供参考。因为矿工每日需要打包信息较多,需要更为精密的计算才能保障Gas费的合理使用,由于过于复杂,不在此展开。

本文主要为用户解答一些问题,虽然Filecoin网络过于拥堵,导致矿工无法顺利增长算力。但是笔者相信随着FIP提案优化,机制或者技术会逐步解决Gas费高昂的问题。

因为Filecoin的夙愿是成为Web 3.0的基建,未来道阻且长,希望众投资者耐心等候。

PS:本文仅给用户提供一种计算方案,不做投资建议。

声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。

158 文章 779096 浏览

更多 矿机信息

更多 推荐专栏

  • 吴说区块链
  1. 吴说区块链
  2. 知名自媒体,作者曾获中国新闻奖。为您提供加密行业、科技公司独家可靠的信息与观点。
  • 挖币网评测
  1. 挖币网评测
  2. 挖币网专业测评
  • 区块鲁班
  1. 区块鲁班
  2. 元宇宙工程师——区块鲁班,是一个具备全球化服务能力的公司品牌。提供矿机采购、维修、测试、托管、运维、出口等一站式服务。我们与比特大陆、比特微、嘉楠国际、芯动科技等全球头部矿机生产厂家建立了良好的合作关系,共同开创矿机国际化服务标准,并携手在全球布局矿机服务中心,为全球加密货币行业参与者提供专业、高效、全面的解决方案。
  • HashPool
  1. HashPool
  2. 多币种数字货币矿池,关注最新最有潜力币种 HashPool 链接每一个算力
  • 巴比特资讯
  1. 巴比特资讯
  2. 巴比特是国内领先的区块链信息服务商,以价值投资为导向,为区块链创新者服务。 我们以论坛启锚远征,让资讯为瞭望景观,聚集区块链技术和应用弄潮儿。目前已发展成集资讯内容、线下活动、培训、孵化器、投资和区块链技术落地应用于一体的生态体平台。全网覆盖用户超100万人,遍及中国大陆、韩国,日本,美国,香港等国家和地区。