初识 Chia 网络挖矿

相信咱们比照特币 / 以太坊等币种的挖矿早已十分熟悉。所谓挖矿,其背面的原理是一致问题。许多矿工参加挖矿当然是为了获取虚拟钱银,进而取得赢利。但究其实质,挖矿的目的是为了保护一整张分布式核算网络,保护一致。而分配给矿工的虚拟钱银仅仅这一进程的奖赏罢了。

依照中本聪的设想,运用群众家里的电脑 CPU 搁置算力就能够构筑起一个强有力的分布式网络。可是跟着 ASIC 矿机的呈现,这种运算能力很容易被专用矿机获取,从而成了资本的游戏。而且能源价格也明显的影响着比特币的算力。

依据 Chia 的白皮书,Chia 项目的愿景是「数字世界的绿色钱银」。在其规划之初,对挑选算力根底的方针是「一种分布广泛、抗 asic、供应过剩的商品」,而且与电价无关 - 这便是硬盘空间。(广义的说也包括众多形态的核算机存储设备,只需能供给最低 600MiB 的容量——这是 Chia 挖矿软件能供给的最小 plot 文件,但十分不经济,且在最新的完结中已不被支撑,但仍是能够当作测验效能的东西)。

截止本文写作时,依据 Chia 全网的算力预算其总耗电功率还不到 1000KW。比较 BTC 实属天差地别。

都是挖矿,Chia 有何不同?

简而言之,Chia 的挖矿进程好像菜票开奖。参加挖矿的矿工应该提早预备好被称为 plot 的文件,然后等着下一个区块的播送。这些文件里的内容和播送中的内容都是哈希值。哪个幸运儿手中的哈希值与播送中的最接近,祝贺,他就中了奖,取得了 XCH 代币。

依照 Chia 网络的规划,在主网上线的前三年,每 10 分钟的产出是 64 个 XCH,由 32 个矿工分享,即每个矿工每天有 4608 次中奖时机,随后分批递减。

预备 plot 文件的进程实质便是核算出巨量的哈希值,存储于磁盘上。官方供给的钱包程序即可完结这种核算进程。钱包客户端一起附带了命令行界面的程序(CLI),可供矿工编写脚本灵敏运用。

为了进步中奖的概率,矿工天然应该预备越多 plot 越好。Chia 网络的算力单位便是存储单位,即 MB/GB/TB/PB 等。注意官方运用的单位为带有小写 i 的如 GiB,其含义是以 1024 为进位,而非硬盘厂商运用的以 1000 为进位。所以当你看到默认参数说发生一个 plot 需求 239GiB 缓存空间就窃喜以为 1T 的硬盘能够一起进行 4 个 plot 的时分,先别快乐太早,由于 239GiB 约等于 251GB,而 1T SSD 其实只要 930 多 GB 的实践容量。当然,经过实践摸索,1T 的 SSD 也彻底是能够一起进行 4 个 plot 的,只不过需求参数设置上的一点小技巧。

了解过 Filecoin 挖矿的朋友或许会觉得 Chia 挖矿十分相似,从某种程度上的确是这样。二者都需求许多的存储设备,并在都需求在正式进行挖矿之前进行预先的预备作业,才能够生成有用算力,在 Filecoin 中这步被叫做数据填充,而在 Chia 中被叫做 Plot,或许更群众的叫法-P 盘。不过 Filecoin 挖矿对设备的要求极高,并不仅仅堆砌存储设备就能够,远远超出了群众运用领域,一起还有十分复杂及贵重的前置典当等要求。而 Chia 的要求十分亲民,没有典当、没有惩罚机制、用个人 PC 就能够进行操作,这是 Chia 敏捷火遍大江南北成功破圈的原因。

不过 Filecoin 和 Chia 的对存储空间的运用逻辑并不相同,Filecoin 挖矿实质上是关于供给分布式存储的一种鼓励,而 Chia 则是朴实用这种特别的机制来保持网络一致。

Chia 挖矿进程极简解析

