全面分析以太币挖掘机制


随着以太坊正式运营的临近,越来越多的朋友问如何挖掘以太坊。本文结合了我们目前所知道的信息,希望对您有所帮助。由于采矿算法的设计和改进仍在进行中,以下新手投机的基本知识风险仅供参考。

1.jpg

设计目标

抵抗矿机(ASIC Resistance)。即使使用普通芯片,使用优势也应尽可能小CPU采矿也能产生收入。

轻客户端可以验证。轻客户端应该有能力验证每个块的真实性。目标是在普通桌面电脑上运行C验证算法的验证时间小于0.01秒,用Python或者Javascript小于0.使用内存不超过1秒MB。

挖矿算法

以太币(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月8日左右GB,截至2016年12月15GB。

注:随着开发的推进,上述步骤中的数字已经调整。请参考源代码。

挖矿软件

我们预计在上线时至少有两种挖掘方法:

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

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

QUAN币/Quantis Network是什么?QUAN介
上一篇 2023年06月18日
IETH是什么币?IETH货币官网总量及上架交易所介绍
下一篇 2023年06月18日
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 liqiaoqiant@qq.com 举报,一经查实,本站将立刻删除。

相关推荐