「IPFS红岸智能」关于测试网

2020-05-20 12:58 佚名

其实一直在关注IPFS和FILECOIN的伙伴们一定知道,测试网是官方为了让大家能够都参与模拟挖矿,并帮助它们一起测试网络稳定性,发现代码BUG等各方面的一个必要环节,而DASHBOARD一直是大家所能看到的,对于FILECOIN挖矿存力累计的一个可量化标准。那具体的情况如何呢?

这就要从2019年2月15日开始说起。我把整个FILECOIN从开源到现在的可参与网络进行了一个梳理和总结,将其分为了一下几个阶段:

这是早期的阶段,也是属于DEVNET开发网的阶段,这个阶段的特点就是全球参与矿工以单台矿机的形式参加测试,当时网络相对稳定,高峰时期参与节点多达300多,来自世界各地,运行的都是GO-FILECOIN版本。

在这个阶段,所有节点是可以自己改名的,于是各大矿机厂商都将节点由数字更名为自己的公司名称来进行营销,主要的参考参数是PROVEN STORAGE,即有效存储,关于有效存储的概念可以查询我们公众号的详细普及。

总体来说就是大家能看到谁家的有效存储累计更快,也就是存力增长的更快,那就能抢占区块打包中更大的概率。

这个阶段依然属于DEVNET开发网,但是有一个重大革新,便是LOTUS操作版本上线了,这是基于GO-FILECOIN版本创建出来的更精简的版本,删除了很多复杂没用的代码,轻装上阵,得到了广大矿工一致好评,由WHY带头研发。

LOTUS依然是基于GO语言的实现,但是在这个阶段,集群式挖矿开始崭露头角,以往的单设备单节点效率已经无法与大规模集群所抗衡,官方也在鼓励集群的出现,从代码里就能看得出,lotus-seal-worker等,都可以表明多台服务器组合起来的集群将在未来挖矿中占据主导。

同时在这个阶段,EPOST被提出,GPU开始加入硬件配置表,现在我们也许无法评判EPOST是否是一个一定有必要的环节,但至少它让挖矿难度提升了,帮助市场筛选掉了一批技术无法跟上的矿商,从这一层面来说,这又是一件好事。

集群首先是由多台矿机组成,集群规模的大小主要受制于内网带宽交换,I/O瓶颈等(目前IO已经不再是问题),所以不是说一个集群是可以无限扩大的。

而相对于单体矿机来说,集群的优势就非常明显,因为这个网络是通过概率来获取打包权的,即本节点有效存储除以全网有效存储,就是你打包区块的概率,而集群能够将多台服务器同时做密封工作的有效存储聚合起来,那意味着一个集群单一节点的有效存储累计会非常快,单体矿机已经毫无还手之力。

但重点是,集群也是由单体矿机搭建出来的,这是基础条件,只能说由单兵作战转向了团战的形式,所谓的集群不需要矿机,改造IDC之类的就建议大家当笑话听听。

集群还有另一个非常明显的优势,那就是区块打包概率分布的占优。可能这是大家没听过的一个理论,也没有什么公司给大家具体计算过,那今天我就给大家算一算。

按照常规理解来说,假设全网20台性能完全一致的矿机同时开始工作,A/B矿场各拥有10台,A矿场采用的是单点矿机布局的模式,即意味着他有10个节点,而B矿场将10台机器聚合成一个大节点。

假设工作一段时间后,每台矿机累计有效存储均为1TB,那么此时全网有效存储达到20TB,A矿场每个节点存力均为1/20,共10个节点;B矿场一个节点,存力10/20即1/2。那么我们来看打包概率,在100%的概率盘面来看,B矿场占据50%,那么A矿场的10个节点也应该占据剩下的50%。两者打包区块概率应该一致,这是常规的思维。

奇特的就是,这是个数学问题,而数学一定是永恒的真理,不会骗人,我们来看下在实际工作中的情况将会是如何:

我们将整个网络的有效存储放大,意味着全网不仅有A/B两个矿场在参与,同时也有其他人在挖矿,在这种情况下,A/B矿场依然各拥有10台矿机,A继续采用单机运营方式,共10个节点,B矿场10台矿机聚合成一个大节点。

此时我们假设A/B矿场的机器每一台都累计了100TB有效存储,而全网有效存储达到了10000TB,那么A/B矿场打包区块的概率分别是多少呢?概率还会是一样吗?

10台在一个区块周期内,都没出块的概率为99%的10次方,那么10台在一个区块周期内,都出块的概率为1-99%的10次方,约等于9.56%。