从 4 月中旬 Chia 爆火以来,许多急不可耐的矿工现已或正在预备买硬盘,想大干一场。从已有的社区评论来看,为数众多的核算资源并未得到充分运用。所以,很有必要了解一下 Chia 挖矿的要点,并针对自己的条件加以优化,才能做到高效挖矿。

Chia 的挖矿进程并不是有大容量硬盘就行。有两部分缺一不可:制造 plot 文件(一般简称 p 图,由于官方把 plot 翻译为耕地)和挖矿(官方翻译为耕种)。

关于 Chia 来说,挖矿这一步其实是十分轻松的行为,重要的是容量,而不是速度,乃至对挖矿的主机也低到简直没有任何要求。官方乃至引荐用一只几十美元的树莓派加上数个 USB Hub 即可带动高达 1PB 的算力。究竟,挖矿的进程便是等着网络播送来一串数字,然后跟硬盘里的哈希值比较一下就能够了。哈希的比较运算是极快的,并不需求把数以 T 计的数据读进内存进行什么运算。

这也的确契合 Chia 的起点——绿色。任何人都能够运用搁置的存储容量参加 Chia 网络。挖矿简直没有额定耗费能源,只需开着机,连着网络,就能够享受每天 4608 次的抽奖,而且是永久的,这很美好。

可是实践上,制造 plot 的进程仍是相当耗费资源的,仅仅耗费的并非电力,而是 SSD。高速大容量固态硬盘成为了真实的耗费品。这要归功于(是归功仍是归咎,且看对存储职业的影响吧) Chia 规划的核算机制。为了最终抵达既能供给 Proof of Space 证明,又能足够快的进行检索这一方针,Chia 制造 plot 的进程实践上分为四步:

  1. 核算生成 7 张哈希表,主要运用的算法是前向传达。这一步要处理许多的运算,占用 CPU 最为密集。其实这一步现已生成了足以支撑 Proof of Space 的悉数数据,只不过功率欠佳,所以还需求后续步骤处理。

  2. 用反向传达算法来清理一遍上面的 7 张哈希表,去除不必要的哈希值,并给表排序。这一步占用 CPU 也较为密集,在 1.03 及更早的版别上对内存和缓存盘的占用也抵达顶峰,但 1.04 开端对内存占用下降。

  3. 对上一步的结果进行紧缩,并将大部分表兼并起来。从这一步开端,对 CPU 的耗费降到了较低水平,对内存的占用仍保持在高位,但缓存盘的占用开端逐步下降。

  4. 把剩余的表持续紧缩成最终的文件格局,并把文件从缓存盘转移到方针方位。这一步是唯一对方针磁盘进行 IO 操作的。

需求指出的是,Chia 的 plot 文件制造、挖矿、节点保护等作业统统由其钱包软件完结。该软件仍然在不断改善,迭代速度较快。在曩昔几个小版别中,其现已在缓存占用、速度核算等方面有了很大改善。Reddit 论坛上有网友记载了不同版别软件 (1,2) 在制造 plot 进程中的各项资源占用状况,比照能够发现,1.04 版比较更早版别现已削减了近一半的缓存运用量。主张总是运用官方 github 的最新版。

怎么挖?

关于大大都矿工,要处理的首要问题是榜首步,即怎么又快又省的制造 plot 文件。

这一进程需求运用 Chia 钱包软件。Chia 的规划初心其实很简单,而且绝大大都不流畅难懂的参数都在开发进程中经过的当心的挑选,确保现已是最优值。剩余的,就仅仅每台电脑的功能差异带来的时刻不同罢了。但恰恰便是这样的功能差异,构成了天壤之别的生态。一边是业余玩家想要买几块硬盘来试水,另一边是手持资金生怕错过风口的大鳄在急迫的问询「一千万资金该买什么装备」。在这背面咱们关心的都是同一个问题:能抢在全网算力较低的头矿窗口期挖到多少币?究竟,依照 Chia 社区保护的统计数据,相同的一次 plot 进程,万元以内的电脑装备,有人能够 4 个小时以内完结,有人却需求 24 小时以上,这样的算力差异天然会体现在取得奖赏数的较大不同。

