一直以来,在Filecoin网络中最受关注的两个点就是Gas和质押,质押目前已经是相当稳定了,随着全网算力突破网络基线后不断增长,质押开始呈缓慢下降。而Gas就成了大家最关心的点了,早前推出64G扇区封装也正是为了降低Gas成本,大家一直疑问32G扇区与64G扇区的封装到底有何区别?两者谁又更优?本文将进行详细分析。
$Filecoin网络的封装过程$
首先在Filecoin网络中的封装过程分为P1、P2、C1、C2等四个阶段,只有通过这四个阶段后才能获得最终区块奖励。
//P1(PreCommit1)预封装1阶段
指将客户传输过来的数据文件进行分割装箱,所有文件数据进行切割成小片段装进一个小箱里,最大不能超过256K,这个阶段就叫做P1。此分割装箱的阶段需要大量的耗费CPU,所以此阶段封装时间最长。该阶段不需要上链,故不消耗Gas。
//P2(PreCommit2)预封装2阶段
将装成小箱的数据碎片做好文件名和信息记录,也就是动态哈希列表DHT的形成过程,以便以后寻找该文件。这个生成动态哈希列表的过程就叫P2。该过程需要生成默克尔树,需要使用GPU(显卡资源),所以此阶段也需要一定时间预封装。该阶段需要上链,故消耗Gas,目前占总Gas47%左右。
//C1(ProveCommitSector1)封装1阶段
通过P1、P2过程后数据分割装进小箱子之后然后生成了文件的信息表之后。该阶段就是给这些小箱子贴识别标签,C1阶段很省时间,几乎忽略不计。该阶段不需要上链,故不消耗Gas。
//C2(ProveCommitSector2)封装2阶段
该过程就是构建零知识证明,为将来提交时空证明而准备的(即证明该节点存储了客户文件数据的),这就是C2阶段。一般需要进行大量的并行计算,需要算力机,故该过程需要一定时间。该阶段需要上链,故消耗Gas,目前占总Gas47%左右。
可以看到P1、P2两个阶段占了94%的Gas成本,且两者也是封装时间较长的两个阶段。
$32G与64G的封装效率及Gas费用比较$
了解过整个封装过程后,用相同CPU和GPU等硬件配置来进行封装,32G和64G两种不同方式封装到底过程中会有什么区别?
//从封装扇区的效率上来看
可以看到64GB扇区各个阶段的计算时间都会更长,封装速度较慢,总时间大概是32GB扇区的2倍以上,故在正常情况下64GB扇区的封装效率只有32GB的40%-50%左右。假设某A节点用32GB扇区的封装每天增长10TB算力,如果采用64GB则只能达到4TB-5TB的算力增速。故32GB扇区在封装过程中效率更有优势,其算力增速更快,也能更早产生收益。
所以算力增速对挖矿收益的长期影响还是非常大的,新增算力增长越快,之后每天的收益才会越多,如果上述A节点要封装大量算力,例如1P,需要100天,采用64GB扇区则需要200天,这样就少了100天部分算力的挖矿收益,对于长期收益有很大的影响。
目前提高64GB扇区的封装效率:一是通过技术优化提高;二是提高硬件性能,当然成本也会有所提高。部分64G扇区节点将效率优化到一般60%以上。
//从Gas费成本上来看
首先不管32GB和64GB扇区,封装每一个扇区所需要的Gas费是一样的,而64GB比32GB的容量多一倍,64GB只需发送一次信息,而2个32GB的容量需要发送两次信息,故32GB所需提交扇区的数量是64GB所需提交扇区数量的2倍,所以64GB扇区比32GB扇区的节省了一半的Gas费。
举个简单例子:比如两个人同时准备打车去一个地点,刚好他们的出发点也是同一个位置,假设一个人打车是50块,如果两个人拼车一起也是50块,这两个人就都省了25块。
由于之前Gas费用过高,有一些节点都重新采用了64G扇区来进行封装来降低Gas。Filecoin官方表示预计将于6月的最后一周进行Filecoin v13 网络升级升级!届时FIP-13提案和FIP-8提案若能成功实施(可插之前文章链接),实现消息的批量提交,减少ProveCommitSector和PreCommitSector消息的发送次数,从而直接大幅度降低gas消耗,到时32G扇区或更有优势。
总而言之,大家可以根据成本计算,如果Gas费仍非常高的话,是可以考虑64G扇区封装的。这是有效降低Gas的一种方法。但是如果Gas急速下降,非常低的情况下,或者封装量非常巨大,那自然封装越快越好,也能更早得到收益。当然大家也可以结合两种方式一起来进行封装,将成本降到最低。