北京时间3月4日,Filecoin spec-actor v3 的升级生效,伴随的是Lotus v1.5.0的强制性全网升级及其附带的FIP-10生效。FIP-10提案主要是针对SubmitWindowedPoSt证明进行Gas费优化,最开始方案有两种:提供快速通道或者批量验证,最终确认快速通道。FIP-10通过快速通道来提高链的利用率,减少SubmitWindowedPoSt证明所有的链上证明步骤,通过激励以及惩罚手段来监督时空证明。
因为目前全网所有矿工未全部更新Lotus v1.5.0,很难实际预测真实的发生场景。不过初步观察可以分析,目前SubmitWindowedPoSt一天消耗不超过1000 FIL、信息条数3万多条(占全网信息3%左右),直观表现对全网影响降低Gas费可能不会很大。
真实情况需要进一步结合全网实际情况,不过根据市场需求,即便是降低了Gas Fee,每日会涌出新的算力增长,可能会很快覆盖该部分信息量。
总得来说以上只是初步分析,具体结果需要等全网更新完才能有结论,这次我们先回顾一下目前Gas费的消耗,深入解读Gas现状。
一、全网Gas费惩罚:Filecoin网络迭代的试错成本,未来可能会进一步扩大
根据2月8日数据统计,当时全网规模2.377EiB,在销毁近1700多万FIL中,其中有约11万FIL(不超过全网燃烧的1%)超额燃烧。在1185名矿工当中,全网规模前一百名惩罚占比92.7%,绝大多数都是大矿工惩罚所致,主要原因有以下:
  • Filecoin网络早期变动导致的惩罚行为。Filecoin从太空竞赛至今,Louts版本从v0.5.0迭代至今v1.5.0升级超过20次,FIP提案超过10个。Filecoin网络在逐步成熟,而这个过程中,早期矿工也伴随着网络的不稳定支出对应的惩罚。

     

  • 早期矿工的小步试错惩罚。矿工在不同的版本中会一直寻求最优的解决方案,主要针对惩罚为:算力下跌和打包不该打包订单的三倍惩罚,矿工在寻求最优解的过程中需要支付尝试成本。

     

  • 小矿工的运维不稳定惩罚。在目前阶段,大矿工具备条件和经验寻找到最为适合的Gas调控算法;而小矿工会因为运维经验或者技术不足,难以快速找到解决方案,从而导致惩罚,甚至出现一批小矿工的累计惩罚甚至大于大矿工的累计惩罚(图中红框部分:左边小矿工累计惩罚>右边大矿工累计惩罚)。

以上惩罚主要归咎于Filecoin网络的不稳定以及矿工的试错成本导致,不过随着网络趋于稳定,累计惩罚增减缓慢,只有新进场的矿工重蹈覆辙,习惯惩罚规则。
不过该部分随着FIP-10生效后,SubmitWindowedPoSt无需上线即时证明,因为“侥幸心理”的影响,可能会有出现一类新的惩罚现象(发现故障扇区最低罚款为20FIL),会进一步扩大惩罚累计。
二、Gas主要费用组成(基础燃烧和ProveCommit):FIP提案优化和调整减少无谓损失
截至2月8日,Filecoin全网基础燃烧、超额燃烧以及矿工小费累计共980万枚FIL,其中基础燃烧占比95.03%、超额燃烧占比4.76%和矿工小费占比0.21%,大部分占比主要为基础燃烧。
从横向对比,Filecoin主要燃烧分为PreCommit、ProveCommit和SubmitWindowedPoSt,其中ProveCommit在该三者占比中,占比最高为69.49%。
总结以上横纵相对,可知Filecoin的主要消耗为基础燃烧,而基础以ProveCommit为主要消耗,所以目前矿工在针对FIP-13的批量ProveCommit聚合提交上链以及根据Gas Fee来调整系数来减少整体基础燃烧的体量。
其中ProveCommit取决于Filecoin网络增速,即短期内全网算力增速平均每个小时1PiB增长,目前网络较为拥堵,短期难以骤降,只能针对一些无谓消耗来进行优化,如ProveCommit中的失败信息(占ProveCommit约2%)以及超额燃烧(占ProveCommit约2%),主要的解决方式参考如下:
  • 失败率主要是信息积压所致,从而导致过多过期信息上链,其中提高信息Gas费来提高推送利用率是一个方向;

  • 超额燃烧主要是GasLimit/GasUsed参数,既能够保证信息被顺利接受又能减少过多的燃烧。

三、超额燃烧:SubmitWindowedPoSt比ProveCommit更值得关注
2月8日数据显示,即便超额燃烧占所有燃烧占比不超过5%,但是FIP-10在提案尚未生效期间,仍有很多问题值得分析和解决,如SubmitWindowedPoSt总体燃烧比PreCommitSector少近20%以上,但针对在超额燃烧比重却约是PreCommitSector的3倍左右,所以针对SubmitWindowedPoSt的超额燃烧在FIP-10之前是值得探究解决的问题。
针对SubmitWindowedPoSt超额燃烧解决思路在《Filecoin挖矿如何“节流”》曾经提及,目前ForcePool已实现SubmitWindowedPoSt为0的超额燃烧。
四、Gas费的重要影响因子以及解决思路
总的来说,Gas费过高或者超过平均水平的主要有:Gas Used过高、GasLimit/GasUsed参数调整不合理、GasFeeCap阀门式的参数调整、节点扇区大小、失败率和惩罚。
  • Gas Used过高:控制集群体量及算力增长产量效果较为明显,以降低超额燃烧和基础燃烧。Gas Used高昂主要为大矿工的Gas Used普遍会比小矿工高,替换小集群算力增长是一种改变方式。除此之外,节点严格控制增速以及节点数据信息适当“瘦身”。

  • GasLimit/GasUsed参数调整为最优值。针对超额燃烧设置GasLimit/GasUsed为合理参数,主要是避免过高地设置GasLimit,让GasLimit接近GasUsed,即可减少或者避免超额燃烧,针对该部分可针对以下规则调整。

  • GasFeeCap阀门式的参数调整。不同的矿工对于其成本会有一定的把控,可针对其成本的核算来设定GasFeeCap阀门,根据实际的BaseFee情况来决定是否做算力增长。

  • 节点扇区大小:32/64GiB扇区做算力增长。根据Base Fee的浮动,来采取64GiB扇区与32GiB扇区产量配置来解决或缓解Gas问题,以动态调控Gas及封装速度。

  • 失败率:降低失败发送次数。失败率主要是因为信息失败发送而无谓损耗,权衡失败损耗以及过高使用燃烧费用成为关键,取决于如何设定GasFeeCap。

  • 惩罚:三倍惩罚不该打包订单以及SubmitWindowedPoSt链下证明惩罚仍然值得关注。针对算力惩罚已经宽松了,矿工可在有效时间内恢复;三倍惩罚不该打包订单经过订单筛选打包即可;而对于SubmitWindowedPoSt链下证明惩罚最低为20FIL值得矿工时刻保证扇区的故障以及修复。

针对以上大多数问题,原力区已经很好地着手解决,随着网络逐步成熟以及技术探索,仍然会继续发现新的问题以及更优的解决方案,并会继续深究解决方案。在“节流”的路上,我们会以多维度和精专研的态度继续前行!

 

 

未萌 关注