对此,咱们的主张如下。

假如你是业余玩家,主要依托一两台搁置的电脑,最多额定买几块硬盘,那么简直不用操心,彻底用默认参数即可。假如愿意多付出一点时刻研究,最好多试验几回并发数,看几个并发最有用。更进一步的话,能够在 plot 进程中调查一下 CPU、内存、磁盘 IO 的占用状况,哪项资源呈现了瓶颈,则略微削减其分配,反之亦然。

几 个十分有用的小技巧:

  • 根据上节论说中引证的 Reddit 网友记载图,各项资源在不同的阶段运用率是各不相同的,这就意味着与其寻求并发数,不如科学分配推迟时刻,使得各项资源总处于较高的运用水平。让若干个并发使命互相推迟一瞬间再开端,这不仅意味着 CPU 和内存能够得到较好运用。在 1.04 版软件发布之初,网友就试验成功了经过设置推迟 6 分钟,成功在 1T SSD 缓存上并发运行四个 plot。考虑到实践顶用一般机械硬盘做方针盘的状况较为遍及,而机械硬盘的 IO 功能较弱,推迟时刻还能够防止多个大文件一起竞争机械硬盘的 IO。

  • 制造 plot 的进程虽然有 CPU 和内存密集的运算,但过多分配 CPU 核数和内存数并无显着改善。假如你有一台 16G 内存,8 核 16 线程的电脑,没必要把内存和线程都分配给一个 plot 使命。

  • 关于个人矿工,参照现在的全网算力,仅靠钱包软件自行挖矿(俗称 solo 单挖)现已十分不实践了。当然,如前所述,Chia 的挖矿类似于抽奖行为,哪怕只要一注,理论上也有或许获奖。但从更实践的视点,个人矿工主张参加矿池从而取得更可预期的产出。

要铭记一点:家用电脑的民用级 SSD 寿数遍及为几百 TB 擦写量。依照 Chia 官方文档指出,每制造一个 0.1TB 的默认参数 plot 文件,实践构成的擦写量约为 2TB,即 20:1。这意味着一块擦写寿数为 500TB 的民用 SSD 最多能出产出 25TB 的算力就会寿终正寝。*这也是官方激烈不主张在笔记本电脑内置的 SSD 上进行 plot 的原因。

