本文由IPFS原力区原作
最近gas费溢价很高,暴涨百万倍。交易信息量比上周增长100%,导致单笔手续费异常高。全网手续费由每天的数十枚FIL增长到3万多枚FIL。那么,按照目前平均每天17万枚FIL区块奖励和3万多枚FIL手续费的消耗,以及每天算力增长的抵押需求。那么,Filecoin目前供需情况如何?
我们都知道,gas费对于BTC、ETH等区块链项目来说是不可或缺的。因为区块链本质是记账的过程,而网络的交易是由矿工来进行记账的,gas费是支付给矿工的记账酬劳。
因为区块链的应用是综合安全、性能和隐私性,但区块链项目很难同时满足“不可能三角”,也就意味着BTC、ETH在保证安全、隐私性能的前提下提高TPS。在不能直接提高TPS的情况下,网络交易笔数过多会直接导致网络拥堵,所以会一度出现高昂gas费的现象。在今年8月份DeFi盛行之际,每天花在以太坊gas费用就超过了17500 ETH。
一、Filecoin全网手续费突破3.5万FIL
根据UTC 11月8-14日数据统计,全网gas费逐步攀升,其中14日总手续费高达3.6万枚FIL。根据数据显示ProveCommitSector占比最高,占比超过总手续费50%以上,其次是PreCommitSector和SubmitWindowedPoSt占比15%-25%,其余占比不超过2%手续费。
Filecoin一周gas费变化曲线(UTC,成功交易),来源:IPFS原力区,2020-11-16
不仅如此,因为手续支付费过低导致信息上链失败也有不少,最高时一天因失败损失的FIL高达千枚以上。笔者认为,Filecoin手续费过高主要有以下因素:
算力增长过快,信息量过大导致拥堵。近段时间算力增长过大,直接导致信息过多,网络上普遍信息高达1100万条以上,比上周增长超过了100%;
全网算力增长(UTC),来源:IPFS原力区,2020-11-17
TPS无法满足现状。根据Filecoin网络的设定限制,每30秒只能打包几百笔信息(根据信息大小),消息过多就会产生拥堵;
矿工选择自行打包信息。网络拥堵时,gas费用过高,矿工选择自行打包信息,导致网络上实际打包信息的矿工较少。
在高gas费情况下,矿工能够实现盈亏平衡?
二、杯水车薪的区块奖励
Gas费的上涨对矿工的区块奖励产生了间接影响,支出的提高需要区块奖励来弥补,那么矿工的收益如何?参考胡飞瞳近日在《再次闲聊 Filecoin 的 Gas 费用》文章分享的数据显示,可以得出几点:
来源:胡飞瞳《再次闲聊 Filecoin 的 Gas 费用》,2020-11-07
单T每天可释放0.0323枚FIL。单T可释放每天维持1PiB的时空证明需要支付的手续费约为11.16枚FIL,单PiB一天的区块奖励为177枚FIL左右,25%直接释放为44枚,每天盈余约33枚FIL;
单PiB直接释放奖励做算力增长不超过100TiB/天。每PiB不引入外部FIL抵押,利用区块奖励做抵押,忽略其它信息打包,以ProveCommitSector和PreCommitSector手续费和抵押为主要费用,折合为0.1212+0.1223+0.09=0.3335枚FIL费用,忽略其他支付,33枚FIL每天只能做99TiB算力增长。
三、ETH EIP1559 VS Filecoin EIP1559
ETH EIP1559主要费用架构是基本费用+小费,其中基本费用主要是调整网络交易拥堵的基本费用,这块会被销毁;小费是相当于优先权费用,用户可以多出费用进行提高转账速度。
Filecoin主要是基于ETH EIP1559进行修改优化,其中主要调整有以下三点:
销毁超额燃油费。Filecoin网络不支持用户支付过高的费用进行优选“插队”,所以在Filecoin网络中,超过基本费用+小费gas费的部分会被直接销毁,而ETH网络则会返还该部分;
三倍惩罚矿工的“不该打包交易”。“不该打包交易”即是发出交易的人无法顺利支付矿工费,而矿工已完成打包交易,针对该部分Filecoin网络会针对矿工进行三倍该费用的惩罚。通过该措施,让矿工来监督“不该打包交易”,而这也是Filecoin网络独创的。
对于Filecoin网络,失败的交易也需要扣除失败费用。
Filecoin燃油费由三部分组成:基本费用、小费和超额燃油费,这次我们聊一下超额燃烧费(EstimateMessage Gas)。
超额燃油费(EstimateMessage Gas)
我们都知道ETH中的 Gas Limit 可以设置的非常大,当过大的时候,ETH上多余的Gas费用会全数返还,但Filecoin 并不是这样。因为Filecoin的 Gas Limit 参与了 Base Fee 和 Gas Premium 的计算,Gas Limit参考真实转账情况变得尤为重要。如果一个交易,设置了不合理的 Gas Limit,Filecoin 采取了一种惩罚机制。
对此Filecoin为gas设定了一个指标over,主要是为了避免使用过大的燃烧,其中Over=Gas Limit-11/10*Gas Used。
来源:Filecoin GitHub,2020-11-17
当Over<0时,Gas Limit/Gas Used<1.1,需要扣除手续费:(Gas Limit-Gas Used)*Base Fee。
当Over>Gas Used时,Gas Limit/Gas Used<2.1,Over=Gas Used,那么Base Fee为((Gas Limit-Gas Used)*over)/Gas Used*Base Fee=(Gas Limit-Gas Used)*Base Fee。
当0≤Over≦Gas Used时,1.1≤Gas Limit/Gas Used≤2.1,基本费用计算公式为((Gas Limit-Gas Used)*over)/Gas Used*Base Fee。
由上可知1.1≤Gas Limit/Gas Used≤2.1较为合理,即是1.1-2.1倍较为合理的。
四、困兽之境,原地踏步?
总的来说,因为手续费过于高昂,直接导致矿工在一定程度上难以实现算力顺利增长。目前矿工可以选择在低gas费期间进行算力增长或者自行打包信息交易,但不适合长期发展。不过对于技术层面,胡飞瞳提出三点可改进算法:
允许成批提交 PreCommitSector 消息,通过合并消息,减少Gas消耗;
增大Sector Size(挖矿设备可能会受影响)
提升Gas Limit和计算的上限(要求大家有更好的设备和网络)
最后,希望投资者们能够携手与矿工一起共渡这次的gas难关!
专有名词:
Gas Used:每一笔交易实际消耗的 Gas 值。
Gas Limit:对一笔交易 Gas 消耗的预估限制值,意味着该交易可消耗的上限值。
Base Fee:即基础费,这个值由链上的交易拥堵情况决定,会根据实际网络状况上下波动,用户无法手动调节。Base Fee 越高代表区块利用率越高,也就是单个区块内包含的交易数据越多。
Gas Premium:即小费汇率值,在网络拥堵的情况下,可以通过支付小费,激励交易被尽快打包。