这样一来,对比就出来了,A矿场10%与B矿场9.56%打包区块概率方面差异有0.44%。可千万不要小看这0.44%,加入时间的维度后,这个差异将继续扩大,越来越明显,所以在真实数学计算加持后,我们会发现集群更具备优势,不仅是效率上,同时也在区块打包方面占据优势。

扯得有点远了,我们继续回归测试网阶段的主题,红岸在这个阶段上线集群,继续保持领先优势,同时GPU的增加对我们没有产生任何影响,因为从18年我们便开始关注GPU对于零知识证明计算的提升,以及从19年年中开始便向市场普及GPU增配的概念,在市场上也收获了不少赞许,先人一步考虑周全,这是我们做事的态度。

在2019年12月,万众瞩目的FILECOIN TESTNET测试网上线。针对测试网,官方将其分为两个大的阶段,即TESTNET PHASE 12,这是阶段性的大版本,但是在每个阶段内,又划分出了很多个小的版本,随着代码更新,版本也将不断更新,而5月11日即将上线二阶段测试网。

在测试网一阶段,我们经历了TESTNET1和TESTNET2这两个版本,都是采用的LOTUS作为操作版本,TESTNET1在2020中国新年期间结束,我们在此版本中于测试网上线后5天上架测试,在其他厂商累计有效存储5天后杀入,节点T01785,花费36小时直接从0开始冲入世界前八,并继续高歌猛进,可在这时官方为了呼吁大家不要购买成型的实体矿机,以及利用不完善版本的节点数据营销,所以取消了排名。在这个阶段,官方设置算力下限512GB,详细内容可查阅我们公众号往期的文章。

TESTNET2于2月初上线,官方修复了许多TESTNET1中发现的BUG,成为了一个能相对长期稳定工作的版本,我们在这个版本中一组跑方案的实验机器,异军突起,花费15小时直接登顶世界第一,引起了多方关注。

为了保存实力,低调行事,于是下线继续做方案研发,关于这个节点的具体信息欢迎大家来公司了解,我们保存了后台,截图视频等资料。现在已经过了高调宣传的时代了,埋头实干成为了我们更明确的方向,因为我们的技术实力已经得到了业内各同行的高度认可,并且服务方向也转向了对接大型机构等。

目前我们正在进行的是TESTNET测试网一阶段的第三个小版本,TESTNET3,这个版本非常重要,也从一定程度上直接决定着主网的上线,因为这是一个互操作版本的测试,其实如果细分,TESTNET3可以分为TESTNET3和INTEROP网络,而我们说的互操作网络便是INTEROP网络。

为什么需要这一个步骤?正是因为单一操作版本实现的一条公链安全性将大打折扣,顶尖的公链项目都是多个版本共同工作的,比如ETH就有六大主要实现版本,FILECOIN也将会一样,这才是真正做事情的团队该有的态度。

目前官方正在实现的是LOTUS和GO-FILECOIN的互操作,也意味着主网上线后至少会有LOTUS和GO-FILECOIN这两个版本同时能实现其功能,一旦其中某个版本出了问题,另一个版本将不会影响链的工作。

同时官方也公布了,RUST和C++版本也在开发当中,预期主网上线后将会有四大版本共同工作,为链的安全保驾护航。也可以理解为,咱们使用智能手机,同样的APP,有安卓版本的,有IOS版本的等等,这样理解最方便。

这个阶段测试网非常不稳定,经常面临重启,自从上线开始经历了很多次重启,最近一次是5月7日,所以当前阶段没有稳定的可供参考的数据。

同时这也是算法集中调整的一个阶段,也对硬件产生了重大影响,包括NVME SSD CACHE,AMD的崛起,大内存的需求,GPU的亮相,可能引发的FPGA的大规模实用,甚至到后期可能出现的ASIC方案等等。

还有很多东西没有定型,测试依然得继续,所以当前阶段我们的主要精力就放在不同集群方案的优化调整上,以及最终配置商榷阶段,预计在5月底至六月初,也就是官方暂定的代码冻结阶段配置就能基本定下来。

官方暂定5月11日二阶段测试网正式开始(预估会有3-5天左右延迟),目前看来二阶段早期可能依然沿用老版本的方案,原定在二阶段将持续使用的V25版本参数也可能只是暂时性的,而V26版本参数正在被官方提上议程。

所以由于开发进度和二阶段启动时间无法完美匹配,所以在不推迟的情况下上线,二阶段前期测试价值并不高,但话说回来,那也将会是一个群雄逐鹿的阶段,让我们拭目以待吧!