假如你是雄心勃勃入市的准新矿主,那么咱们的主张是购买一些高功能机器专门用作出产 plot 文件,一起再配备少数的低功耗机器专门用作挖矿。为了高效运用资金,并没有必要购买高功能整机,最好是按需建立。假设没有功耗、尺度、噪音等约束,那么运用全尺度主板建立开放式的主机较为抱负。Empower Labs 以为在相当长的时刻内,投入数万元至数十万元本钱建立 Chia 小型矿场的做法会较为盛行。依据 Empower Labs 的剖析和与业内人士穿插验证,有如下主张:

  • 制造 plot 所需求的核心资源有 CPU、内存、SSD 三部分,需求尽量均衡。

  • 在 CPU 方面,由于榜首、第二阶段存在的密集操作,CPU 需求有尽或许高的主频。其次,为了一起进行多并发使命,核数也需求多。一部分矿工挑选了二手多路 E5 体系却发现功能并不尽如人意,其原因在于核数虽多,主频却不高。

  • 内存方面,plot 进程耗费的并不算多,而且跟着软件版别迭代一向有所降低。据实践调查,在 1.03 版中,单个 plot 进程占用的内存约为 4.6GB,而 1.04 和 1.05 版最多不会超过 3.5GB。假如并发使命彼此之间有少量距离时刻,并不会一起抵达内存占用顶峰。合理设置的话,以并发数 *3G 乃至更少彻底可行。现在并未调查到 DDR 内存的频率会发生较大影响,所以无需刻意寻求高频。

  • SSD 方面是差异较为明显的,应首选企业级大容量 SSD,兼顾功能和寿数来挑选。企业级 SSD 的寿数多以 PB 计,能够更快产出更多的 plot,平摊本钱更低。现在最佳功能的 SSD 多采用 U.2 接口,并非民用级主板常见的 M.2 和 SATA 接口,这也约束了主板的挑选。当然挑选 U.2 转为 PCIE 16X 接口的转接卡也是合理选项。

  • 除了 SSD,服务器主板上常见的 SAS 硬盘接口也是很好的挑选,特别是当你能够获取足够的 SAS 硬盘时,以 RAID 卡组成磁盘阵列,经验证作用往往比单一 SSD 更好。

  • 在操作体系方面,并不必定要选 Windows。Mac 和 Ubuntu/CentOS 等 Linux 体系自身占用的资源更少,而且 Chia 官方钱包均已支撑。假如计划进行长时刻不间断的出产,最好运用命令行界面(CLI),而非图形界面的 plot 程序。Chia 钱包的图形界面其实也依托调用命令行程序来完结 plot。以 Windows 为例,命令行程序位于 C:\Users_XXXXXXXX_\AppData\Local\chia-blockchain\app-1.0.x\resources\app.asar.unpacked\daemon\chia.exe。其中_XXXXXXXX_是你的 Windows 当时用户名。现在钱包 GUI 程序常常会呈现不稳定的状况,而且钱包程序自身负担着全节点的同步使命,也会耗费 CPU。所以,CLI 是长时刻挖矿的更佳挑选。

官网及社区评论中揭示的信息

经过对官网文档的深度发掘,以及参阅了许多国内外 Chia 社区的评论,发现有一些有价值的信息尚未广为人知。

关于-r 的挑选

-r 参数是 chia 命令行程序中指定最大 CPU 线程数的参数。在许多评论中,矿工倾向于以为越大越好。可是经过深入发掘,咱们发现并非如此。

依据 Chia 的 Github 评论,-r 参数仅仅在 plot 的榜首阶段,即生成哈希值时起作用。理论上,假如设置-r 6,那么最佳结果是 6 个 CPU 线程都 100% 参加作业,这一阶段的总 CPU 数应为 600%。但实践上 CPU 的参加程度远小于此。

在咱们的试验中,运用了 i7-8700 CPU,设置-r 6 独自进行一个 plot,从 chia.exe 的日志中能够看到如下输出:

Starting phase 1/4: Forward Propagation into tmp files... Mon Apr 19 17:22:22 2021Computing table 1F1 complete, time: 172.346 seconds. CPU (183.87%) Mon Apr 19 17:25:15 2021Computing table 2Forward propagation table time: 964.964 seconds. CPU (312.470%) Mon Apr 19 17:41:20 2021Computing table 3Forward propagation table time: 1179.445 seconds. CPU (281.610%) Mon Apr 19 18:00:59 2021... ...

日志表明,在 7 张表的核算进程中,CPU 的总运用程度仅为估计的一半不到。经过屡次试验,进步-r 数能够必定程度进步 CPU 总运用率,但并不显着。因而咱们以为 CPU 方面,主频是最影响 plot 速度的关键,而非核数。

当然,更高效的做法是并行进行多个 plot 行列。上述问题揭示的意义在于,首要-r 参数并非独占,其次-r 参数的作用周期较短。最佳做法是经过试验掌握榜首阶段耗费的时刻,经过设置距离来避开,使得每个并行使命在履行到榜首阶段的时分,总能经过较大的 r 值来尽或许独占 CPU。

关于-b 的挑选

-b 参数是指定最大内存运用量的参数。大都矿工以为越大越好,实则不然。比照 1.04 和更早的版别,plot 进程中的内存运用顶峰从第二阶段变化到了榜首阶段,这是由 Chia 团队的算法改善引起的。

