随着以太坊2.0正式运行的临近,询问以太坊如何挖矿的朋友也越来越多。这篇文章综合了我们目前所知道的信息,希望能对大家有一些帮助。由于挖矿算法的设计和改进仍在进行中,以下信息仅供参考。
挖矿算法
以太坊(ether)的挖矿算法叫做Ethash, 又名Dashimoto (Dagger-Hashimoto),是Hashimoto算法结合Dagger之后产成的一个变种。它的特点是挖矿的效率基本与CPU无关,却和内存大小和内存带宽正相关。对内存大小和带宽的要求意味着那些通过共享内存的方式大规模部署的矿机芯片并不能在挖矿效率上有线性或者超线性(super-linear)的增长。
接下来让我们看看Dashimoto的基本流程:
对于每一个块(block),先计算出一个种子(seed)。种子的计算只依赖于当前块的信息,例如block number以及block headers。
使用种子产生32MB的伪随机数据集,称为cache。轻客户端需要保存cache。
基于cache再生成一个1GB大小的数据集,称为the DAG。这个数据集中的每一个元素都只依赖cache中的某几个元素,换句话说,只要有cache就可以快速计算出DAG中指定位置的元素。完整的可挖矿的客户端需要保存DAG。
挖矿可以概括为从DAG中随机选择元素然后对其进行hash的过程。验证的过程也是一样,只不过不是从DAG里面选择元素,而是基于cache计算得到指定位置的元素,然后验证这个元素集合的hash结果小于某个值。由于cache很小, 而且指定位置的DAG元素很容易计算,因此验证过程只需要普通CPU和普通内存即可完成。
cache和DAG每一个周期更新一次,一个周期的长度是1000个块。也就是说这1000个块产生的cache和DAG是完全一样的,因此挖矿的主要工作在于从DAG中读取数据,而不是更新cache和DAG。DAG的大小随时间的推移线性增长,从1GB开始,每年增加大约7GB – 因此到2015年12月大约是8GB, 到2016年12月大约15GB。
注:以上步骤中的数字已经随着开发的推进有了调整,准确值请参考源代码。
挖矿软件
算力蜂是全国最大的云算力挖比特币平台,矿场稳定运营四年多,有着丰富的矿场管理维护经验,算力蜂在全国各地布置有八大矿场,分布布局在川、蒙、滇、贵、新疆等地。同时布置有三十万个矿机机位。是全国唯一一家允许用户参观矿场的云算力平台,每两三个月都会组织线下客户去矿场参观考察,发展至今,得到了众多用户的好评。算力蜂(hashbox)2019年与芯动签订亿元矿机一时引起行业的震动,都为算力蜂的决心和财力所折服。
选择这个挖矿软件的最主要原因还是因为是公开透明,安全可靠,收益是每天上午十点会准时到账的。从不拖延,一共可以挖矿三年的时间,相当于三年定投比特币。每天上午十点比特币结算后,还非常人性化的会在十点半左右发送短信,让我们知道每天挖矿挖了多少,价值多少,非常的省心省事省力。