距离filecoin测试网Phase2上线也有近一个月的时间了,外行看热闹,内行看技术,圈子已然是分外火起来了。
在测试网Phase1阶段,深圳先河系统取得的成绩十分亮眼 —— Filecoin测试网首个1PB算力节点(点击可阅读); Filecoin测试网首个2PB算力节点(点击可阅读)。想要复习回顾Phase1阶段的,推荐阅读透过数据看Filecoin测试网Top10矿工(点击可阅读)。那先河在Phase2阶段有哪些收获?看这篇就够了~
一份简洁而优美的答卷
节点ID:t01100(先河系统)
参加测试:Filecoin网络Phase2
取得的成绩:
1. t01100是唯一成功提交PB级别时空证明的矿工
2. 在100T级以上矿工中,t01100是唯一在算力消减之后能将消减算力完全恢复的矿工
先来一场有料的科普
Filecoin测试网Phase2和Phase1的重大区别是什么?
硬件配置的确定和Filecoin测试网Phase2之间有什么关联?
能回答上述两个问题的小伙伴们可以跳过本章节,想要学好基础知识的童鞋建议还是认真阅读。只有清楚地了解上述两个问题的答案,才能对Filecoin测试网以及即将开启的主网有更清晰的认知,以及更好地~参与挖矿~
众所周知,复制证明和时空证明是Filecoin网络的核心组件,对Filecoin有非比寻常的意义——“复制证明”要解决的是“矿工存储了用户的数据”;而“时空证明”则解决“矿工一直存着用户的数据”。现在,重点来了——测试网Phase2和Phase1的重大区别主要在于复制证明和时空证明的变化(划重点,记笔记!)。
先用一张简单的对比图来说明变化情况 ↓
复制证明 | 时空证明 | |
---|---|---|
Phase1 | WindowSDR | PoSt |
Phase2 | SDR | WindowPoSt |
简单来讲,当复制证明从WindowSDR变为SDR时,会极大地增加网络安全性,我们用一张图来说明原理。
如上图所示,WindowSDR将一个扇区切分成多块,可以并行密封,而SDR只允许顺序密封,这意味着编码时间的延长,从而免受攻击。安全性孰优孰劣,一眼便知。也正因如此,由于AMD处理器提供了内置的SHA256功能,扩展性好,非常适合进行密封计算工作。实际上,选择AMD意味着硬件优化几乎到了极致,即便市场上出现针对SDR的ASIC,也不会获得太大的密封优势,从而杜绝网络安全隐患。
另外一方面,时空证明从PoSt变为WindowPoSt,意味着从此前以抽查部分扇区提交时空证明的方式转变为每一个扇区都必须提交时空证明,此举极大地提升Filecoin网络的可靠性。下面是一张PoSt和WindowPoSt的简单对比图,有助于形象直观地理解。
通常,中心化云存储的可靠性是12个9,即99.9999999999%,但在Filecoin网络,采取了WindowPoSt方式后,这种可靠性将随着网络节点数量的逐步增多而无限趋近100%。如果把Filecoin网络比喻成一个有机生命体,WindowPoSt为这个生命体设置了心跳机制,拓展了修复的可能,是一个能自我修复的生命体,从而具有更强的生命力。
不得不说,PL官方团队在Filecoin网络安全问题上花足心思,做足功夫。对项目严谨负责,对技术不懈追求,令人敬佩。
Filecoin测试网Phase2的TOP10矿工表现分析
在测试网Phase1阶段,我们曾借助区块链上公开的数据分析了Top10矿工的表现。那么Phase2阶段情况如何?别急!还是熟悉的味道,配方却不一样了。
1. Filecoin Phase2 Top10矿工总览
Filecoin Phase2测试网于北京时间2020年5月15日早上6:00启动,下图为截止至#84430高度的Top10矿工。接下来,我们会从稳定、效率等维度对Top10矿工进行分析。
2. 稳定性分析
(1)Top10矿工增长曲线图及说明
稳定性在本次测试中表现得尤为明显,在透过数据看Filecoin测试网Top10矿工一文中,我们曾提到:挖矿集群在长时间运行过程中,不可避免会发生维护、更新版本等事宜,集群不仅要能在长时间的运行中保持算力不消减,不被惩罚,而且还要保持算力持续稳定增长,这对团队从开发至运维有着多维度的高要求。
前文提到,在Phase2测试网中时空证明采用了WindowPoSt,这意味着Filecoin网络在安全性和稳定性上对矿工提出了更为严格的要求,矿工在每一个时空证明周期内必须对所有上链的扇区进行检查,如果检查失败,将予以削减。这个要求非常严格,但更加贴近主网的要求,因此在Phase2网络启动1-2周内,大家会发现一个现象——多数矿工频繁地被削减算力。针对这个问题,测试网上矿工们的处理方式基本分成两类:一类是规避时空证明检查保证算力无障碍增长;另外一类,则是解决时空证明Bug,遵守合约预期规则、按照更贴近主网的方式去运行矿工节点。
接下来,我们就Top10矿工提交时空证明情况进行详细分析。
(2)Top10矿工提交时空证明情况
l 首先,如何确认矿工是否在正常提交时空证明?
当前(Phase2阶段),Filecoin网络以24小时为一个证明周期,而每个区块时间为25秒,所以24小时相当于3456个区块周期。如果当前网络区块高度Height减去某个矿工ProvingPeriodStart的值大于3456,则表示该矿工已经选择跳过了合约的周期检查,不用提交时空证明也能够维持算力的增长。(这当中的原理很简单,规避时空证明的方法就是避免进入矿工Cron合约中handleProvingPeriod函数,避免算力削减。同时,ProvingPeriodStart值也会停止更新)
比如,查询矿工节点t01100是否在正常提交时空证明,可以简单采用如下命令:
查询结果为:
显而易见,84601 - 83747 = 854 < 3456,说明t01100的起始证明周期在24小时之内,在正常提交时空证明的逻辑中。反之,如果计算结果 >3456,则表明证明周期起始时间已经过去很久了,未作更新,意味着矿工已经规避掉了时空证明的检查,不再更新证明周期了。
l 其次,找出Top10矿工中提交时空证明的情况
参照前述的方法,我们可以得知
Top10中有三名矿工在正常提交时空证明:
l t01100
l t057915
l t0236726
Top10中有七名矿工规避Bug,选择无须提交时空证明也能保障算力增长:
l t01075
l t01102
l t02600
l t01108
l t017328
l t01118
l t01020
以下是查询结果及Log,感兴趣的童鞋可以自行查询。
l 接着,尝试算力消减恢复
如下图所示,矿工节点t01100可以完全恢复其被消减的所有算力,具备容错恢复的能力。同时,t01100也是100T级别以上矿工中唯一做到这一点的节点。
t01100完美恢复被削减的算力
l 然后,见证全网容量最大的一次时空证明
矿工节点t01100于2020年6月8日,在区块高度#83800上提交了全网容量最大的一次时空证明,达到PB级的证明。
l 最终,我们将避免进入时空证明Bug的技术解决方案分享给Filecoin社区
先河系统修复时空证明的相关Bug,目前已被合入Master分支。
ü Set largest gaslimit for wdpost
ü Fix:the input sectors of wpost must match with the minerActor
ü add deadline index for wdpost
小结:时空证明的及时提交以及容错恢复是稳定性的重要因子。由于采用了WindowPoSt,所有扇区均需要提交时空证明,体量越大的节点越容易进入规避WindowPoSt检查的Bug。
当前网络环境下,规避WindowPoSt检查从而保证算力的无障碍增长是一种暂时的解决方法,但是这样就会失去测试的意义,被动地成为回应市场宣传的需要。我们相信这绝对不是每个参与测试矿工的初衷,因为在非常短的时间内要解决该技术问题,对研发团队的技术实力是一次巨大的挑战。
虽然挑战严峻,我们依然坚持认为更好的方式是直面问题,解决时空证明的Bug。一方面,该Bug修复后,Phase2重启之后,所有矿工依然要面对WindowPoSt检查,不解决算力就无法增长。另一方面,尽快适应更接近主网、更为真实的网络环境,为矿工节点运行的稳定性打好坚实的基础,就是对Filecoin网络和生态最大的支持。
本阶段测试中,t01100圆满地完成了以下两个测试任务:
a)t01100是唯一成功提交PB级别时空证明的矿工
b)在100T级以上矿工中,t01100是唯一在算力消减之后能将消减算力完全恢复的矿工
3. 效率分析
为缩短文章篇幅,本部分只选取PB级以上的三名矿工作为对比。
(1)打包效率分析
l 比较区间的确定
选取最近#74357 - #84725区间共计10368个区块周期,共计3天的时间来进行对比。
在这三天的周期中,三位矿工以及其平均算力概要如下图:
矿工ID | 平均有效存储 |
---|---|
t01102 | 1.5PB |
t01075 | 1.5PB |
t01100 | 1PB |
l 打包率对比
l 小结
矿工ID | 平均有效存储 | 三天周期内区间打包个数 | 打包率 | 转化为打包率/PB | 转化为打包个数/PB |
---|---|---|---|---|---|
t01075 | 1.5PB | 1755 | 16.93% | 11.29% | 1170 |
t01102 | 1.5PB | 8989 | 86.70% | 57.8% | 5993 |
t01100 | 1PB | 9137 | 88.13% | 88.13% | 9137 |
转换为打包率/PB以及打包个数/PB,可以使在同等有效算力下比较打包效率显得更为直观。从数据分析中可见,同等有效存储下打包效率:
t01100>t01102>t01075
相较于t01102,t01100打包效率是其1.52倍
相较于t01075,t01100打包效率是其7.80倍
(2)密封效率的分析
本文统计的密封时间为从矿工上线开始,从链上获取的单任务 Precommit1加上Precommit2的时间之和,不能代表单机器的密封效率,需要结合具体矿工的并发数才能确定整机的密封效率。
矿工ID | 单任务平均密封时间 | 单任务最短密封时间 | 单任务最长密封时间 |
---|---|---|---|
t01075 | 934区块 | 496区块 | 6690区块 |
t01102 | 2643区块 | 809区块 | 9988区块 |
t01100 | 1119区块 | 748区块 | 2502区块 |
虽然以上单任务密封效率数据仅显示其单任务的效率,不能据此直接表明矿工的单机密封效率,但我们依然可以从以下角度做一些分析:
ü 单任务最短密封时间与最长密封时间的差值越小,其多任务并发控制越优。
ü 从最短密封时间的区块数,可以推断可能使用的硬件类型——是使用家用(消费)级高主频硬件,还是使用服务器级硬件。对矿工和投资者来说,必须要明白家用(消费)级硬件的内存扩展是有限制的,达到高并发的可能性低。
ü 由于各家矿工使用的硬件标准可能存在差异,无法进行更进一步的分析评论。
不仅看热闹,更要看门道
Filecoin测试网Phase2启动以来,吸引了越来越多的社区成员。随着主网上线的日益临近,传统矿场、区块链投资人、传统投资人的目光都被其吸引,社区比以往任何时候都显得热闹。事实上,Filecoin网络“挖矿”的复杂程度远超传统的BTC挖矿和ETH挖矿,是一种将生产属性和商业落地与区块链链技术紧密结合的项目,“高效挖矿”必须首先保障存储的安全、稳定、有效。
因此,对大部分跃跃欲试的社区成员来讲,仅仅关注硬件配置本身远远无法“驾驭挖矿”。矿工(矿池)是一个具备生产属性的产品,必须从安全、稳定、效率、成本四大维度去综合评判,先河称之为Filecoin网络算力解决方案的标准SSEC。
(1) 安全(Security)
- 矿工(客户)必须能确保购买的设备在为自己挖矿,这是谈论权益的基础。
- 收益必须有安全保障,这取决于矿池的安全设计。
(2) 稳定(Stability)
- 任何时候,矿池必须是稳定的。具体体现在将集群资源压榨到极限的情况下,依然能
保持算力长时间稳定增长,保持持续挖矿。
- 在矿池系统运行过程中,必须避免挖矿产币时间的减少,例如:
★ 避免因PoSt超时被惩罚
★ 避免因维护或解决问题出现的阶段性停止挖矿
- 对集群技术有基本的要求
★ 必须能支持动态扩容,包括设备节点扩容、磁盘空间扩容
★ 必须支持集群热更新维护
(3)效率(Efficiency)
- 我们对挖矿效率的定义:在同等有效存储算力下,打包率越高(产币数量越多),效率越高;同等或接近硬件配置,密封效率越高越好。
(4)成本(Cost)
- 我们对挖矿成本的定义:矿池集群投入成本/算力(TB/Hour),即同等算力下,投入成本越低,则意味着成本越低,反之成本越高。
显然,Filecoin测试Phase2阶段的测试结果再次告诉我们:
没有安全,谈稳定无意义!
没有稳定,谈效率无意义!
没有安全、稳定、效率的保障,谈成本无意义!
先河在保障安全、提高稳定、增加效率、降低成本上一直锲而不舍地努力着。关于安全,我们有着完善的安全技术方案和审计方案来保障客户(矿工)利益;关于稳定和效率,由于链上公开的客观数据相对充足,大家可以通过客观数据的科学分析,得到理性的判断;关于成本,在看到冰山之上显露出的成本的同时,更应该多多关注冰山之下的安全、稳定、效率。
关注技术,就是关注收益
如果将硬件比喻成产品的外表,那么软件就是产品的灵魂,灵魂赋予外表能量,使其更加鲜活。
先进的硬件材料可以从市场上设法购买到,但是优秀的软件及软硬一体化服务则必须经过长期探索和反复实践才能获得。当前,只关注硬件采购成本是较为单一的维度,因为优秀的软件能最大程度释放硬件效能,换个角度看,软件对硬件的单位成本进行了优化,并达到降低整体成本、增加挖矿效率的显著效果。
先河欢迎更多的社区成员关注技术,可以关注先河系统微信公众号,也欢迎与我们商务合作。先河以自身技术优势为基础,为各方合作伙伴提供整机(软硬件一体)购买、贴牌生产、矿场建设、一体化托管等服务,用技术和创新为用户持续创造价值。