现在,默认参数-b 3390 现已是反复优化过的参数,能够确保在排序进程中总是采用功率最高的 uniform sorting 算法。假如降低这一参数,plot 依然能够进行,但或许会回落到功率相对较低的 quick sorting 算法。从下列日志中,咱们能够清楚的看到这一记载。当可用内存数小于 qs_min 时才会导致彻底失败。

Forward propagation table time: 2086.329 seconds. CPU (217.460%) Fri Apr 23 19:04:01 2021Computing table 4Bucket 0 uniform sort. Ram: 5.786GiB, u_sort min: 3.250GiB, qs min: 0.813GiB.Bucket 1 uniform sort. Ram: 5.786GiB, u_sort min: 3.250GiB, qs min: 0.813GiB.Bucket 2 uniform sort. Ram: 5.786GiB, u_sort min: 1.625GiB, qs min: 0.812GiB.Bucket 3 uniform sort. Ram: 5.786GiB, u_sort min: 1.625GiB, qs min: 0.812GiB.Bucket 4 uniform sort. Ram: 5.786GiB, u_sort min: 3.250GiB, qs min: 0.813GiB.Bucket 5 uniform sort. Ram: 5.786GiB, u_sort min: 3.250GiB, qs min: 0.813GiB.Bucket 6 uniform sort. Ram: 5.786GiB, u_sort min: 3.250GiB, qs min: 0.813GiB.

经过调查,核算处理的七张表中,第四、第五张表是运用内存量最多的,要完结悉数 uniform sorting 的内存最低门槛为 3.250GiB,这也正是-b 3390 要保证的作用。

假如进步内存分配,从日志来判别,内存的实践运用量会略微添加,而且日志总是显现 uniform sorting,即现已是最佳算法,但对时刻缩短并无显着作用。

这意味着即便并行多达 8 个使命,32G 内存的机器也彻底能够担任。

关于-k 的挑选

在社区评论中,k 值一向是个奥秘的存在。依照官方文档说法,人们历来都不需求 k>32,除非为了炫耀,或许硬盘就剩那么一点空间你想填满它。但中文社区的评论好像并未重视过它,大都人以为越大的 k 会带来越大的中奖率,仅仅制造 plot 的时刻添加太多,不划算。现实彻底不是这样。

K 值的大小直接影响着 plot 文件的大小,可是不论 k 等于几,制造出来的 plot 文件都是一票。没错,便是一文件一票。其实,从抽奖的进程也能够判别出,数以 T 计的文件假如需求读取一遍内容才能确定中奖资历的话,10 分钟不或许够用。所以,抽奖的进程明显仅仅在比较文件哈希罢了。

在主网上线之前,k 曾经能够运用更小的值,比方 k=25 时几分钟就能够制造好一个 plot 文件。这意味着拥有强力电脑的人能够轻松的甩开其他人,快速取得许多票数。这也是官方为什么在主网上线前几个月确定了最低允许 k=32。依照官方发布的计划,假如未来摩尔定律持续起作用,制造 plot 文件所需的时刻将不断降低。估计在 10 年今后 k=32 将不再适用,到时官方将会取消 k=32 的抽奖资历,一切 k=32 的文件将报废。

这也提示了预备长时刻持续投入的矿工,在未来某个时分,一切的算力都需求重新制造。而这个时分何时到来,取决于核算机硬件的发展速度。或许这将是推动摩尔定律的重要新要素。

Chia 挖矿面临的痛点

Chia 的火热并不是一天造就的。现实上,Chia 项目从 2017 年就创立了,测验网于 2019 年上线,而主网则是刚刚于本年 3 月 19 日上线。作为历史悠久的明星项目,主网上线、行将登录交易所流通、Chia 实体公司计划短期内上市(特别是有 Coinbase 的珠玉在前)等一系列要素构成了该项目的爆火。爆火带来的明显影响便是硬盘设备的涨价和团体脱销,一起也给 Chia 项目带来了广泛的争议。

