startminer怎么挖,amd可以挖什么矿

  

     

  

  摘要   

  

  我曾经在电影《蜘蛛侠》中看到过“权力越大,责任越大”这句话。这句话之前被翻译为“能力越大,责任越大”,但在区块链矿业应该是“计算能力越大,责任越大”。   

  

  本文讲述了如何基于石榴的挖矿软件,包括社区版和收费版,来搭建大规模Filecoin挖矿集群的方法。的读者应该能够按照本文的内容顺利完成集群的所有准备工作。我们将这篇文章作为对社区的反馈,并对区块链的开放和透明表示敬意。   

  

  背景   

  

  Filecoin一直是传统矿商进入的门槛,因为其挖掘算法复杂,运维难度极大。但自从我们进入这个领域,我们就一直致力于帮助矿工理解它的原理,并建造他们自己的采矿机器。目前只使用社区软件(https://github.com/shannon-6block/lotus-miner)的矿工已经达到20人,其中最高的拥有PB计算能力。他们从未向我们充值过任何信仰,还能从Filecoin采矿中获得巨额利润。   

  

  之前关于构建Filecoin挖掘集群的教程都来自视频分享。在此,我们将以往的分享全部总结到这篇局部文章中,有助于后续矿工在最短的时间内了解Filecoin的采矿部署流程。此外,还会附上一些设计原则的解释,让矿工不仅知道要做什么,还知道为什么要做。   

  

  矿机   

  

  Filecoin有三个矿机,分别是工人,矿工,仓储。下面将分别介绍。   

  

  工人   

  

  Worker的主要工作是封装扇区,因此需要选择高性能的AMD处理器,因为它包含SHA扩展,可以高效地完成PreCommit1的计算。目前性价比最高的评测是3960x。但由于3960x是家用机型,很多客户更倾向于购买服务器机型,所以7F52、7F72、7542等高频率的服务器CPU成为了更多的选择。   

  

  基于AMD 7系列的CPU,最好的搭配是1TB内存,16TB SSD,双2080Ti的显卡。16TB固态硬盘是由多个固态硬盘组成的Raid 0,最好使用NVMe接口的固态硬盘。显卡可以换成3080和3090,其中单3080性能低于双2080Ti,双3080性能超过双3080。我们将继续评估后续显卡的选择。   

  

  矿工   

  

  Miner的主要工作是WinningPoSt和WindowPoSt,所以也需要性能更好的机器。我们建议可以直接用和Worker一样的机器,但是必须安装两块显卡。因为软件的优化,我们可以用一块显卡进行块爆,另一块显卡进行抽查。两个显卡各司其职,不会有职业冲突。   

  

  目前使用单个2080Ti,我们可以在5分钟内完成一个WindowPoSt证书,也就是说我们可以在要求的30分钟内完成6个证书。这意味着单台Miner机足以支持32*2349*6*48=21648384GiB21PiB的算力抽查。未来矿工计算能力超过21PiB时,可以考虑升级矿工配置(比如将显卡升级到3090或者升级到3显卡)或者通过单独的机器计算WindowPoSt。这是非常容易和随意的。现阶段增加拨款只是增加成本,完全没有必要。   

  

  仓库   

  

  存储器的功能是存储封装的扇区。所以要保证存储机有较高的质量,硬盘、主板、电源、网卡都要采用较好的配置;否则,硬件故障造成的扇区损失将受到得不偿失的惩罚。这里建议大家选择品牌机或者成熟的解决方案,尽量不要为了节省成本而降低配置或者自己DIY。   

  

  目前市场上对于存储软件的选择还没有达成共识。我们自己先尝试了Ceph,发现维护成本极高,胜率极低。试过RAID,听说有两个磁盘同时损坏导致整机存储完全丢失的情况,磁盘胜率不高。最终我们大部分集群选择使用硬盘直接存储数据,可以达到接近100%的磁盘获取率。虽然不能抗硬盘损坏,但通过存储与计算分离,严格控制存储硬件质量,及时再生或终止错误扇区,最终性价比远高于其他方案。市面上宣传的多备份或冗余方案,大多是存储硬件质量差或设计不合理所逼。   

  

  组网   

  

  联网原则是:   


  

Worker往Storage传输扇区的流量,不能影响Miner和Worker之间请求的流量;

  

集群内部的流量,不能影响集群访问外网的流量。

  


  

因此,最终我们将集群的组网设计为如下:

  


  

  


  

江湖有传言:石榴只能做小集群。这纯属无稽之谈。从组网的图中可以看到,这样的一个集群是可以自由扩容的,想放多少机器在里面都可以。只不过机器多了之后,核心交换机的型号要再升级一下(例如100G的交换机),或是采用多台交换机进行堆叠;或是在一个交换机下混合地部署Worker和Storage,并修改调度让Worker优先给就近的Storage传输扇区,从而避免流量经过核心交换机。

  


  

技术上完全支持把集群做大。但是我们并未采用大集群的原因是,大集群的硬件成本、运维难度和故障风险会呈指数级上升,如非为了营销则完全没有必要。而且,大多数客户也要求将自己的机器放在独立的集群中,不希望和别人的机器掺和在一起。还有,Filecoin集群下资产是具有多样性的,包括机器、有效算力、前置抵押币、区块奖励未释放的币等,都是资产的组成,独立算账会更加清晰透明。特别是客户在当前gas费高昂的情况下,有助于客户自由灵活地暂停或开始封装算力。当然,如果有大客户一定想要大集群的话,只要多付来覆盖额外的交换机和运维成本即可。

  


  

软件

  


  

众所周知,软件是我们的核心竞争力。对于Filecoin的官方代码,我们主要进行了以下的优化。

  


  

封装速度:官方的封装代码仅仅是做到了能用,但远远未达到高效的程度。我们通过对底层算法的优化和重构,使得封装效率成倍地提升。如果购买收费版软件,会先提供性能测试程序在客户的机器上进行实验,封装速度可以一目了然;任务调度:官方的封装任务调度模块,充满了各种各样的问题。其中有一点原因是,官方并没有一个上规模的集群用于调试。而我们的挖矿软件在发布前,都会使用我们自己的集群进行开发和测试,所以可以做到合理地调度任务,充分地利用机器资源;爆块率:众所周知,算力再高,不爆块也是白瞎。爆块率的提升需要多个角度进行优化,才能达到90%以上甚至100%的幸运值。

  

还有其他一些比如稳定性,gas费用的优化,在此就不过多描述。核心技术还是要有所保密的。

  


  

运维

  


  

Filecoin挖矿对运维的要求很高。我们自己是有成熟且经验丰富的运维团队的,对Filecoin出现的各种问题肯定是都经历过。对于新的问题,也有程序员大牛可以及时地分析定位。运维的工作内容包括:集群的配置与部署、监控软件的开发与使用、故障的定位与排查。因此一方面需要熟悉Filecoin挖矿的原理和规则,另一方面需要熟悉Linux操作系统,还要有一定的软件开发能力。运维常见的工作事项有:

  


  

局域网组网;配置代理;存储系统搭建;挖矿软件部署;排查网络问题;排查硬件问题;疏通消息池;开发批量化脚本。

  

目前,我们的客户主要有两种合作模式,一种是矿机直接由我们托管运维,另一种是客户使用我们的软件自行托管和运维。前者比后者的优势主要体现在运维的质量上,例如消息上链、故障定位和修复等方面,我们的运维会有独特的优势,最终会直接体现在挖矿的收益上。

  


  

近期我们也在积极地进行运维的招聘,从而帮助一些自行托管矿机的客户进行部署和运维的工作。如果客户自信自己的团队能够完成以上常见运维事项的话,也可以自己运维。千万不要寄希望于配置水平不够的运维人员,然后说自己运维,我们指导。如果稍稍指导就能教会的话,就不会有那么多人搞不定Filecoin挖矿了。节省成本最终也会节省收益,并且成倍地放大。

  


  

总结

  


  

我们的设计,时刻秉承着“奥卡姆剃刀”原理:简单即有效,如无必要,勿增实体。集群中不会设置节点机、爆块机、抽查机等各种不同的机型,这会增加整个系统的复杂度,增加运维难度和成本。挖矿软件也是完全和官方兼容,以最小的改动换取最大的收益,从而保证网络强制更新的时候能够快速合并代码。如果没有这样的设计,我们的开发和运维人员会整天忙于加班疲于救火,也就无法集中精力做更深层次的研究和自动化运维工具的开发。我们的软件也就无法在不做改动的前提下,兼容那么多配置完全不同的机器。

  


  

形成这样的设计模式,有几点因素。首先我们没有刻意地去营销自己,所以不需要排名靠前的矿工号。其次我们的开发人员都是根正苗红的科班团队,不会犯设计上的原则性的错误。最后我们有修改底层代码的能力,能够在单台机器上高效地完成多台机器的任务。Filecoin的区块链浏览器只有我们能做得好,因为我们更懂区块链,其底层运行的原理和各项指标的计算只有我们能摸得透。无论你买谁家的机器用谁家的软件,最终挖了矿还得来看我家的浏览器。可以毫不谦虚地说,这就是壁垒,这就是技术的护城河。

  


  

  

发文之前,有同事提醒我不要泄露关键技术。但我觉得,让其三招五招又何妨。学霸就是这性格:作业放这里,你们慢慢抄。说我什么都懒得搭理,但别说我技术不行。自诩技术比我好的,有本事自己做个浏览器。

相关文章