原力研究 | Filecoin挖矿如何“节流”

如何节省Gas费?
本文由IPFS原力区原作

随着Filecoin存储规模越来越大,每日总奖励也随之增长,但是Gas费居高不下,间接影响矿工的净收益。那么在阶段我们该如何应对?

一、Gas居高不下,“节流”是确定选项?

在Filecoin挖矿中,“开源”难以被矿工所掌握,几乎被“6年减半”、“基线网络”、“全网算力增长规模”严格限制;但“节流”是矿工可掌控的,除了硬件最大化利用外,目前最受关注的是如何最大程度降低Gas费:何时做算力增长、维持?如何设置参数让Gas费降到最低?硬件该如何配置获得最优解?以上都是矿工在“节流”所亟需探索解决的问题。

2020/10/15-2021/2/4总手续费,来源:IPFS原力区,2020-02

在Gas节流问题面前,我们首要考虑的是ProveCommit和PreCommit。据原力区数据统计,从主网上线到现在,全网累计Gas消耗超过1000万枚FIL,ProveCommit累计占比约68.06%,PreCommit累计占比约24.78%。那么对于以上,该如何分析现状并解决?

二、Gas费的影响因素

经原力区不完全数据统计显示,超出平均Gas费的原因主要有:节点规模大小影响、ProveCommit和PreCommit超额燃烧、ProveCommit和PreCommit失败率等等,其中规模影响最大,占比约64%。

各因素对Gas消耗超出平均水平成本的影响权重,来源:IPFS原力区,2020-02

1、规模大小与Gas费:64%

不同规模集群单条信息手续费,来源:IPFS原力区,2020-02

根据统计了860个矿工在2021/1/25-2021/1/31的单条信息手续费,分别列为四个规模:1PiB以下、1-10PiB、10-20PiB和20PiB以上。其中1PiB以下的集群规模,PreCommit成功手续费平均成本约0.04044FIL/条,ProveCommit成功手续费平均成本约0.17223FIL/条;1PiB以上的集群,PreCommit成功手续费平均成本超过0.06326FIL/条(比前者高56.43%),ProveCommit成功手续费平均成本超过0.17831FIL/条(比前者高3.53%)。主要分析如下:

PreCommit对于规模大小影响最大,ProveCommit受规模影响较小,1PiB为分水岭;

不同规模集群单条信息手续费,来源:IPFS原力区,2020-02

再进一步细分集群总结,15-20PiB ProveCommit和PreCommit单条信息费呈下降趋势,然后再进一步缓慢上升。主要原因笔者分析为,矿工在矿池1-15PiB规模上涨的过程中,已经开始逐步克服该体量的规律设定,但是PreCommit又面临更大体量(20PiB以上)算力增长高手续费的问题。

2、超额燃烧与Gas费:28%

统计从2020/10/15-2021/2/4超额燃烧手续费约43万枚FIL,其中ProveCommit占比74.20%、PreCommit占比25.80%。

2020/10/15-2021/2/4 ProveCommit和PreCommit超额燃烧,来源:IPFS原力区,2020-02

以上为ProveCommit和PreCommit每日超额燃烧的折线图,ProveCommit平均每天超额消耗约2800枚FIL,PreCommit平均每天消耗975枚FIL。观察上图发现两图走势并不一致,那么ProveCommit和PreCommit超额燃烧与哪些存在关联性?笔者认为有以下:

PreCommit超额燃烧与失败条数/Base Fee波动呈现正相关。因为PreCommit需要在30分钟内完成任务,而Base Fee变化过快,所以会致使失败条数过多,间接导致部分矿工宁愿超额支付也不愿承担失败订单燃烧的风险;

ProveCommit超额燃烧与算力增长/总手续费呈现正相关。因为EIP 1559要求Filecoin使用率一旦超过50%,则基本费用会自动增加,而且呈现指数性的增长。故一旦算力增长过快,总手续费也会必然上涨,为了保证任务的顺利完成,必然会使部分矿工超额手续费完成算力增长最后一个证明。

3、失败率:8%

通过下图可看到,ProveCommit失败率普遍比PreCommit高,都是在5%以内;其中从主网上线至2021年2月4日,复制证明涉及的消耗超过3万枚FIL,其中ProveCommit失败消耗占比97.85%、PreCommit占2.15%。主要分析如下:

2020/10/15-2021/2/4 复制证明失败率,来源:IPFS原力区,2020-02

PreCommit失败率较ProveCommit低原因:PreCommit预惩罚金和难度不大。在PreCommit阶段有一个惩罚,PreCommit需要交付预充值质押,如果矿工在30分钟内未能及时完成ProveCommit,则扣除预充值质押,该部分费用会高于Gas费的支付;同时PreCommit相较于ProveCommit实现难度不大,只是规定时间要求较为严格。

ProveCommit中期失败率较高,后期逐步减低。中期是因为EIP 1559机制引发的Gas费指数增长,以及版本的频繁升级,直接导致矿工因为适应新的规则以及避免过渡的燃烧导致的失败尝试,不过适应网络后,失败率逐步减低约40%。

那么对于以上问题,原力区思路是如何的?

三、精诚所至,“节流”为开

1、节点规模影响:替换小集群算力增长

经过对于不同规模节点Gas费测算以及熟悉大规模节点的Gas费规则,选择以小节点来做算力增长较为合算,大大降低客户的支出成本。根据2021/1/25-2021/1/31数据,小集群(10PiB以内)会比大集群(10PiB以上)支出费用会更低,PreCommit约低24%(随网络以及规则变化)。

2、超额燃烧:降低或避免

通过设定推荐值、GasUsed/GasLimit自动动态调整缓解基本燃烧、超额燃烧和特殊处理数据结构压缩来降低Gas的消耗等多种方式,尽可能降低Gas的无谓燃烧。比如目前ForcePool已实现SubmitWindowedPoSt为0的超额燃烧。

3、信息堆积的避免

通过消息的合理Push避免消息堆积,同时以避免后续更多不确定性问题。对此,ForcePool一方面提高对Base Fee的敏感度,另一方面还将通过动态调整扇区相关参数尽快让信息上链,以减少积压和错误消息数量。

4、新方式混合实践:64G/32G扇区动态封装

对于Base Fee的过高浮动,如ForcePool会采取64G扇区与32G扇区产量配置来解决或缓解Gas问题,以动态调控Gas及封装速度。

总的来说,我们在“节流”路上一直探索。

四、探索永不休止,“节流”永无止尽

未来,原力区会在“节流”的路上继续追逐,主要从两方向:多维度和精专研。

多维度是探索更多“节流”方向的可能性。在未知、空白领域来寻求降低成本,其可能包含:资源的最大化利用、降低Gas费的角度、Venus来保障运行的稳定性等等,在不确定中寻找哪个确定的“节流”方向。

精专研是在已经确定的路上进一步深究,从90分向95分发展,甚至100分。在明确的方向面前,进一步在规模影响、超额燃烧和失败率探索更优化的策略。


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

点击阅读全文

相关阅读