请选择 进入手机版 | 继续访问电脑版

tokentop

算力不等于收益,李白教你怎么提高“幸运值”、多赚FIL

石榴矿业6block 发表于 2020-7-13 11:47:40 | |阅读模式
石榴矿业6block | 注册会员 | 发表于 2020-7-13 11:47:40 | 显示全部楼层 |阅读模式
————————
分享者:币圈李白
职位:6block 核心开发工程师
(下面正文摘自6Block核心工程师“币圈李白”的视频直播分享,相应视频请见文末)
最近社区有很多成员谈及爆块这一问题,我们石榴矿池针对社区提出的问题,在近两周的时间里面对于爆块进行了深入的测试和研究。(在不利用任何bug的情况下)
现在市场上普遍认为爆块是个概率性的问题,其概率会围绕算力占比而上下波动。但事实不是这样, 这里面其实还有很大的优化空间,本文将会涵盖爆块的优化空间以及爆块方面常见的一些问题。
对于Filecoin挖矿,大家一般都会比较关注以下几个方面:
  • 有机器不一定能有算力
  • 有算力不一定能有爆块 TB->FIL
  • 有爆块不一定能有解锁
今天我们就从后面两个点来展开,第一点我之前谈过很多了,所以就不多说了。那么这个爆块究竟是怎么回事呢?其实很简单,爆块其持续时间为25秒,在25秒内能完成系统分配的计算,就能实现爆块。
在Filecoin里面有两个算法,爆块属于PoSt算法。简单来说会有以下几个步骤:
  • 需要保证获得上一高度的所有block
  • 计算出随机数,得到随机数后便可以判断自己是否中奖,并且得到中奖的sector序号和sector的数据序号
  • 读取sector的数据,这里会需要消耗一定的时间
  • 计算零知识证明得出结果
  • 通过得到的结果构建block并广播block
获得上一高度的所有区块,官方默认给出的的时间是6秒,也就是说默认6秒内全部同步了。所以在6秒的时候就会进入挖矿的步骤了,开始计算拿到随机数。这要求我们节点的网络延迟要足够的低,并和多同步节点,同时还要进行同步节点的排序筛选。所以获得上一高度的所有区块的限制主要在于网络。
当你有生成新的区块权利的时候,就要读取sector的数据,比较重要的是你需要一个低延时的存储,能让miner在最短的时间内从sector上得到数据。石榴矿池将存储和计算进行了分离,Worker设置成无状态,这样卡了出问题了可以随时重启或拿去维修,不会影响整个系统。同时,我们的存储始终处于低负载的状态,这样的状态下存储的响应速度会非常的快,当存储和miner相连之后,便能很快的生成证明。另外,Lotus和miner最好要放在一个局域网上或一个电脑上,Lotus对外要去连接其他大量的Lotus节点,保证广播足够的快,以上这些就是我们石榴矿池的架构。
这里也再谈一些常见的问题:
首先是计算和存储不分离,在这样的架构下,数据抽取速度很有可能受到影响,并且很难优化,很难做到大量的爆块。
其次就是冗余和备份带来的存储负载,如果盲目的去做冗余和备份,就会影响读写性能从而影响爆块。
再者是读写过程中会互相抢资源,最好的解决方式是读写分离。
然后是多miner的问题,这是一个很有创意的想法,主要目的是为了把算力集中在一个账户下,比较好宣传。但多miner会影响爆块,其读取数据可能会受到一定的影响。
最后说一下计算零知识证明,它也占一定的时间,大概几秒钟的时间,但可以通过在miner上配显卡来节省一定的时间。本身零知识证明的计算也是可以优化的,在bellman的库里面,优化它就可以节省时间了。
爆块所存在的问题和解决的思路大概就是以上这些了,最后展示下我们两周测试努力的成果吧:
可以看到优化后的成果,爆块出块的时间降到了1.7秒。
总体来说,想要减少爆块的时间,你需要一个低延迟的网络,一个响应及时的存储系统,还有一个能快速算出Wining PoSt的零知识证明计算系统。

好了,今天的分享就到这里了,谢谢大家!
您需要登录后才可以发帖 登录 | 立即注册  

本版积分规则

发表主题
返回顶部 返回列表