以太坊挖矿需要什么 以太坊挖矿算法原理是什么?

入门知识 3个月前 (03-29) 67次浏览 0个评论

虚拟货币是近年来最受关注的事情。虚拟货币是通过特殊的挖矿系统获得的。以太坊是一个非常重要的虚拟货币挖矿系统。最近有人问我以太坊挖矿算法的原理。小编带你了解以太坊挖矿算法的原理。希望小编的内容对大家有所帮助。

以太坊的共识机制是PoW(Proof of Work),使用的算法是Ethash,是Dagger-Hashimoto算法的改进版。流程大致如下:

1.对于每个区块,首先计算一个种子(seed),它只与当前区块的信息有关;然后根据种子生成一个32M的随机数据集(缓存)。

2. 根据Cache生成一个1GB的数据集DAG(有向无环图),是一个完整的搜索空间,挖掘过程是从DAG中随机选择元素(类似于比特币挖掘找到合适的Nonce)然后进行hash操作,可以快速从Cache中计算出DAG指定位置的元素,然后hash验证。

以太坊挖矿需要什么_购买以太坊挖矿机_以太坊挖矿教程

Cache 和 DAG 需要定期更新,每 1000 个块,并且要求 DAG 的大小随时间线性增长,从 1G 开始,每年增加约 7G。

挖矿算法是如何计算的?

以太坊挖矿需要什么_以太坊挖矿教程_购买以太坊挖矿机

以太(ether)的挖矿算法称为Ethash,也称为Dashimoto(Dagger-Hashimoto),是Hashimoto算法结合Dagger的变种。

其特点是挖矿效率基本与CPU无关,但与内存大小和内存带宽正相关。内存大小和带宽要求意味着通过共享内存大规模部署的挖矿芯片在挖矿效率上并没有线性或超线性的提升。

以太坊挖矿教程_以太坊挖矿需要什么_购买以太坊挖矿机

接下来我们看一下Dashimoto的基本流程:

1、对于每一个区块(block),首先计算一个种子(seed)。种子的计算只依赖于当前块的信息,例如块号和块头。

以太坊挖矿教程_购买以太坊挖矿机_以太坊挖矿需要什么

2、使用种子生成一个 32MB 的伪随机数据集,称为缓存。轻客户端需要保存缓存。

3、根据缓存重新生成一个 1GB 的数据集,称为 DAG。这个数据集中的每个元素只依赖于缓存中的几个元素。也就是说,只要有缓存,就可以快速计算出DAG中指定位置的元素。一个完整的可开采客户需要保存 DAG。

以太坊挖矿需要什么_以太坊挖矿教程_购买以太坊挖矿机

4、挖矿可以概括为从 DAG 中随机选择元素,然后对它们进行散列的过程。验证过程是一样的以太坊挖矿需要什么,只是不是从DAG中选择元素,而是根据缓存计算指定位置的元素以太坊挖矿需要什么,然后验证这组元素的hash结果小于某个值。由于缓存小,指定位置的DAG元素容易计算,验证过程只需要普通CPU和普通内存即可完成。

5、cache和DAG每一个周期更新一次,一个周期的长度是1000块。也就是说这1000个区块生成的缓存和DAG是完全一样的,所以挖矿的主要工作是从DAG中读取数据,而不是更新缓存和DAG。

DAG 的大小随时间线性增长,从 1GB 开始,每年增加约 7GB – 所以到 2015 年 12 月约为 8GB,到 2016 年 12 月约为 15GB。

通过小编以上的内容,相信大家也应该知道以太坊挖矿算法的原理了。或许了解以太坊挖矿算法原理后,对比特币的挖矿会有帮助。希望小编的内容对你有所帮助。如果您需要更多信息,请关注微风。我们将为您提供最新最全面的信息。

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址