毫无疑问,Chia 所努力规划的绿色理念极大的降低了这一区块链项目的参加门槛。正因如此,咱们前文所述的问题都是围绕并不十分复杂的通用硬件和一些软件参数设置。可是作为矿工,当下最大的困难是无法取得足够的低本钱硬盘来构筑算力。咱们从硬盘渠道商处得悉,从硬盘厂商到渠道商对此也深感震动。当时硬盘商场存在着必定程度的囤积居奇。但硬盘厂商和总代一级并未对此感到忧虑。全球硬盘出产能力高达数千 EB(1EB=1000PB) , 远远超过当时用于 Chia 挖矿这一点算力。供货和价格状况将在未来一段时刻内逐步明朗。所以并不主张矿工购买高价硬盘,特别应该当心防止以次充好、以二手充新的状况。

另一个潜在的问题是,虽然制造好的 plot 文件便是永久算力(现在对永久的预期应为十年左右),存储在廉价的机械硬盘即可,但机械硬盘也是有寿数的。怎么应对天灾人祸构成硬盘灭失的状况,当下还未进入大都矿工的考虑规模,但跟着时刻推移,越来越多的矿工会遇到这一应战。当下,应对这一应战的计划好像只能由不断更新存储设备来处理,而这在硬盘供应现状下却成为了不存在或许十分不经济的选项。

Chia 挖矿的收益预期

Chia 的发展速度早已超出许多人的预料,包括 Chia 团队。在白皮书发布时,Chia 团队估计主网上线时的算力将抵达 40~60PB,可是实践上在 3 月 19 日上线的第二天,算力检测显现现已抵达 120PB,而且至今一向保持着指数方式上涨,乃至超过了大都人出产 plot 文件的速度。这对矿工而言并不是一件功德。

截止文章发布之日,Chia 网络的总存储现已抵达了 900PB。这意味着投入 1T 的算力平均每天仅能产出 0.06 个 Chia,而且算力每天都在大幅上涨。按现在的设备价格,自行建立算力挖矿,在不考虑电费运维等开销的状况下,每 T 本钱已抵达 40-50 美元左右。虽然按现在的商场期货价格以及全网算力状况,回本周期十分的短。但全网算力正在急速攀升,30 天后构成的算力每 T 的平均产出或许只要现在的 1/5 乃至更少。如商场在几个月后走入下行周期,很或许新增算力的回本周期会拉长到一年乃至数年。

总结

Chia 挖矿的门槛足够低,关于家用电脑用户来说,即便不进行任何额定出资,仅仅用现有的硬盘资源,制造几份文件,尝试一下参加网络一致,也是不错的体会。一起还能够取得抽奖时机,一年能中一次奖便是几百美元的收入,也相当不错。许多新用户由于 Chia 认识了数字钱银,又在参加挖矿的一起能够对区块链技术有更直观的了解,他们中的一部分必定会挑选进一步深入探索这个世界。这是咱们以为 Chia 挖矿此次破圈给职业带来的最大奉献。

关于有志于参加 Chia 挖矿的专业人士,进场需求评估三个要素。1.XCH 的未来价格走势,2. 全网算力添加曲线, 3. 设备收购价格、周期及运用安排。主张把这三个要素的一切或许变量都考虑到,核算出风险上限,再合理安排资金进场。

最终需求提示,当时在售的大部分矿机是即用作存储挖矿又用来 P 盘,但在 P 盘期结束后会呈现许多资源搁置。假如不进行合理规划,最终的结果或许是买了包含许多内存 CPU 等资源的矿机,结果仅仅榜首个月用来 P 盘,在其他的悉数生命周期都在做一个几十美元树莓派都能担任的作业。跟着咱们逐步意识到 Chia 挖矿的特点,未来 P 盘作业会逐步和挖矿作业别离,构成愈加合理的工业协作。

视野开拓

每个阵营都在指责其他阵营的思维惰性,却同时也暴露出自己思维惰性,相互之间完全是一种“聋子式的对话”。-《21世纪资本论》

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注