主页 > imtoken怎么注册 > 以太坊挖矿专用asic芯片,以太坊的挖矿机制

以太坊挖矿专用asic芯片,以太坊的挖矿机制

imtoken怎么注册 2023-01-17 08:26:36

ASIC芯片支持挖矿的币种有很多,以太坊挖矿就是其中之一。以太坊主要生产加密货币以太币,但由于挖矿过程中存在一些不足,而ASIC芯片正好弥补了这一点,有消息称以太坊挖矿将使用特殊的ASIC芯片。小编给大家介绍一下以太坊的挖矿机制。

设计目标

ASIC 阻力。使用经过特别优化的芯片的挖矿优势应该尽可能小,小到即使使用普通 CPU 挖矿也能产生利润。

asic芯片挖矿

轻客户端是可验证的。轻客户端应该有能力验证每个区块的真实性。目标是在普通台式机上运行用C实现的验证算法asic芯片挖矿,验证时间小于0.01秒,使用Python或Javascript小于0.1秒,内存占用不超过 1MB。

挖掘算法

以太(ether)的挖矿算法称为Ethash,也称为Dashimoto(Dagger-Hashimoto),是Hashimoto算法结合Dagger的变种。其特点是挖矿效率基本与CPU无关,但与内存大小和内存带宽正相关。内存大小和带宽要求意味着通过共享内存大规模部署的挖矿芯片在挖矿效率上并没有线性或超线性的提升。

asic芯片挖矿

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

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

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

asic芯片挖矿

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

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

缓存和DAG每周期更新一次,一个周期的长度为1000个块。也就是说这1000个区块生成的缓存和DAG是完全一样的,所以挖矿的主要工作是从DAG中读取数据,而不是更新缓存和DAG。DAG 的大小随时间线性增长,从 1GB 开始,每年增加约 7GB - 所以到 2015 年 12 月约为 8GB,到 2016 年 12 月约为 15GB。

asic芯片挖矿

注:上述步骤中的数字随着开发的进行而有所调整,具体数值请参考源码。

挖矿软件

我们预计在发布时将至少有两种挖矿方法:

asic芯片挖矿

使用 Mist 客户端(官方客户端实现,基于 Go 语言)进行 CPU 挖掘。

通过以太坊守护进程(eth daemon)和 sgminer 的组合进行 GPU 挖掘。daemon 和 sgminer 之间的数据通信可以通过 JSON-RPC API 完成。目前有两个与挖矿相关的 API:eth_getWork 和 eth_submitWork。

芯片的质量在采矿过程中起着重要作用。ASIC 是许多数字货币的热门目标。以太坊抓住了这个机会,专门推出了ASIC芯片,赢得了很多人的喜爱。吸引更多新用户。除了以太坊的挖矿机制,更多的挖矿机制等着大家关注伟峰去发现和了解。