虚拟币已经火了好一段时间了,BTC 比特币的暴涨带火了一批小弟,当中比较火的就是 ETH 以太坊,也是因为它的原因导致显卡的价格暴涨,而现在大容量硬盘的价格也因为一个叫 Chia 奇亚的虚拟币涨了起来,与 BTC 与 ETH 用剪刀直接的工作量证明不一样,它用的是 " 空间和时间证明 "(Proof of space and time), 以硬盘空间和时间来作为资源,利用 CPU 或者显卡通过某种算法将硬盘空间写入数据,用户将数据存储在硬盘上一段时间,赢得奖励的机会和分配的空间成正比,其实用这种证明的虚拟币 Chia 并不是第一个, 只不过 Chia 是近段时间比较火的一个。

Chia 的原理这里就不说了,网上已经有许多很专业的分析,简单来说的话就是程序在你硬盘上写满了彩票号码,服务器会不时随机抽奖,分配的硬盘空间越大,在线时间越长,中奖的可能性越大。

最开始的时候发现这 Chia 挖起来很简单,基本上只需要你硬盘有足够的可用空间的话就能挖,程序看起来也很简单,所以就去下了个来研究一下,这里只是说一下这几天种田的体验。

安装好软件后会叫你创建密匙还有其他的一些基本东西,把密匙记住就可以了,都弄好后就点绘图,然后点击右上方的添加 Plot 文件,开始 P 盘。

Plot 文件的大小有 K=32、K=33、K=34 和 K=35 四种,K=25 并不会计入主网算力内。不同 Plot 文件的大小和所需缓存盘大小软件是有说明的,一个 K=32 的需要 101.4GB 硬盘空间,并且需要 239GB 的缓存空间;K=33 的需要 208.8GB 硬盘空间,并且需要 521GB 的缓存空间;K=34 的需要 429.8GB 硬盘空间,并且需要 1041GB 的缓存空间;K=35 的需要 884.1GB 硬盘空间,并且需要 2175GB 的缓存空间。

Windows 操作系统里面显示的硬盘可用空间其实就是 GiB,所以可以直接根据 HDD 与 SSD 显示的可用空间来分频 P 盘队列。

P 盘想效率必然是要并发的,当然能同时并发几个就得看机器性能了,每个 P 盘任务至少需要 2 个线程,k=32 文件最少需要 3390MB 的内存,K=33 的最少要 7400MB,K=34 需要 14800MB,K=35 需要 29600MB。划分更多的线程和内存可以加快 P 盘速度。

最初用的平台是 Ryzen 9 3900XT 加 32GB 内存,缓存用 SSD 是技嘉 AOURSU Gen4 7000s 2TB,目标 HDD 是西数的红盘 6TB。

其实这次只是想看看 P 盘的系统需求,没有经过任何计算直接拍了 4 个 K=34 的队列,每个都开够了 24 线程并给了 10GB 的最大内存,实际上这个缓存盘是根本塞不下的,只是单纯看看能不能把系统资源耗尽。

结果就是 12 核的 Ryzen 9 3900XT 负载波动有点厉害,一时占用 100%,一时占用就掉到 20%,当然这是程序的问题,而 32GB 的内存是真的被吃光了,SSD 的写入量非常大,但读写性能不足以造成瓶颈。

在观测一段时间后我准备停下这任务的时候悲剧发生了,手贱点了下密匙,然后进入了一个没有后退键的界面,平时点击最上方的 " 公共指纹为 *****" 的按键是可以退回住界面的,但 P 盘过程中点进去只会转圈圈,根本无法回到主界面,此时你只能等它 P 完,然而我刚才乱来的设定只会把缓存盘塞满,是不可能完成的,除了强行关闭程序外没别的办法,所以绝对不要在 P 盘过程中点那个密匙,这程序有 bug!

把程序关了之后我认真算了一下,2TB SSD 的实际可用空间是 1.81TB,可用并行 7 个 K=32,而 32GB 的内存可以吃满的话继续堆就好了,我们手头上容量最大的那套内存是 16GB*8 的芝奇皇家戟,索性直接把 HEDT 平台搬出来好了,最后真正用来 P 盘的系统变成了 18 核的 Core i9-10980XE,128GB 内存,缓存盘还是技嘉 AOURSU Gen4 7000s 2TB,目标 HDD 是西数的红盘 6TB。

这次正式 P 盘的时候刚开始的时候我排了 7 个 K=32 的队列,随便分频了下 CPU 线程与内存,基本上算果可以把资源耗尽的,但实际开始后只有两个队列是真的在动,其他的都卡在 1%,经过两小时后没任何动静,我决定把 5 个不会动的序列删了,加了 3 个 K=33 队列,在确认这三个队列都能动后就放一边不管了。

第二天回来上班查看 HWInfo 记录的日志,生成一个 K=32 文件大概需要 6.5 小时,K=33 文件开始时间没有记录,所以不太清楚到底花了多少时间,生成三个 K33 两个 K32 文件总共占了 829GB 的硬盘空间,而 HDD 的写入量是 840.1GB,但 SSD 的读写非常厉害,整个 P 盘过程,SSD 读取 11.8TB,写入 12.06TB,看到这个写入量我就头痛,因为 SSD 的写入次数是有限的,把这个 6TB 的红盘 P 满虽然不至于把 SSD 写死,但磨损也很厉害。

然后看了下内存占用量,最高是 42.6GB,所以插 64GB 其实就够了,CPU 最高占用率是 97%,但基本上大部分情况下都是很空闲的。看了下剩下这么多内存可用,我都了歪脑筋,干嘛不用 RamDisk?

但除非你插满 256GB,否则也别指望能完全用 RamDisk 来 P 盘,最初尝试的时候我发现 Chia 的软件是可以指定两个缓存盘的,所以我划分了 110GB 的 RamDisk 盘做主缓存盘,SSD 做备用缓存盘,这样来试了 P 一个 K=32,结果就是这软件远没有我想象中那么智能,RamDisk 用光后就直接卡在那里不动了,没有自动跳转使用备用缓存盘。最终是用了混合模式用内存 +SSD 组合出了一个 300GB 的 RamDisk 盘。

效果还是蛮好的,P 一个 K=32 的文件产生了 1401110MB 的写入量,而实际写到 SSD 里面的只有 859561MB,内存帮 SSD 抵消了 39% 的写入量,相当于延长了它 39% 的寿命。然而这样做的局限性很大,因为这样每次只能 P 一个 K=32,而且时间并没有快多少,想高效率 P 盘还是得同时并行多个才是最好的。

P 完这个 K=32 后我就停手了,因为每 P 一个对 SSD 的损耗太大了,以 K=32 为例,对 HDD 的写入其实就 101GB,但 SSD 的写入量是 1.33TB,差不多是 13.5 倍的写入放大,简直是谋杀 SSD。

说真的这个 Chia,普通人玩下无所谓,通常来说写满一两个 HDD 也不至于把 SSD 写死。但对于矿工来说选择只有两个,一个就是把 SSD 当作消耗品,写死一个就换一个,二就是买的企业级的 SSD,MLC 或者 SLC 这种耐久度高的比较适合,当然最佳选择是 Intel 的傲腾,这个几乎可以忽略寿命的东西是最好的选择。

我跟一个挖矿的朋友讨论过这个 Chia,其实挖 Chia 的投入可能不比用显卡挖 ETH 低,挖 ETH 的话用专用矿板可以一块连多张显卡,但这个 Chia 你想 P 盘快的话得有高性能的 CPU,大容量的内存和高寿命的 SSD,还需要一堆硬盘,普通主板的 SATA 口数量最多就 8 个,所以你还得去买阵列卡来增加 SATA 口数量。

最适合做 Chia 矿机的其实是数据中心服务器,但这东西太贵了,普通人玩不起,但云服务运营上手上是有现成的设备,如果某日 Chia 真的起来了,他们觉得有利可图入场的话,全网大小肯定直线飙升,到时候想挖 Chia 就真的难了。所以我对 Chia 的态度就是,玩一下可以,但是否值得投入就真得慎之又慎。

来源:超能网